본문 바로가기

IT/실무정리

리눅스 CPU, MEM, ESTABLISHED 확인 스크립트

반응형

아래 스크립트를 크론으로 추가해서 실행하면 현재 시스템의 상태를 로그를 통해 알 수 있다. 

로그를 시스템의 상황을 볼 수 있다

#!/bin/bash

#Today=`date +%Y%m%d%H%M`

LOGDIR=/logs/was/monitoring/mem

if [ ! -d "$LOGDIR" ]; then
        echo Cannot Stat $LOGDIR
        echo Run: mkdir $LOGDIR
        exit;
fi

Today=`date '+%Y/%m/%d %H:%M:%S'`
DT=`date '+%Y%m%d'`
MemUsed="$(echo 'MEM:'`free -m | grep 'Mem' | awk '{printf "%-2d% (%5d/%5dMB)", ($3/$2)*100, $3, $2}'`)"
RSS="$(echo 'RSS:'`ps aux | grep piasSvr | grep -Ev 'catalina.sh|.out|grep|cronolog' | awk '{printf "%-6d", $6/1024}'`'MB')"
CpuUsed="$(echo 'CPU:'`/usr/bin/vmstat 1 2| sed 1,3d | awk '{printf "%-2d%", 100-$15}'`)"
THREAD="$(echo 'THREAD_NUM:'`ps -ef | grep apache | grep httpd | wc -l | awk '{printf "%-4d", $0}'`)"
    ESTABLISHED_SERVICE="$(echo 'ESTABLISHED_NUM:'`netstat -an | grep 18009 | grep ESTABLISHED | wc -l | awk '{printf "%-4d", $0}'`)"
    ESTABLISHED_TOTAL="$(echo 'ESTABLISHED_TOTAL:'`netstat -an | grep ESTABLISHED | wc -l | awk '{printf "%-4d", $0}'`)"

DATA="$Today | $MemUsed | $CpuUsed | $THREAD | $ESTABLISHED_TOTAL | $ESTABLISHED_SERVICE | $RSS"
echo "$DATA" >> $LOGDIR/${HOSTNAME}.memcpu.${DT}.log
echo "$DATA"

 

반응형