最近小張的爬蟲程式越來越多,可當爬蟲程式報錯,不能及時的發現,從而造成某些重要資訊不能及時獲取的問題,更有甚者,遭到領導的批評,于是就在想有沒有一種方法,當爬取資訊報錯的時候,可以通過郵件或者短信的方式及時通知小張呢,于是我進行相關搜索,還真讓我找到了^_^, 為了避免大家踩坑,以下為自己親測,其中出現了一些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 轉載請注明來源!!
創作不易,期待你的打賞!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/155310.html
標籤:Python
