![내 시스템의 CPU 사용량이 특정 임계값에 도달하는 경우 경고/경고를 어떻게 설정합니까?](https://linux55.com/image/167917/%EB%82%B4%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%98%20CPU%20%EC%82%AC%EC%9A%A9%EB%9F%89%EC%9D%B4%20%ED%8A%B9%EC%A0%95%20%EC%9E%84%EA%B3%84%EA%B0%92%EC%97%90%20%EB%8F%84%EB%8B%AC%ED%95%98%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%EA%B2%BD%EA%B3%A0%2F%EA%B2%BD%EA%B3%A0%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%84%A4%EC%A0%95%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
시스템 CPU 사용량과 메모리 사용량을 모니터링하기 위해 쉘 스크립트를 작성했습니다. 내 시스템이 특정 임계값(예: 90%)에 도달했다는 알림을 이메일로 보내는 방법을 알아야 합니다.
내 코드:
#! /bin/bash
printf "Date\t\t\tMemory\t\tDisk\t\tCPU\n"
end=$((SECONDS+30))
while [ $SECONDS -lt $end ]; do
CURRENTDATE=`date +"%Y-%m-%d %T"`
MEMORY=$(free -m | awk 'NR==2{printf " \t%.2f%%\t\t", $3*100/$2 }')
DISK=$(df -h | awk '$NF=="/"{printf "%s\t\t", $5}')
CPU=$(top -bn1 | grep load | awk '{printf "%.2f%%\t\t\n", $(NF-2)}')
echo ${CURRENTDATE} "$MEMORY$DISK$CPU"
done
답변1
아마도 모니터링 솔루션(Nagios, Zabbix FTW!)을 사용해야 할 것입니다. 그러나 정말로 사용자 정의 스크립트를 사용하고 싶다면 mail
프로그램을 사용할 수 있습니다.
echo "Current CPU USAGE $CPU" | mail -s "This is subject like: CPU WARNING" [email protected]
을 사용할 수도 있습니다 ssmpt
. 테스트하지는 않았지만 이에 대한 간단한 기사가 있습니다.https://www.howtogeek.com/51819/how-to-setup-email-alerts-on-linux-using-gmail/.