怎么 zabbix 这么费劲啊,我要气哭了

105 天前
 miaosl

我真几把受不了了 这样的服务端: 乌班图 24 客户端 1: debian12 客户端 2: centos7 客户端一,客户端主机名:msl1 ,然后自动注册条件是包含 msl ,注册不上,然后用匹配,匹配 msl 就可以了卧槽了然后删了注册到的主机又试了一次包含又行了?!

客户端二,离谱的事情来了, 客户端配置: [root@mha0 scripts]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agentd.conf PidFile=/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 AllowKey=system.run[*] Server=10.33.0.1 ServerActive=10.33.0.1 HostnameItem=system.hostname AllowRoot=1 Include=/etc/zabbix/zabbix_agentd.d/*.conf 然后服务端日志疯狂的报: ` 57342:20240722:115112.559 cannot send list of active checks to "10.2.0.0": host [mha0] not found

客户端疯狂的报: 40610:20240722:195037.476 no active checks on server [10.33.0.1:10051]: host [mha0] not found

但是我明明都能在服务端: root@msl:~# zabbix_get -s 10.2.0.0 -k "system.run[hostname]" mha0

` 我快气哭了,有经验的大佬快来救救我

4696 次点击
所在节点    Linux
35 条回复
s270987763
104 天前
1. 用了客户端主动上报模式;
2. 日志报错 很明显是主机未能注册成功,无法发送主动上报的监控项;
3. zabbix agent 配置 中主机名与 zabbix server web 配置中主机名不一致;
4. 检查自动发现规则
ladeo
104 天前
zabbix 很好用啊。估计 op 不是运维人员。
服务器<1000 台基本都 ok 。
zabbix 都不好用的话,naggios 不是更不好用了吗?
liuliancao
104 天前
第一个问题 有没可能是自动发现轮询间隔导致的 自动发现也可以设置 ip 段 要稍微等等
第二个问题 客户端配置的 active 模式,你添加资产的时候 看下是不是选择了被动模式

https://blog.51cto.com/qixue/category7.html 可以参考下我很久前写的 不过现在版本变化太大了 思路是差不多的

不少 idc 都在使用,zabbix 还是挺好用的哈 使用这些肯定需要慢慢才会熟悉的 多折腾折腾 多 google 下

如果还觉得受不了 也可以试用下 promethues 或者其他监控软件
8355
104 天前
zabbix 那复杂的界面 不会用上手极为费劲
prometheus + grafana
拥抱现代化吧。。
Sharuru
104 天前
借楼求问 prometheus 有没有开箱即用的报警规则?
miaosl
104 天前
@Qetesh 啊,大哥,我发现自动注册不设置条件就可以了,但是为啥设置条件就不行了,难道这个条件是对已经获取了的主机进行赛选用的嘛
miaosl
104 天前
@paxnil 可能没说清楚,客户端 2 是 mha0 客户端 1 是 msl1 ,这个没问题的,我发现是因为我添加了自动注册条件导致的,但是讲道理这个自动注册条件为啥会报错
miaosl
104 天前
@s270987763 是自动注册,我昨天看了一下,自动注册的条件是非必填项目,但是我填了,
不填条件的化都能自动注册的,但是这个自动注册的条件到底是怎么用的
miaosl
104 天前
@Sharuru 我看好多人都在说普罗米修斯才是主流,我的研究一下了
FlytoSirius
104 天前
很多年前,Zabbix 和 Nagios 还很流行, 云计算也并不普遍, 当时部署使用 Zabbix 管理我们的单位的数据中心。
这么多年过去了, 现在做决策说还要用 Zabbix 的, 可能也都算是老头子了吧 。。。
yulgang
104 天前
我没遇到过这种问题。

agent 配置文件里的 hostname 要配置对,和 server 端网页里对应这个主机的 Host name 要一致,我习惯添 agent 端的 IP 地址。
自动注册时 agent 配置文件里的 HostMetadata 也要设置对,然后 server 端网页上的自动注册的 Conditions 里配置 Host metadata contains XXXX ,Operations 里可以:

Add to host groups: YYYY ;
Remove from host groups: Discovered hosts ;
Link to templates: TTTT

这样就把 HostMetadata 里包含 XXXX 的主机自动添加到 YYYY 组里,如然后从自动注册分组里删掉这个主机,关联监控模板 TTTT


host [mha0] not found 猜测是你的 agent 端 hosts 里没配置这个主机名的记录
unknown404
104 天前
miaosl
104 天前
@yulgang 大哥,我最后是把 server 端的自动注册的条件取消了之后就可以了,因为我最开始学的时候,好像那个自动注册条件是就不需要配置?
还是说这个自动注册的条件是对已经注册成主机的经行赛选分类的?
263
103 天前
看你的参数,只有 HostnameItem ,没有 Hostname ,这是不正确的配置。
zabbix 建议即使设置了 HostnameItem=system.hostname ,也需要是指正确的 Hostname= mha0 。HostnameItem=system.hostname 是用来指定获取 hostname 的方法,而不是设置 hostname 。
agent 的部署推荐使用 ansible 等来批量部署,直接获取系统变量填写,不要使用 HostnameItem=system.hostname 这种方式
liuliancao
103 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1059247

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX