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

原文轉載于:https://os.51cto.com/art/202004/613630.htm


主要用于Linux服務器監(jiān)控程序日志,如出現(xiàn)關鍵字異常則觸發(fā)相應的動作或告警操作,通知到郵件聯(lián)系人。

該程序使用場景說明:主要用于Linux服務器監(jiān)控程序日志,如出現(xiàn)關鍵字異常則觸發(fā)相應的動作或告警操作,通知到郵件聯(lián)系人。

一、安裝郵件服務

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解壓縮目錄放置同一路徑

執(zhí)行打補丁命令:

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

進入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 "郵件標題" 郵箱地址

至此郵件功能測試正常,接下來是關鍵字監(jiān)控腳本的編寫工作,通過日志關鍵字腳本觸發(fā)郵件告警腳本實現(xiàn)日志監(jiān)控

二、關鍵字監(jiān)控腳本開發(fā)

CheckLogs.sh 日志監(jiān)控程序

SendMail.sh 發(fā)郵件腳本,該腳本可自定義

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

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


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

測試插入關鍵字error


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

測試多關鍵字

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

測試頻率控制

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

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容