shell腳本批量建立nagios中host.cfg,service.cfg等文件!

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 ,部署好了之後 ,很多的監控項目都是需要另外寫腳本的,不是簡單的整合而已,別一聽監控 ,就覺得,多牛多牛 ,其實就是最基本的,監控都沒有 ,你運維什麼呢。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章