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


一個執着於技術的公眾號

該程序使用場景說明:主要用於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/

  往期精彩  

◆  手把手教你搭建一套OpenStack雲平台

◆  帶你體驗一次原生OpenStack發放雲主機的過程

◆  Linux運維工程師面試問答錄

◆  干貨 | Linux平台搭建網關服務器

◆  干貨 | 理解正向代理與反向代理的區別

◆  硬核科普服務器硬盤組成與基本原理

◆  一文帶你速懂虛擬化KVM和XEN

◆  實戰 | Hadoo大數據集群搭建

◆  運維工程師心法:6大技能讓你告別背鍋

如有收獲,點個在看,誠摯感謝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM