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响应代码.

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...