Shell腳本日志關鍵字監控+告警


   最近小張的爬蟲程序越來越多,可當爬蟲程序報錯,不能及時的發現,從而造成某些重要信息不能及時獲取的問題,更有甚者,遭到領導的批評。於是就在想有沒有一種方法,當爬取信息報錯的時候,可以通過郵件或者短信的方式及時通知小張呢,於是我進行相關搜索,還真讓我找到了^_^。 為了避免大家踩坑,以下為自己親測,其中出現了一些bug的相關解決方法我已做說明,文章最后有我的源代碼。

    該程序使用場景說明:主要用於Linux服務器爬蟲程序日志監控,如出現關鍵字異常則觸發相應的動作或告警操作,通知到郵件聯系人,讓你及時了解到爬蟲程序是否正常爬取,也可用於服務器重要日志的監控

一、安裝郵件服務

    安裝郵件服務之前首先停用系統自帶的郵件服務

systemctl stop sendmail
systemctl disable sendmail
systemctl stop postfix
systemctl disbale postfix

然后下載mailx,下載地址:

 

http://www.linuxfromscratch.org/blfs/view/7.6/basicnet/mailx.html

1、解壓

tar -jxf mailx-12.4.tar.bz2 -C /usr/src/ && cd /usr/src/mailx-12.4/

如果報錯  tar (child): lbzip2: Cannot exec: No such file or directory 

解決方法:

yum -y install bzip2

2、編譯

make install UCBINSTALL=/usr/bin/install

 

此時若報“make:***[openssl.o] 錯誤 1”則進行以下異常報錯解決方法:

下載mailx補丁文件“mailx-12.4-openssl_1.0.0_build_fix-1.patch”,將補丁文件和mailx解壓縮目錄放置同一路徑.

wget http://www.linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch

  

執行打補丁命令:

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、配置

vim /etc/nail.rc,在文件的最后添加

set from=
set smtp=
set smtp-auth-user=
#不是qq密碼。而是授權碼
set smtp-auth-password=  
set smtp-auth=login

  如下圖所示,修改配置完后保存.注意郵件地址,qq或者其他郵箱請開啟SMTP,不知如何開啟的請找度娘。

 

4、測試發送郵件

echo '郵件正文'|mailx -v -s "郵件標題" 郵箱地址

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

二、關鍵字監控腳本開發

CheckLogs.sh 日志監控程序

sendmail.sh 發郵件腳本,該腳本可自定義

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

接收到的郵件如下圖所示:

詳細代碼或者文章,可掃描右上角二維碼,關注公眾號回復"日志監控" 進行獲取,附件截圖如下,包括軟件、補丁、shell腳本等。

作者:小張學Python
本文鏈接: https://mp.weixin.qq.com/s/2iyj2I17QzyZbQlzIo9ARg
轉載請注明來源!! 

  創作不易,期待你的打賞!!

 


免責聲明!

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



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