systemDataLoader.sh 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. #!/bin/bash
  2. # Licensed to the Apache Software Foundation (ASF) under one or more
  3. # contributor license agreements. See the NOTICE file distributed with
  4. # this work for additional information regarding copyright ownership.
  5. # The ASF licenses this file to You under the Apache License, Version 2.0
  6. # (the "License"); you may not use this file except in compliance with
  7. # the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. bin=`dirname "$0"`
  17. bin=`cd "$bin"; pwd`
  18. . "$bin"/chukwa-config.sh
  19. JVM_OPTS="-Xms4M -Xmx4M"
  20. trap 'shutdown' 1 2 15
  21. function shutdown {
  22. echo -n "Shutting down System Data Loader..."
  23. if [ -f ${CHUKWA_HOME}/var/run/Sar-data-loader.pid ]; then
  24. kill -9 `cat ${CHUKWA_HOME}/var/run/Sar-data-loader.pid`
  25. fi
  26. if [ -f ${CHUKWA_HOME}/var/run/Iostat-data-loader.pid ]; then
  27. kill -9 `cat ${CHUKWA_HOME}/var/run/Iostat-data-loader.pid`
  28. fi
  29. if [ -f ${CHUKWA_HOME}/var/run/Top-data-loader.pid ]; then
  30. kill -9 `cat ${CHUKWA_HOME}/var/run/Top-data-loader.pid`
  31. fi
  32. if [ -f ${CHUKWA_HOME}/var/run/Df-data-loader.pid ]; then
  33. kill -9 `cat ${CHUKWA_HOME}/var/run/Df-data-loader.pid`
  34. fi
  35. if [ -f ${CHUKWA_HOME}/var/run/Netstat-data-loader.pid ]; then
  36. kill -9 `cat ${CHUKWA_HOME}/var/run/Netstat-data-loader.pid`
  37. fi
  38. rm -f $CHUKWA_HOME/var/run/chukwa-$CHUKWA_IDENT_STRING-systemDataLoader.sh.pid
  39. echo "done"
  40. exit 0
  41. }
  42. if [ "X$1" = "Xstop" ]; then
  43. echo -n "Shutting down System Data Loader..."
  44. if [ -f $CHUKWA_HOME/var/run/chukwa-$CHUKWA_IDENT_STRING-systemDataLoader.sh.pid ]; then
  45. kill -TERM `head $CHUKWA_HOME/var/run/chukwa-$CHUKWA_IDENT_STRING-systemDataLoader.sh.pid`
  46. fi
  47. echo "done"
  48. exit 0
  49. fi
  50. echo -n "Starting System Data Loader..."
  51. #test=`grep -q SysLog ${CHUKWA_HOME}/var/chukwa_checkpoint*`
  52. #if [ "X${test}"="X1" ]; then
  53. # echo "add org.apache.hadoop.chukwa.datacollection.adaptor.filetailer.CharFileTailingAdaptorUTF8NewLineEscaped SysLog 0 /var/log/messages 0" | nc localhost 9093 >&/dev/null & disown -h
  54. #fi
  55. EXISTS=0
  56. pidFile="${CHUKWA_HOME}/var/run/Sar-data-loader.pid"
  57. if [ -f $pidFile ]; then
  58. pid=`head ${pidFile}`
  59. ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l`
  60. if [ $ChildPIDRunningStatus -ge 1 ]; then
  61. EXISTS=1
  62. fi
  63. fi
  64. if [ ${EXISTS} -lt 1 ]; then
  65. ${JAVA_HOME}/bin/java $JVM_OPTS -DPERIOD=60 -DCHUKWA_HOME=${CHUKWA_HOME} -DCHUKWA_CONF_DIR=${CHUKWA_CONF_DIR} -DCHUKWA_LOG_DIR=${CHUKWA_LOG_DIR} -DRECORD_TYPE=Sar -Dlog4j.configuration=system-data-loader.properties -classpath ${CLASSPATH}:${CHUKWA_CORE}:${HADOOP_JAR}:${COMMON}:${TOOLS}:${CHUKWA_CONF_DIR} org.apache.hadoop.chukwa.inputtools.plugin.metrics.Exec sar -q -r -n FULL 55 &
  66. fi
  67. EXISTS=0
  68. pidFile="${CHUKWA_HOME}/var/run/Iostat-data-loader.pid"
  69. if [ -f $pidFile ]; then
  70. pid=`head ${pidFile}`
  71. ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l`
  72. if [ $ChildPIDRunningStatus -ge 1 ]; then
  73. EXISTS=1
  74. fi
  75. fi
  76. if [ ${EXISTS} -lt 1 ]; then
  77. ${JAVA_HOME}/bin/java $JVM_OPTS -DPERIOD=60 -DCHUKWA_HOME=${CHUKWA_HOME} -DCHUKWA_CONF_DIR=${CHUKWA_CONF_DIR} -DCHUKWA_LOG_DIR=${CHUKWA_LOG_DIR} -DRECORD_TYPE=Iostat -Dlog4j.configuration=system-data-loader.properties -classpath ${CLASSPATH}:${CHUKWA_CORE}:${HADOOP_JAR}:${COMMON}:${TOOLS}:${CHUKWA_CONF_DIR} org.apache.hadoop.chukwa.inputtools.plugin.metrics.Exec iostat -x 55 2 &
  78. fi
  79. EXISTS=0
  80. pidFile="${CHUKWA_HOME}/var/run/Top-data-loader.pid"
  81. if [ -f $pidFile ]; then
  82. pid=`head ${pidFile}`
  83. ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l`
  84. if [ $ChildPIDRunningStatus -ge 1 ]; then
  85. EXISTS=1
  86. fi
  87. fi
  88. if [ ${EXISTS} -lt 1 ]; then
  89. ${JAVA_HOME}/bin/java $JVM_OPTS -DPERIOD=60 -DCHUKWA_HOME=${CHUKWA_HOME} -DCHUKWA_CONF_DIR=${CHUKWA_CONF_DIR} -DCHUKWA_LOG_DIR=${CHUKWA_LOG_DIR} -DRECORD_TYPE=Top -Dlog4j.configuration=system-data-loader.properties -classpath ${CLASSPATH}:${CHUKWA_CORE}:${HADOOP_JAR}:${COMMON}:${TOOLS}:${CHUKWA_CONF_DIR} org.apache.hadoop.chukwa.inputtools.plugin.metrics.Exec top -b -n 1 -c &
  90. fi
  91. EXISTS=0
  92. pidFile="${CHUKWA_HOME}/var/run/Df-data-loader.pid"
  93. if [ -f $pidFile ]; then
  94. pid=`head ${pidFile}`
  95. ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l`
  96. if [ $ChildPIDRunningStatus -ge 1 ]; then
  97. EXISTS=1
  98. fi
  99. fi
  100. if [ ${EXISTS} -lt 1 ]; then
  101. ${JAVA_HOME}/bin/java $JVM_OPTS -DPERIOD=60 -DCHUKWA_HOME=${CHUKWA_HOME} -DCHUKWA_CONF_DIR=${CHUKWA_CONF_DIR} -DCHUKWA_LOG_DIR=${CHUKWA_LOG_DIR} -DRECORD_TYPE=Df -Dlog4j.configuration=system-data-loader.properties -classpath ${CLASSPATH}:${CHUKWA_CORE}:${HADOOP_JAR}:${COMMON}:${TOOLS}:${CHUKWA_CONF_DIR} org.apache.hadoop.chukwa.inputtools.plugin.metrics.Exec df -l &
  102. fi
  103. EXISTS=0
  104. pidFile="${CHUKWA_HOME}/var/run/Netstat-data-loader.pid"
  105. if [ -f $pidFile ]; then
  106. pid=`head ${pidFile}`
  107. ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l`
  108. if [ $ChildPIDRunningStatus -ge 1 ]; then
  109. EXISTS=1
  110. fi
  111. fi
  112. if [ ${EXISTS} -lt 1 ]; then
  113. ${JAVA_HOME}/bin/java $JVM_OPTS -DPERIOD=60 -DCHUKWA_HOME=${CHUKWA_HOME} -DCHUKWA_CONF_DIR=${CHUKWA_CONF_DIR} -DCHUKWA_LOG_DIR=${CHUKWA_LOG_DIR} -DRECORD_TYPE=Netstat -Dlog4j.configuration=system-data-loader.properties -classpath ${CLASSPATH}:${CHUKWA_CORE}:${HADOOP_JAR}:${COMMON}:${TOOLS}:${CHUKWA_CONF_DIR} org.apache.hadoop.chukwa.inputtools.plugin.metrics.Exec ${CHUKWA_HOME}/bin/netstat.sh &
  114. fi
  115. echo "done"
  116. while [ 1 ]
  117. do
  118. # sleep until shutdown signal has been sent.
  119. sleep 5
  120. done