原文轉(zhuǎn)載于:https://os.51cto.com/art/202004/613630.htm
主要用于Linux服務(wù)器監(jiān)控程序日志,如出現(xiàn)關(guān)鍵字異常則觸發(fā)相應(yīng)的動作或告警操作,通知到郵件聯(lián)系人。
該程序使用場景說明:主要用于Linux服務(wù)器監(jiān)控程序日志,如出現(xiàn)關(guān)鍵字異常則觸發(fā)相應(yīng)的動作或告警操作,通知到郵件聯(lián)系人。
一、安裝郵件服務(wù)
1、解壓
tar?-jxf?mailx-12.4.tar.bz2?-C?/usr/src/?&&?cd?/usr/src/mailx-12.4/?
2、編譯
make?install?UCBINSTALL=/usr/bin/install?

異常報錯解決方法
下載mailx補(bǔ)丁文件“mailx-12.4-openssl_1.0.0_build_fix-1.patch”,將補(bǔ)丁文件和mailx解壓縮目錄放置同一路徑

執(zhí)行打補(bǔ)丁命令:
patch?-p0?<?mailx-12.4-openssl_1.0.0_build_fix-1.patch?

進(jìn)入mailx-12.4重新執(zhí)行編譯命令:
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、測試發(fā)送郵件
echo '郵件正文'|mailx -v -s "郵件標(biāo)題" 郵箱地址

至此郵件功能測試正常,接下來是關(guān)鍵字監(jiān)控腳本的編寫工作,通過日志關(guān)鍵字腳本觸發(fā)郵件告警腳本實現(xiàn)日志監(jiān)控
二、關(guān)鍵字監(jiān)控腳本開發(fā)
CheckLogs.sh 日志監(jiān)控程序
SendMail.sh 發(fā)郵件腳本,該腳本可自定義
conf 配置文件目錄,chklist為配置文件

初次執(zhí)行CheckLogs.sh腳本會讀取日志文件并記錄當(dāng)前讀取的行數(shù)

后續(xù)運(yùn)行腳本則讀取更新日志,例如當(dāng)前日志更新了9行數(shù)據(jù),則腳本從最新的9行數(shù)據(jù)獲取關(guān)鍵字

測試插入關(guān)鍵字error

繼續(xù)執(zhí)行腳本可以看到已捕獲關(guān)鍵字并觸發(fā)告警

測試多關(guān)鍵字

再次執(zhí)行可以看到已捕獲最新更新的日志信息

測試頻率控制

至此相關(guān)功能測試已完成。最后附上腳本相關(guān)代碼如下: