#!/bin/bash # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. bin=`dirname "$0"` bin=`cd "$bin"; pwd` . "$bin"/chukwa-config.sh JVM_OPTS="-Xms4M -Xmx4M" trap 'shutdown' 1 2 15 function shutdown { echo -n "Shutting down System Data Loader..." if [ -f ${CHUKWA_HOME}/var/run/Sar-data-loader.pid ]; then kill -9 `cat ${CHUKWA_HOME}/var/run/Sar-data-loader.pid` fi if [ -f ${CHUKWA_HOME}/var/run/Iostat-data-loader.pid ]; then kill -9 `cat ${CHUKWA_HOME}/var/run/Iostat-data-loader.pid` fi if [ -f ${CHUKWA_HOME}/var/run/Top-data-loader.pid ]; then kill -9 `cat ${CHUKWA_HOME}/var/run/Top-data-loader.pid` fi if [ -f ${CHUKWA_HOME}/var/run/Df-data-loader.pid ]; then kill -9 `cat ${CHUKWA_HOME}/var/run/Df-data-loader.pid` fi if [ -f ${CHUKWA_HOME}/var/run/Netstat-data-loader.pid ]; then kill -9 `cat ${CHUKWA_HOME}/var/run/Netstat-data-loader.pid` fi rm -f $CHUKWA_HOME/var/run/chukwa-$CHUKWA_IDENT_STRING-systemDataLoader.sh.pid echo "done" exit 0 } if [ "X$1" = "Xstop" ]; then echo -n "Shutting down System Data Loader..." if [ -f $CHUKWA_HOME/var/run/chukwa-$CHUKWA_IDENT_STRING-systemDataLoader.sh.pid ]; then kill -TERM `head $CHUKWA_HOME/var/run/chukwa-$CHUKWA_IDENT_STRING-systemDataLoader.sh.pid` fi echo "done" exit 0 fi echo -n "Starting System Data Loader..." #test=`grep -q SysLog ${CHUKWA_HOME}/var/chukwa_checkpoint*` #if [ "X${test}"="X1" ]; then # echo "add org.apache.hadoop.chukwa.datacollection.adaptor.filetailer.CharFileTailingAdaptorUTF8NewLineEscaped SysLog 0 /var/log/messages 0" | nc localhost 9093 >&/dev/null & disown -h #fi EXISTS=0 pidFile="${CHUKWA_HOME}/var/run/Sar-data-loader.pid" if [ -f $pidFile ]; then pid=`head ${pidFile}` ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l` if [ $ChildPIDRunningStatus -ge 1 ]; then EXISTS=1 fi fi if [ ${EXISTS} -lt 1 ]; then ${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 & fi EXISTS=0 pidFile="${CHUKWA_HOME}/var/run/Iostat-data-loader.pid" if [ -f $pidFile ]; then pid=`head ${pidFile}` ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l` if [ $ChildPIDRunningStatus -ge 1 ]; then EXISTS=1 fi fi if [ ${EXISTS} -lt 1 ]; then ${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 & fi EXISTS=0 pidFile="${CHUKWA_HOME}/var/run/Top-data-loader.pid" if [ -f $pidFile ]; then pid=`head ${pidFile}` ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l` if [ $ChildPIDRunningStatus -ge 1 ]; then EXISTS=1 fi fi if [ ${EXISTS} -lt 1 ]; then ${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 & fi EXISTS=0 pidFile="${CHUKWA_HOME}/var/run/Df-data-loader.pid" if [ -f $pidFile ]; then pid=`head ${pidFile}` ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l` if [ $ChildPIDRunningStatus -ge 1 ]; then EXISTS=1 fi fi if [ ${EXISTS} -lt 1 ]; then ${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 & fi EXISTS=0 pidFile="${CHUKWA_HOME}/var/run/Netstat-data-loader.pid" if [ -f $pidFile ]; then pid=`head ${pidFile}` ChildPIDRunningStatus=`${JPS} | grep ${pid} | grep Exec | grep -v grep | wc -l` if [ $ChildPIDRunningStatus -ge 1 ]; then EXISTS=1 fi fi if [ ${EXISTS} -lt 1 ]; then ${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 & fi echo "done" while [ 1 ] do # sleep until shutdown signal has been sent. sleep 5 done