首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用户参数和ZBX_NOTSUPPORTED

用户参数和ZBX_NOTSUPPORTED
EN

Stack Overflow用户
提问于 2015-10-25 20:15:47
回答 5查看 16.6K关注 0票数 3

我想从运行zabbix代理的所有服务器ping一个外部ip。

我搜索并找到了一些关于zabbix用户参数的文章。在/etc/zabbix/zabbix_agentd.conf.d/中,我创建了一个名为userparameter_ping.conf的文件,其内容如下:

代码语言:javascript
运行
复制
UserParameter=checkip[*],ping -c4 8.8.8.8 && echo 0 || echo 1

我在zabbix服务器中创建了一个名为checkip的项目,其中有一个图形,但没有得到任何数据。经过另一次挖掘,我找到了zabbix_get并测试了我的用户参数,但我得到了错误:ZBX_NOTSUPPORTED

代码语言:javascript
运行
复制
# zabbix_get -s 172.20.4.43 -p 10050 -k checkip

我的zabbix版本:

代码语言:javascript
运行
复制
Zabbix Agent (daemon) v2.4.5 (revision 53282) (21 April 2015)

有人知道我能做些什么来解决这个问题吗?

EN

回答 5

Stack Overflow用户

发布于 2015-11-01 16:53:11

经过一些改变,并与邮件列表中的人们讨论后,它终于起作用了,但它是如何工作的:

首先,我在中创建了一个文件:

代码语言:javascript
运行
复制
/etc/zabbix/zabbix_agentd.conf.d/

然后添加这一行:

代码语言:javascript
运行
复制
 UserParameter=checkip[*],ping -W1 -c2 $1 >/dev/null 2>&1 && echo 0 || echo 1

然后运行以下命令:

代码语言:javascript
运行
复制
    ./sbin/zabbix_agentd -t checkip["8.8.8.8"]
checkip[8.8.8.8]                              [t|0]

因此,除了超时选项之外,一切都完成了,这对我们来说是非常重要的:

在/etc/zabbix/zabbix_agentd.conf中添加超时

代码语言:javascript
运行
复制
Timeout=30

超时默认值为3s,因此如果我们运行

代码语言:javascript
运行
复制
time ping -W1 -c2 8.8.8.8

看,也许它需要超过3秒,所以你得到了错误:

代码语言:javascript
运行
复制
ZBX_NOTSUPPORTED
票数 5
EN

Stack Overflow用户

发布于 2015-10-26 02:04:33

它可以是任何东西。例如,超时-默认超时为3秒,ping -c4需要至少3秒、ping的权限/路径,而不是重启的代理...

提高调试级别,重新启动代理并检查zabbix日志。您还可以直接测试zabbix_agentd:

代码语言:javascript
运行
复制
zabbix_agentd -t checkip[]

m|ZBX_NOTSUPPORTED =>超时问题。编辑zabbix_agentd.conf并增加超时设置。默认3秒不是最适合您的ping,它需要3+秒。

票数 0
EN

Stack Overflow用户

发布于 2018-11-07 21:43:49

如果执行时间超过30秒,可以使用nohup (command..) &组合来限制超时限制。

这样,如果您生成了包含结果的文件,则在下一遍中,您可以读取该文件并返回结果,而无需等待。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33329557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档