本文引用了一位同事的文档及网络文章,在此感谢~ 实验的部分自己完成
一、centreon批量添加主机
centreon的模板功能是做的非常强大的,而且优化过的nagios配置十分简单,加host的时候只需要输入了hostname,alias和ip 地址就可以加一台host上去,service配在hostgroup上,这样只要把host添加到hostgroup上就可以了。
如果你要加一两台机器,那是很方便的,但是如果上百台呢,上千台呢?那手岂不是要点的抽筋了?
这点来看,还是用脚本批量添加来的方便,呵呵,共享一个自己写的批量添加host的脚本,只添加host,service和hostgroup自己配。
运行脚本之前,要先准备好几件事情:
1、要有一个host的模板,将所有的属性基本上定义完整,使用脚本添加的host会和模板一模一样,只有ip地址和hostname有差别
2、要确认了host要添加到哪台nagios上,在centreon里叫poller
3、要有一个hosts文件,里面内容为要批量添加的hostname和ip地址,类似/etc/hosts的格式,第一栏ip,第二栏hostname
脚本用perl写的,最前面db的部分需要修改,代码如下:
演示:
上面的脚本名我换成了add_host.pl,并创建hosts文件:
添加主机前:
执行脚本:
刷新WEB页面:
二、批量生成和主机相关联的服务
注:此部分引用了同事的文档和脚本~
上面的脚本能够批量添加主机,但是不能自动生成和主机相关联的服务,如果对每一台主机增加一个服务,要一个一个在页面点击,非常麻烦。
使用 Centreon CLAPI 可以解决这个问题,Centreon CLAPI 是centreon
http://forge.centreon.com/projects/centreon-clapi/wiki
安装clapi:
提示输入instCentWeb.conf配置文件的路径:/usr/local/centreon/etc/
改为:
查看所有主机:
查看主机名包含client-1的主机,如果是输入client,则会显示client,client-1,client-2
对client主机应用所关联的模板服务:
执行命令前的服务:
执行后client-1服务都已添加:
通过以上命令可以关联模板的服务,如果需要批量添加,只需写个简单的脚本就能实现,见下图,执行前可删除刚才手动执行的命令添加的client服务:
WEB刷新服务:
批量添加完主机和服务要需要重新生成nagios配置后生效。
转载于:https://blog.51cto.com/zhlccna/1036665