몇 가지 일반적인 리눅스 모니터링 스크립트
다음은 몇 가지 호스트 모니터링 스크립트입니다. 여러분 자신의 상황에 따라 수정할 수 있습니다. 도움을 주시기 바랍니다.
1, 호스트 NIC 트래픽을 확인합니다.
#! /bin/bash
# 네트워크
# 마이크. 허
While:; 하다
Time='date +%m"-"%d" "%k":"%M "
Day='date +%m"-"%d "
Rx _ before =' ifconfigeth0 | sed-n "8" p | awk "{print $2}" | cut-C7-'
Tx _ before =' ifconfigeth0 | sed-n "8" p | awk "{print $6}" | cut-C7-'
수면 2
Rx _ after =' ifconfigeth0 | sed-n "8" p | awk "{print $2}" | cut-C7-'
Tx _ after =' ifconfigeth0 | sed-n "8" p | awk "{print $6}" | cut-C7-'
Rx _ result = $ [(rx _ after-rx _ before)/256]
Tx _ result = $ [(tx _ after-tx _ before)/256]
Echo "$ timenow _ in _ speed:" $ rx _ result "kbps now _ out _ speed:" $ tx _ result "kbps
수면 2
완성
2. 시스템 상태 모니터링
#! /bin/sh
#systemstat.sh
# 마이크. 허
Ip =192.168.1.227
Top -n 2| grep "Cpu ">& gt. /temp/cpu.txt
Free -m | grep "Mem ">& gt. /임시/메모리. txt
Df -k | grep "sda 1 ">& gt. /temp/ 드라이브 _sda 1.txt
# df-k | grep sda 2>;; & gt. /temp/drive_sda2.txt
Df-k | grep "/mnt/storage _ 0" > & gt. /temp/mnt_storage_0.txt
Df-k | grep "/mnt/storage _ pic" > & gt. /temp/mnt_storage_pic.txt
Time=`date +%m, "%d" "%k":"%M ` 개
Connect = `netstat-na | grep "219.238.148.30: 80" | WC-l
Echo "$ time $ connect">& gt. /temp/ 접속 수. txt
3. 호스트의 디스크 공간을 모니터링하고 사용된 공간이 90% 를 초과하면 경고를 메일로 보냅니다.
#! /bin/bash
# 사용 가능한 디스크 공간 모니터링
스페이스 =' df | sed-n'/\/$/p' | gawk' {print $5}' | sed' s/%/'입니다
If [$SPACE -ge 90]
그리고 나서
Fty89@ 163.com
선측은 화물 적재 비용을 부담하지 않습니다
4. CPU 및 메모리 사용량을 모니터링합니다.
#! /bin/bash
# 시스템 통계를 캡처하는 스크립트
OUTFILE=/home/xu/capstats.csv
DATE='date +%m/%d/%Y' 입니다
TIME='date +%k:%m:%s'
시간 초과 = "가동 시간"
VMOUT='vmstat 1 2' 입니다
Users =' echo $ timeout | gawk' {print $4}' 입니다.
Load =' echo $ timeout | gawk "{print $9}" | sed "s/,//''
Free =' echo $ VM out | sed-n'/[0-9]/p' | sed-n' 2p' | gawk' {print $4}
Idle =' echo $ vmout | sed-n'/[0-9]/p' | sed-n' 2p' | gawk' {print $/kll
Echo "$DATE, $TIME, $USERS, $LOAD, $FREE, $IDLE ">& gt$OUTFILE
5. 전방위 모니터링 호스트
#! /bin/bash
# check_xu.sh
# 0 * * * * /home/check_xu.sh
DAT="`date +%Y%m%d ` "
HOUR="`date +%H ` "
Dir = "/home/oslog/host _ $ {dat}/$ {hour}"
지연 =60
개수 =60
# 책임 디렉토리가 있습니까
만약! 테스트 -d ${DIR}
그리고 나서
/bin/mkdir -p ${DIR}
선측은 화물 적재 비용을 부담하지 않습니다
# 일반 검사
수출 용어 = 리눅스
/usr/bin/top-b-d $ {delay}-n $ {count} > ${DIR}/top_${DAT}. 로그 2>& amp 1.
# CPU 검사
/usr/bin/sar-u $ {delay} $ {count} > ${DIR}/cpu_${DAT}. 로그 2>& amp 1.
#/usr/bin/mpstat-P0 $ {delay} $ {count} > ${DIR}/cpu_0_${DAT}. 로그 2>& amp 1.
#/usr/bin/mpstat-p1$ {delay} $ {count} > ${DIR}/cpu_ 1_${DAT}. 로그 2>& amp 1.
# 메모리 검사
/usr/bin/vmstat $ {delay} $ {count} > ${DIR}/vmstat_${DAT}. 로그 2>& amp 1.
# 입출력 검사
/usr/bin/iostat $ {delay} $ {count} > ${DIR}/iostat_${DAT}. 로그 2>& amp 1.
# 네트워크 검사
/usr/bin/sar-n dev $ {delay} $ {count} > ${DIR}/net_${DAT}. 로그 2>& amp 1.
#/usr/bin/sar-n edev $ {delay} $ {count} > ${DIR}/net_edev_${DAT}. 로그 2>& amp 1.
Crontab 에 배치하여 매시간 자동으로 실행됩니다.