Shell腳本實戰(zhàn):日志關(guān)鍵字監(jiān)控+自動告警

原文轉(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?


異常編譯報錯-1

異常報錯解決方法

下載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)代碼如下:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容