ganglia 报 “Error 1 sending the modular data for” Error解决方法
现象
使用ganglia监控集群时,发现有些节点没有数据,查看syslog发现报错如下:
Jan 5 16:46:38 test139 /usr/sbin/gmond[21974]: Error 1 sending the modular data for udp_inerrors#012
是说发送模块数据失败。
问题分析
测试了单机环境中,没有发现此问题,监控数据收集正常;只有在集群中才出现的。
隐隐中觉得是从节点发送监控数据到master节点失败。集群中我们是配置的单播模式,所有从节点gmond都将监控数据发送到master的gmond节点,使用udp发送。
做个测试:
关掉master gmond,重启从节点的gmond
发现从的出现现象职工Error,则定位问题。
从节点搜集到数据后,会通过upd发送到配置的数据汇集gmond(master),此时如果主节点不可用则会报错。
解决方法
设置主从gmond的启动顺序,在监控系统启动时,首先启动数据汇集节点的gmond,然后启动从节点的gmond。