Mic*_*ega 10 linux nagios network-monitoring best-practices
我运行一个中型 Nagios 服务器。它目前监控大约 40 台服务器和 180 项服务,并且每天都在增长。
我从以非常深奥的方式配置的旧 Nagios 设置迁移,迫使我从头开始重新配置所有内容。
现在服务器正在运行并且可以满足我们大部分需要,我正在考虑让它更具可扩展性;当前每个主机/etc/nagios/hosts/在 . 这显然不是最优的,但也没有将我的所有配置混淆到数百个不同的文件中。
所以我的问题是:对于任何有经验的 Nagios 管理员来说,在不使配置过于复杂的情况下使用主机组/服务组的最佳方法是什么?
asc*_*hil 13
主机组和模板。
模板让您可以为您的主机和服务定义类,例如“普通服务”、“关键服务”、“低优先级主机”。如果您有多个具有不同职责的团队,它们也可以作为划分职责的有用方法,因此您可以拥有一个“linux 主机”模板和一个“windows 主机”模板,每个模板都定义了适当的联系信息。
您可以在单个资源上使用多个模板,因此您可以组合适当的正交模板。例如,你可以有
host foo {
use windows-host,normal-priority-host
...
}
Run Code Online (Sandbox Code Playgroud)
这将获取 Windows 团队的联系信息(和升级)以及“正常”主机的轮询率和阈值。
主机组使您可以将针对主机子集的所有检查组合在一起。有像“baseline-linux-hosts”这样的东西来检查负载、磁盘空间、ssh能力,以及你监控的每台主机上应该有的任何其他东西。添加像“https-servers”这样的组,检查 HTTP 连接、HTTPS 连接和 SSL 证书到期日期;“文件服务器”,可检查 NFS 和 SMB 可访问性,并且可能进行更积极的磁盘检查;或“虚拟机”,检查 VM 可访问性工具是否正常运行。
将每个主机和主机组放在自己的文件中。该文件应首先包含主机或主机组定义,然后是适用于它的服务的定义。
如果您cfg_dir在nagios.cfg文件中使用该指令,Nagios 将在该目录中递归搜索。利用那个。对于 的设置cfg_dir=/etc/nagios/conf.d,您可以拥有如下所示的目录树:
我倾向于为每个资源类型(命令、联系人组、联系人、升级、主机组、主机、服务组、时间段)创建一个目录,除了服务,这些资源与使用它们的主机或主机组分组在一起。
精确的结构可以根据您的组织需求而有所不同。在过去的工作中,我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.; 即使收到 403 响应代码,它也会返回 OK。
| 归档时间: |
|
| 查看次数: |
7897 次 |
| 最近记录: |