自動化系統中服務監控指令碼的實現思路
在自動化測試系統中加入服務監控的指令碼:如監控nginx服務或mysql服務是否開啟,如果沒有開啟,則啟動對應服務。
監控思路
通過埠監控
在伺服器上通過ss, netstat, lsof等命令監控 在遠端通過telnet, nmap, nc等方法監控 監控服務程序
ps -ef | grep mysql | wc -l 根據wget或curl命令對返回值進行判斷 連線資料庫,根據返回值判斷
mysql -uroot -proot -e "select version();" &>/dev/null; echo $
實現方案一
通過ss命令並過濾程序埠號判斷是否開啟。
#!/bin/bash
if [ "`ss -lntup | grep 3306 | awk -f "[ :]+" ''`" = "3306" ]
then
echo "mysql status running."
else
echo "mysql status stopped"
/etc/init.d/mysqld start
fi方案二
通過lsof命令過濾埠號並轉換成數字判斷是否開啟。
#!/bin/bash
if [ `lsof -i tcp:3306|wc -l` -gt 0 ]
then
echo "mysql status running."
else
echo "mysql status stopped"
/etc/init.d/mysqld start
fi方案三
通過nmap遠端埠檢查。
#!/bin/bash
#這行用來判斷是否安裝了nmap,如果沒有則安裝
[ `rpm -qa nmap|wc -l` -lt 1 ] && yum install nmap -y &> /dev/null
if [ `nmap 127.0.0.1 -p 3306 2>/dev/null|grep open|wc -l` -gt 0 ]
then
echo "mysql status running."
else
echo "mysql status stopped"
/etc/init.d/mysqld start
fi方案四
通過ps命令過濾程序來判斷。
#!/bin/bash
if [ `ps -ef|grep -v grep|grep mysql|wc -l` -gt 0 ]
then
echo "mysql status running."
else
echo "mysql status stopped"
/etc/init.d/mysqld start
fi總結
以上是服務監控指令碼的幾種常用方法,關鍵是判斷服務是否開啟的思路,個人比較傾向於過濾關鍵字的埠或程序,並轉為數字,避免空值。
如果是通過客戶端進行模擬,需要事先將程式放到lnmp伺服器的站點目錄,通過curl或者wget訪問其位址去判斷返回值是否成功即可。
銀行自動化監控系統應用
一 引言 二 智慧型分析技術的應用 1 智慧型分析實現原理 2 智慧型分析報警技術應用 1 異常人臉檢測 2 物品遺留檢測 通過自助銀行及atm機環境監控識別操作人將隨身攜帶的物品放置在atm機上或者自助銀行內的某個地方,而交易結束後忘記帶走導致遺留物品的丟失。系統能及時檢測出該類異常行為,實時發出...
伺服器自動化安裝指令碼
參考 運維工程師部落格 伺服器最小化安裝後的優化指令碼 1604432 1305257 上面這個 有許多跟我想到的技巧類似的。儲存下來多學學。做為自動化安裝,有幾點是要考慮的。1,安裝軟體源準備 網際網路上,本地區域網,本地安裝包 2,版本或軟體源是否正常判斷 3,判斷檔案,目錄是否存在或者具有許可...
關於自動化網路監控的真相
在it領域,似乎一直有一種信條 你的企業的環境總是最特殊的。每乙個人遇到的特定企業基礎架構設計在測量和實質上都有區別 唯一例外可能是你之前設計的網路加入了現在的公司 這些也是特殊的網路,當然不像當前的環境那樣特別。就這一點而言,網路監控最佳實踐 通用技術和標準方法都無法適用,或者至少它們需要經過很大...