色粉盒撒娇 发表于 2019-1-16 06:34:37

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

  nagios里的host.cfg,service.cfg配置起来有没有觉的相当的麻烦,繁琐。有没有可能自动化的一键就部署几百台服务器的服务监控?没事,写个脚本不就完事了..
  1,首先创建一个主机列表文件hostlist.txt
  # 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
#
  可以手动写进去,也可以用脚本去取添加
  2,现在开始写脚本文件
  # vim dd.sh
  #!/bin/bash
rm -f tongrui.host
exec >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可执行的权限:# chown a+x dd.sh
  3.执行dd.sh这个脚本
  现在我们来看tongrui.host有没有写入
  # 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 ,部署好了之后 ,很多的监控项目都是需要另外写脚本的,不是简单的整合而已,别一听监控 ,就觉得,多牛多牛 ,其实就是最基本的,监控都没有 ,你运维什么呢。




页: [1]
查看完整版本: shell脚本批量建立nagios中host.cfg,service.cfg等文件!