跳轉到內容

使用 Xymon 進行系統監控/其他文件/HOWTO/自定義伺服器指令碼

來自華夏公益教科書,開放的書籍,為一個開放的世界

伺服器端指令碼看起來幾乎和客戶端指令碼一樣,但它們通常會使用 bbhostgrep 實用程式從 bb-hosts 檔案中選出具有特殊標記定義的主機,然後為每個主機發送一條狀態訊息。像這樣

#!/bin/sh

BBHTAG=foo           # What we put in bb-hosts to trigger this test
COLUMN=$BBHTAG	# Name of the column, often same as tag in bb-hosts

$BBHOME/bin/bbhostgrep $BBHTAG | while read L
do
   set $L	# To get one line of output from bbhostgrep

   HOSTIP="$1"
   MACHINEDOTS="$2"
   MACHINE=`echo $2 | $SED -e's/\./,/g'`

   COLOR=green
   MSG="$BBHTAG status for host $MACHINEDOTS"

   #... do the test, perhaps modify COLOR and MSG

   $BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date`

   ${MSG}
   "
done
 
exit 0

請注意,對於伺服器端測試,您需要遍歷 bb-hosts 檔案中找到的主機列表,併為每個主機發送一條狀態訊息。除此之外,它與客戶端測試完全相同。

此指令碼儲存在 ~/hobbit/server/ext/my_script.sh 中,您可以在 ~/hobbit/server/etc/hobbitlaunch.cfg 中新增其描述。

[foo]
   ENVFILE $BBTHOME/etc/hobbitserver.cfg
   CMD $BB/ext/my_script.sh
   LOGFILE $BB/logs/myscript.log
   INTERVAL 5m

現在可以將服務新增到 bb-hosts 檔案中

127.0.0.1 my_server # foo
華夏公益教科書