您好,登錄后才能下訂單哦!
當我們要設置nagios監控下的所有服務和主機的計劃停機時間時,如果一個個的手動點擊web界面的“Schedule downtime for this host”和“Schedule downtime for all services on this host”會相當痛苦,那么有什么辦法可以一次搞定呢?我們可以把請求發給nagios.cmd,nagios讀取nagios.cmd文件,自動完成計劃停機的設置
#!/bin/bash
EchoCmd="/bin/echo"
CommandFile="/usr/local/nagios/var/rw/nagios.cmd"# get the current date/time in seconds since UNIX epoch
TodayTime=`date +%Y-%m-%d`
Tomorrow=`date +%Y-%m-%d --date='1 day'`
NowTime=`date +%s`
BeginTime=`date -d "$TodayTime 20:30:00" +%s` //計劃停機時間今天20:30到第二天的08:00
EndTime=`date -d "$Tomorrow 08:00:00" +%s`
Comment_Author=nagiosadmin
Comment_Data=xitongweihu_`date +%Y%m%d`
hostgroup=/data/backup/group.ini //該文件保存計劃停機的主機組名稱
for X in $(cat $hostgroup)
do
# create the command line to add to the command file //該項設置主機組下的所有主機計劃停機
CmdHostGroup="[$NowTime] SCHEDULE_HOSTGROUP_HOST_DOWNTIME;$X;$BeginTime;$EndTime;1;0;3600;$Comment_Author;$Comment_Data"
# append the command to the end of the command file
`$EchoCmd $CmdHostGroup >> $CommandFile`# create the command line to add to the command file //該項設置主機組下的所有服務計劃停機
CmdServiceGroup="[$NowTime] SCHEDULE_HOSTGROUP_SVC_DOWNTIME;$X;$BeginTime;$EndTime;1;0;3600;$Comment_Author;$Comment_Data"
# append the command to the end of the command file
`$EchoCmd $CmdServiceGroup >> $CommandFile`
done
備注:可以通過打開nagios.cfg里的日志級別,查看通過web界面執行的命令詳細過程
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。