我在我工作的一家小型ISP公司使用Nagios和Check_MK插件。我是唯一的Nagios管理员,但我们有一些使用Nagios / Check_MK系统的用户(将Check_MK作为网络前端)。
由于我们使用的大多数设备都是具有专有操作系统的MikroTik路由器,我无法在其中安装check_mk代理(必须使用SNMP),我使用Check_MK与generate_hostconf = False
- 我必须手动定义WiFi接口检查(如无论如何,信号强度检查)所有主机配置都在Nagios文件中完成。
使用该系统的所有用户都列在cgi.cfg
中,authorized_for_all_services=user1,user2
和authorized_for_all_hosts=user1,user2
等。
由于我对当前配置不满意(不同的主机和服务类型之间没有足够的基于服务器的区分 - 即我们不仅需要主干/不受监控的主机区分,而是像骨干网那样更细粒度的东西/分布层1 /分布层2 /不受监控的客户端),我开始将配置更改为有些hackish设置,每个真实用户有多个联系人,分配了不同的时间段,以便例如'分布层2'主机不会在凌晨3点唤醒人们。也许这不是正确的方法。
无论如何,这是问题 - 我创建了新的联系人和联系人组以及一些库存规则 - 对于它看起来工作正常的服务,但是显然主机在Check_MK Web界面中不可见(但它们是可见的在我们的Nagios网站上)。最有可能是因为我以“旧”用户身份登录,他不是新联系人组的成员,但仍然应该看到所有主机(如cgi.cfg
中所定义) 。 我是否可以通过该设置在Check_MK GUI中显示主机,而不仅仅是在Nagios网络界面中?
即使将设置更改回以前的状态,我也必须使用check_mk --flush hostname
并使用check_mk -II hostname
重新进行清点,以使主机再次显示。
我没有尝试向.htaccess
添加新联系人,因为我真的不想创建具有登录权限的多个联系人。 在这种情况下,Check_mk是否会忽略authorized_for_all_hosts / services
中定义的cgi.cfg
指令?
我可以看到Check_MK本身能够与GUI中未显示的主机通信 - 我可以check_mk -II hostname
或check_mk -N hostname
。 etc/check_mk.d/check_mk_objects.cfg
和nagios/var/retention.dat
中存在适当的条目;主机名列有check_mk --list-tag TAG
等,因此很可能只是GUI用户权限的问题。
我知道我可以在Nagios配置文件中使用notification_period
指令用于主机和自定义SNMP服务,在extra_service_conf['notification_period']
中使用main.mk
,但我实际上在某些特殊情况下使用它而不是'确定优先规则。
无论如何,它是Ubuntu Server 12.04 LTS x86_64,Nagios Core 3.4.1,Check_MK 1.2.0p3。
答案 0 :(得分:1)
显然,在default_user_role = "admin"
中使用multisite.mk
就足够了。也许不是最安全的事情,但它可以在这个设置中完成工作。