linux – Nagios服务器的最佳实践?

前端之家收集整理的这篇文章主要介绍了linux – Nagios服务器的最佳实践?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我运行一个中型Nagios服务器.它目前监控大约40台服务器,提供180项服务,并且只在当天增长.

我从一个以非常深奥的方式配置的旧Nagios设置迁移,迫使我从头开始重新配置所有内容.

现在服务器正在运行并且可以满足我们所需要的大部分工作,我正在考虑使它更具可扩展性;目前,每个主机都是/ etc / nagios / hosts /中的自己的文件,每个主机的所有服务都在同一个文件中.这显然不是最佳选择,但也没有将我的所有配置混淆为数百个不同的文件.

所以我的问题是:对于任何有经验的Nagios管理员,在不使配置过于复杂的情况下,使用主机组/服务组的最佳方法是什么?

解决方法

主机组和模板.

模板允许您为主机和服务定义类,例如“正常服务”,“关键服务”,“低优先级主机”.如果你有多个不同职责的团队,它们也可以作为划分职责的有用方法,因此你可以拥有一个“linux主机”模板和一个“windows主机”模板,每个模板定义相应的联系信息.

您可以在单个资源上使用多个模板,因此您可以组合适当的正交模板.例如,你可以拥有

host foo {
    use windows-host,normal-priority-host
    ...
}

这将为Windows团队提供联系信息(和升级)以及“正常”主机的轮询率和阈值.

主机组允许您将主机子集的所有检查组合在一起.像“baseline-linux-hosts”这样的东西可以检查你监控的每个主机上的负载,磁盘空间,可用性以及其他任何东西.添加“https-servers”等组,检查HTTP连接,HTTPS连接和SSL证书到期日期; “文件服务器”,检查NFS和SMB可访问性,可能是更积极的磁盘检查;或“虚拟机”,检查VM辅助功能工具是否正常运行.

将每个主机和主机组放在自己的文件中.该文件应首先包含主机或主机组定义,然后是适用于它的服务的定义.

如果在nagios.cfg文件中使用cfg_dir指令,Nagios将以递归方式搜索该目录.利用它.对于cfg_dir = / etc / nagios / conf.d的设置,您可以拥有如下目录树:

> /etc/nagios/conf.d/

> commands.d /

> http.cfg
> nrpe.cfg
> smtp.cfg
> ssh.cfg

> hosts.d /

> host1.cfg
> host2.cfg
> host3.cfg

> hostgroups.d /

> hostgroup1.cfg
> hostgroup2.cfg

我倾向于为每种资源类型(命令,联系人组,联系人,升级,主机组,主机,服务组,时间段)创建一个目录,但服务除外,它们与使用它们的主机或主机组分组.

精确的结构可能会根据您的组织需求而有所不同.在过去的工作中,我在hosts.d下使用每个不同站点的子目录.在我目前的工作中,大多数Nagios主机定义都是由Puppet管理的,因此Puppet管理的主机有一个目录,手工管理主机有一个单独的目录.

请注意,上述内容还通常通过协议将命令分成多个文件.因此,nrpe.cfg文件将具有check_nrpe和check_nrpe_1arg命令,而http.cfg可以具有check_http,check_http_port,check_https,check_https_port和check_https_cert.1.

我通常没有大量的模板,所以我通常只有一个hosts.d / templates.cfg文件和一个services.d / templates.cfg文件.如果你更重要地使用它们,它们可以进入templates.d目录中适当命名的文件.

1我喜欢也有check_http_blindly命令,基本上是check_http -H $HOSTADDRESS $-I $HOSTADDRESS $-e HTTP / 1.它返回OK即使它获得403响应代码.

猜你在找的Linux相关文章