Zabbix通过Scripts检测时报gethostbyname

2018-05-02  本文已影响16人  不正经运维

2018年5月2日 星期三

09:26

现象

因为某同事无意中把Zabbix数据库给truncate了,数据没能完全恢复(这台机器刚好近期进行了清理,而且历史问题导致一直没有进行磁带备份),所以就先把他的账号禁用了。

今天因为配置Agent需要进行连通性测试,所以要求进行账号开通。考虑到安全问题,建议他通过Web进行检测,方式如下:

  1. 在Web界面中,任意包含主机链接的地方,左键点击主机,在弹出菜单中,选择“Check/Agent”下的选项,即可进行Port和Alive测试。

但是,另外一个同事反馈,出现问题:

zabbix_get [6400]: Get value error: gethostbyname() failed for 'ip-hostname': [1] Unknown host

分析

问题很明显,gethostbyname,本地不配置hosts的,所以应该用zabbix中的IP信息。

好久没用了,难道要修改代码?顿时头大。

看了下Scripts中的内容,顿时清楚了,因为还有其他的项目做比较:

Check/Agent/Alive
/usr/local/zabbixagent/bin/zabbix_get -k agent.ping -s {HOST.NAME}

Check/Agent/Port
/usr/bin/nmap {HOST.NAME} -p 10050,20050 2>&1

这里使用的是{HOST.NAME}',所以gethostbyname`了。

解决

直到原因就好解决了,直接修改{HOST.NAME}{HOST.CONN},如下:

Check/Agent/Alive
/usr/local/zabbixagent/bin/zabbix_get -k agent.ping -s {HOST.CONN}

Check/Agent/Port
/usr/bin/nmap {HOST.CONN} -p 10050,20050 2>&1

经过测试,正常好用。

其他

如果报找不到命令,那就说明命令的地址配置错了,修改下就行。

上一篇下一篇

猜你喜欢

热点阅读