一個執着於技術的公眾號
該程序使用場景說明:主要用於Linux服務器監控程序日志,如出現關鍵字異常則觸發相應的動作或告警操作,通知到郵件聯系人。
一、安裝郵件服務
1、解壓
tar -jxf mailx-12.4.tar.bz2 -C /usr/src/ && cd /usr/src/mailx-12.4/
2、編譯
make install UCBINSTALL=/usr/bin/install
異常編譯報錯-1
異常報錯解決方法
下載mailx補丁文件“mailx-12.4-openssl_1.0.0_build_fix-1.patch”,將補丁文件和mailx解壓縮目錄放置同一路徑
執行打補丁命令:
patch -p0 < mailx-12.4-openssl_1.0.0_build_fix-1.patch
進入mailx-12.4重新執行編譯命令:
make install UCBINSTALL=/usr/bin/install
檢測mailx是否安裝成功:mailx -V
3、配置
vi /etc/nail.rc,在文件的最后添加
set from=
set smtp=
set smtp-auth-user=
set smtp-auth-password=
set smtp-auth=login
如下圖所示,修改配置完后保存
4、測試發送郵件
echo '郵件正文'|mailx -v -s "郵件標題" 郵箱地址
至此郵件功能測試正常,接下來是關鍵字監控腳本的編寫工作,通過日志關鍵字腳本觸發郵件告警腳本實現日志監控
二、關鍵字監控腳本開發
CheckLogs.sh 日志監控程序
SendMail.sh 發郵件腳本,該腳本可自定義
conf 配置文件目錄,chklist為配置文件
初次執行CheckLogs.sh腳本會讀取日志文件並記錄當前讀取的行數
后續運行腳本則讀取更新日志,例如當前日志更新了9行數據,則腳本從最新的9行數據獲取關鍵字
測試插入關鍵字error
繼續執行腳本可以看到已捕獲關鍵字並觸發告警
測試多關鍵字
再次執行可以看到已捕獲最新更新的日志信息
測試頻率控制
至此相關功能測試已完成。
如果需要完整的腳本代碼,只需在【秦露露】公眾號對話框回復關鍵字“日志監控”即可獲取完整代碼。
原文:https://www.toutiao.com/a6770513931053040131/
往期精彩
如有收獲,點個在看,誠摯感謝