1. 程式人生 > >業務服務監控詳解

業務服務監控詳解

一、檔案內容差異對比方法

  通過difflib模組實現檔案內容差異對比。difflib作為Python的標準庫模組,無需安裝,作用是對比檔案之間的差異,且支援輸出可讀性比較強的HTML文件,與Linux下的diff命令相似。我們可以使用difflib對比程式碼、配置檔案的差別,在版本控制方面是非常有用。

兩個字串的差異對比

生成美觀的對比HTML格式文件

對比Nginx配置檔案差異

二、檔案目錄差異對比方法 

  當我們進行程式碼審計或校驗備份結果時,往往需要檢查原始與目標的檔案一致性,Python的標準庫已經自帶了滿足此需求的模組filecmp。filecmp可以實現檔案、目錄、遍歷子目錄的差異對比功能。比如報告中輸出目標比原始多出的檔案或子目錄,即使檔案同名也會判斷是否為同一個檔案(內容級對比)等,Python2.3或更高版本預設自帶filecmp模組,無需額外安裝。

模組常用方法說明

校驗源與備份目錄差異

三、傳送電子郵件模組smtplib

    在系統管理中,我們常常使用郵件來發送告警資訊、業務質量報表等,方便運維人員第一時間瞭解業務的服務狀態。本文通過Python的smtplib模組來實現郵件的傳送功能,模擬一個smtp客戶端,通過與smtp伺服器互動來實現郵件傳送的功能,這裡可以理解成Foxmail的傳送郵件的功能,在第一次使用之前我們需要配置smtp主機地址、郵件賬號及密碼等資訊,Python2.3或更高版本預設自帶smtplib模組,無需額外安裝。

smtplib模組的常用類與方法

定製個性化的郵件格式方法

點選連結檢視:

定製常用郵件格式示例詳解

點選連結檢視:

四、探測Web服務質量方法

pycurl是libcurl的python介面。pycurl可用於從Python程式獲取URL標識的物件,類似於url lib Python模組。
libcurl是一個免費且易於使用的客戶端URL傳輸庫,支援FTP,FTPS,HTTP,HTTPS,SCP,SFTP,TFTP,TELNET,DICT,LDAP,LDAPS,FILE,IMAP,SMTP,POP3和RTSP。libcurl支援SSL證書,HTTP POST,HTTP PUT,FTP上傳,基於HTTP表單的上傳,代理,cookies,使用者名稱密碼認證(Basic,Digest,NTLM,Negotiate,Kerberos4),檔案傳輸恢復,http代理隧道等等。
libcurl具有很高的可移植性,它可以在多種平臺上構建和執行,包括Solaris,NetBSD,FreeBSD,OpenBSD,Darwin,HPUX,IRIX,AIX,Tru64,Linux,UnixWare,HURD,Windows,Amiga,OS
/2,BeOs,Mac OS X,Ultrix,QNX,OpenVMS,RISC OS,Novell NetWare,DOS等等...

mac os安裝pycurl模組

pip3 install pycurl

模組常用方法說明

實現探測Web服務質量