Shell腳本實戰:日誌關鍵字監控+自動告警

該程序使用場景說明:主要用於Linux服務器監控程序日誌,如出現關鍵字異常則觸發相應的動做或告警操做,通知到郵件聯繫人。服務器

1、安裝郵件服務微信

一、解壓測試

tar -jxf mailx-12.4.tar.bz2 -C /usr/src/ && cd /usr/src/mailx-12.4/

二、編譯ui

make install UCBINSTALL=/usr/bin/install

異常編譯報錯-1spa

異常報錯解決方法3d

下載mailx補丁文件「mailx-12.4-openssl_1.0.0_build_fix-1.patch」,將補丁文件和mailx解壓縮目錄放置同一路徑日誌

執行打補丁命令:code

patch -p0 < mailx-12.4-openssl_1.0.0_build_fix-1.patch

進入mailx-12.4從新執行編譯命令:blog

make install UCBINSTALL=/usr/bin/install

檢測mailx是否安裝成功:mailx -V圖片

三、配置

vi /etc/nail.rc,在文件的最後添加

set from=

set smtp=

set smtp-auth-user=

set smtp-auth-password=

set smtp-auth=login

以下圖所示,修改配置完後保存

四、測試發送郵件

echo '郵件正文'|mailx -v -s "郵件標題" 郵箱地址

至此郵件功能測試正常,接下來是關鍵字監控腳本的編寫工做,經過日誌關鍵字腳本觸發郵件告警腳本實現日誌監控

2、關鍵字監控腳本開發

CheckLogs.sh 日誌監控程序

SendMail.sh 發郵件腳本,該腳本可自定義

conf 配置文件目錄,chklist爲配置文件

初次執行CheckLogs.sh腳本會讀取日誌文件並記錄當前讀取的行數

後續運行腳本則讀取更新日誌,例如當前日誌更新了9行數據,則腳本從最新的9行數據獲取關鍵字

微信圖片_20200314133956.png

測試插入關鍵字error

微信圖片_20200314134011.png

繼續執行腳本能夠看到已捕獲關鍵字並觸發告警

測試多關鍵字

再次執行能夠看到已捕獲最新更新的日誌信息

測試頻率控制

至此相關功能測試已完成。

差點忘記告訴你們完整的腳本代碼了,只需在【民工哥技術之路】公衆號對話框回覆關鍵字「日誌監控」便可獲取完整代碼。

相關文章
相關標籤/搜索