cheng029 发表于 2012-10-24 11:29:54

解决zabbix_get 获取不到自定义key一例

解决zabbix_get 获取不到自定义key一例
最近发现线上一个机器A无法ping通,VPN另一端机器B。请公司网络组的兄弟确认路由后(同一段的其他机器均正常),怀疑可能是的系统问题。之间决定让值班的同事在零晨重启网络服务。之后,杯具发生了......
零晨重启网络服务后,死都连不上这台机器A;接到夜晚值班同事的电话后,进行简单判断怀疑是系统问题;该机上所运行的应用对业务系统相当重要,立即连接到公司网络。考虑到对业务系统的影响,便立即在另外一台机器上快速恢复应用。之后,决定天亮上班后,再请管服务器的兄弟看看。
具体情况如下:
A机器应用: 1、业务系统   2、zabbix_proxy (接收线上其他业务系统监控数据)
具体操作如下:
找到C机器,设置双IP后重新安装业务系统与zabbix_proxy,发现监控正常后,回家睡觉。
关于zabbix 获取不到自定义key
下午上班看了一下监控,发现线上系统所有关于自定义key的数据都在A机器故障前。其他zabbix_proxy监控的节点,却没有这种情况。
分析:
1、其他节点相同的自定义key是有数据的,表明我的自定义不存在问题,毕竟已经跑了很久了。
2、被C机器监控的节点,系统自带的key数据都是正常的,排除网络问题。
3、在C机器上使用zabbix_get 无法获取到节点的自定义key的值,基本上是返回一个空值。
经过多次验证,发现问题的根源其实很简单。
C机器eth0a.a.a.a (该机器本身的IP)eth0:0 b.b.b.b (B机器的IP地址)
原因: 被监控节点,发数据发送给b.b.b.b,在zabbix_proxy上执行zabbix_get时,使用的源地址是a.a.a.a,这就导致了使用zabbix_get返回空值。
解决方法:
方法1:使用脚本批量修改了被监控节点的Server地址为a.a.a.a
方法2:修改zabbix_proxy的配置文件选项# SourceIP=b.b.b.b <已进行测试确认OK>
方法3: 把eth0 eth0:1 的IP互换一下<这个最简单,但是系统在跑,没法搞>
使用方法2时,使用zabbix_get时,返回的仍然是空值。但是zabbix_server/zabbix_proxy是能够正常接收的。

5ol.cc 发表于 2013-3-13 21:40:40

真是 收益 匪浅

michellc 发表于 2013-5-15 21:36:33

我是来刷分的,嘿嘿

spell 发表于 2013-5-16 13:09:02

看帖回帖是美德!:lol

59519751 发表于 2013-5-17 09:26:29

男人偷腥时的智商仅次于爱因斯坦!

我积极解决 发表于 2013-5-18 03:05:17

看帖回帖是美德!:lol

hx0011yy 发表于 2013-5-18 23:59:13

只有假货是真的,别的都是假的!
页: [1]
查看完整版本: 解决zabbix_get 获取不到自定义key一例