自動化系統中服務監控指令碼的實現思路

2021-12-29 21:38:09 字數 1576 閱讀 8944

自動化系統中服務監控指令碼的實現思路

在自動化測試系統中加入服務監控的指令碼:如監控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領域,似乎一直有一種信條 你的企業的環境總是最特殊的。每乙個人遇到的特定企業基礎架構設計在測量和實質上都有區別 唯一例外可能是你之前設計的網路加入了現在的公司 這些也是特殊的網路,當然不像當前的環境那樣特別。就這一點而言,網路監控最佳實踐 通用技術和標準方法都無法適用,或者至少它們需要經過很大...