點擊右邊

戰點娛樂在Linux上用Bash劇本監控messages日記

 
現在市場上有很多開源監控對象可用于監控 Linux 體系的機能。當體系到達指定的閾值限定時,它將發送電子郵件警報。它可以監督 CPU 行使率、內存行使率、互換行使率、磁盤空間行使率等一切內容。
若是你只有很少的體系而且想要監督它們,那末編寫一個小的 shell 劇本可以使你的使命變得特別很是簡略。
在本教程中,咱們增添了一個 shell 劇本來監督 Linux 體系上的 messages 日記。
咱們已往增添了很多有效的 shell 劇本。若是要查望這些內容,請導航至如下鏈接。

  • 若何使用 shell 劇本監控體系的一樣平常運動?

此劇本將反省 /var/log/messages 文件中的 “warning“、“error” 以及 “critical”,若是發明任何無關的器材,就給指定電子郵件地址發郵件。
若是服務器有很多婚配的字符串,咱們就不克不及常常運轉這個可能填滿收件箱的劇本,咱們可以在一天內運轉一次。
為相識決這個成績,我讓劇本以不同的方式觸發電子郵件。
若是 /var/log/messages 文件中昨天的日記中找到任何給定字符串,則劇本將向給定的電子郵件地址發送電子郵件警報。
注重:你必要變動電子郵件地址,而不是咱們的電子郵件地址。

  1. # vi /opt/scripts/os-log-alert.sh
  1. #!/bin/bash
  2. #Set the variable which equal to zero
  3. prev_count=0
  4.  
  5. count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | egrep -wi 'warning|error|critical' | wc -l)
  6.  
  7. if [ "$prev_count" -lt "$count" ] ; then
  8. # Send a mail to given email id when errors found in log
  9. SUBJECT="WARNING: Errors found in log on "`date --date='yesterday' '+%b %e'`""
  10. # This is a temp file, which is created to store the email message.
  11. MESSAGE="/tmp/logs.txt"
  12. TO="2daygeek@gmail.com"
  13. echo "ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin." >> $MESSAGE
  14. echo "Hostname: `hostname`" >> $MESSAGE
  15. echo -e "\n" >> $MESSAGE
  16. echo "+------------------------------------------------------------------------------------+" >> $MESSAGE
  17. echo "Error message六合彩全車s in the log file as below" >> $MESSAGE
  18. echo "+------------------------------------------------------------------------------------+" >> $MESSAGE
  19. grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | awk '{ $3=""; print}' | egrep -wi 'warning|error|critical' >> $MESSAGE
  20. mail -s "$SUBJECT" "$TO" < $MESSAGE
  21. #rm $MESSAGE
  22. fi

os-log-alert.sh 文件配置可履行權限。

  1. $ chmod +x /opt/scripts/os-log-alert.sh

最初增添一個 cron運彩版ptt 使命來主動履行此操作。它將天天 7 點鐘運轉。

  1. # crontab -e
  1. 0 7 * * * /bin/bash /opt/scripts/os-log-alert.sh

注重:你將在天天 7 點收到昨天日記的電子郵件提示。
輸入:你將收到相似上面的電子郵件提示。

  1. ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin.地下539中4碼多少錢
  2.  
  3. +-----------------------------------------------------+
  4. Error messages in the log file as below
  5. +-----------------------------------------------------+
  6. Jul 3 02:40:11 ns1 kernel: php-fpm[3175]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]
  7. Jul 3 02:50:14 ns1 kernel: lmtp[8249]: segfault at 20 ip 00007f9cc05295e4 sp 00007ffc57bca1a0 error 4 in l捕魚達人序號ibdovecot-storage.so.0.0.0[7f9cc04df000+148000]
  8. Jul 3 15:36:09 ns1 kernel: php-fpm[17846]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55捕魚達人-遊戲dfe7a89000+3a7000]
  9. Jul 3 15:45:54 ns1 pure-ftpd: (?@5.188.62.5) [WARNING] Authentication failed for user [daygeek]
  10. Jul 3 16:25:36 ns1 pure-ftpd: (?@104.140.148.58) [WARNING] Sorry, cleartext sessions and weak ciphers are not accepted on this server.#012Please reconnect using TLS security mechanisms.
  11. Jul 3 16:44:20 ns1 kernel: php-fpm[8979]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]

【免責聲明】本站內容轉載自互聯網,其相關談吐僅代表作者小我私家概念盡非權勢巨子,不代表本站態度。如您發明內容存在版權成績,請提交相關鏈接至郵箱:,咱們將實時予以處置。