########################
批量建立nagios配置文件:
########################

############################################################
#
# Purpose: 批量建立nagios配置文件
#
# USER          YYYY-MM-DD – ACTION
# Oldboy        2010-06-09 – Created
# QQ:31333741   老男孩       mail:31333741@qq.com
# 网站运维专家QQ群欢迎你!群号: 37081784 (进群务必先看公告)

############################################################

     好多兄弟们都说nagios配置麻烦,都来问过我如何管理,为了提高解答效率,所以这里统一总结下,供大家参考。呵呵。
这是 以前的一个例子,抛砖引玉下,你可以拓展做成菜单式等更详细的配置,如果你足够努力,可以做到一键 部署几百
台服务器的服务监控,是没有问题的(包括host.cfg,service.cfg等),如果配置支持目录就更简单了。。欢迎随时交流。

1.建立 机器名和IP对应列表

cat >host.list <<EOFoldboy
oldboyVM-001 192.168.1.1
oldboyVM-002 192.168.1.2
oldboyVM-003 192.168.1.3
oldboyVM-004 192.168.1.4
EOFoldboy
#提示:上面列表可以手工编辑或者脚本批量去取


2.批量生成 nagios host配置文件
rm -f new.host
exec <host.list
while read line
do
 echo 'define host {' >>new.host
 echo '        use                     linux-server' >>new.host
 echo "        host_name               `echo $line|awk '{print $1}'`" >>new.host
 echo "        alias                   `echo $line|awk '{print $1}'` " >>new.host
 echo "        address                 `echo $line|awk '{print $2}'` " >>new.host
 echo "}" >>new.host
done

3.最终host内容
$ cat new.host
define host {
        use                     linux-server
        host_name               oldboyVM-001
        alias                   oldboyVM-001
        address                 192.168.1.1
}
define host {
        use                     linux-server
        host_name               oldboyVM-002
        alias                   oldboyVM-002
        address                 192.168.1.2
}
define host {
        use                     linux-server
        host_name               oldboyVM-003
        alias                   oldboyVM-003
        address                 192.168.1.3
}
define host {
        use                     linux-server
        host_name               oldboyVM-004
        alias                   oldboyVM-004
        address                 192.168.1.4
}