nagios裏的host.cfg,service.cfg配置起來有沒有覺的相當的麻煩,繁瑣。有沒有可能自動化的一鍵就部署幾百臺服務器的服務監控?沒事,寫個腳本不就完事了..
1,首先創建一個主機列表文件hostlist.txt
[root@localhost objects]# cat hostlist.txt
l-tong1.rui.cn1 192.168.1.1
l-tong2.rui.cn1 192.168.1.2
l-tong3.rui.cn1 192.168.1.3
l-tong4.rui.cn1 192.168.1.4
[root@localhost objects]#
可以手動寫進去,也可以用腳本去取添加
2,現在開始寫腳本文件
[root@localhost objects]# vim dd.sh
#!/bin/bash
rm -f tongrui.host
exec <hostlist.txt
while read line
do
echo 'define host {' >>tongrui.host
echo ' use linux-server' >>tongrui.host
echo " host_name `echo $line|awk '{print $1}'`" >>tongrui.host
echo " alias `echo $line|awk '{print $1}'` " >>tongrui.host
echo " address `echo $line|awk '{print $2}'` " >>tongrui.host
echo "}" >>tongrui.host
done
(echo $line就是顯示從hostlist.txt讀的行,然後過濾他的第一列)
wq 保存退出
給dd.sh一個X可執行的權限:[root@localhost objects]# chown a+x dd.sh
3.執行dd.sh這個腳本
現在我們來看tongrui.host有沒有寫入
[root@localhost objects]# cat tongrui.host
define host {
use linux-server
host_name l-tong1.rui.cn1
alias l-tong1.rui.cn1
address 192.168.1.1
}
define host {
use linux-server
host_name l-tong2.rui.cn1
alias l-tong2.rui.cn1
address 192.168.1.2
}
define host {
use linux-server
host_name l-tong3.rui.cn1
alias l-tong3.rui.cn1
address 192.168.1.3
}
define host {
use linux-server
host_name l-tong4.rui.cn1
alias l-tong4.rui.cn1
address 192.168.1.4
}
註釋:
不管是nagios 還是cacti ,部署好了之後 ,很多的監控項目都是需要另外寫腳本的,不是簡單的整合而已,別一聽監控 ,就覺得,多牛多牛 ,其實就是最基本的,監控都沒有 ,你運維什麼呢。