在过去的几个小时里,我一直用头撞墙,所以我在这里问过你们。
我有一个collectd实例,它被设置为获取统计指标,并使用network插件将它们向前路由到主收集实例,然后通过write_graphite插件将它们发送到write_graphite 。
发送指标到statsd插件工程(我用tcpdump检查,并使用csv插件作为debugging工具)。
当network插件将收集的指标发送到“主要”收集实例时,这成为一个问题。 network插件似乎只发送数据每100秒一次或重新启动时(我想它刷新缓冲区,当它停止)。
这里是客户端机器的configuration:
/etc/collectd/collectd.conf
Hostname "collectd.client" FQDNLookup false BaseDir "/var/lib/collectd" PluginDir "/usr/lib/collectd" TypesDB "/usr/share/collectd/types.db" AutoLoadPlugin false Interval 10 LoadPlugin logfile <Plugin logfile> LogLevel "info" File "/var/log/collectd.log" Timestamp true PrintSeverity true </Plugin> <Include "/etc/collectd/conf.d"> Filter "*.conf" </Include>
/etc/collectd/conf.d/network.conf
LoadPlugin network <Plugin "network"> <Server "main-instance-ip" "25826"> SecurityLevel "Encrypt" Username "collectd" Password "xxxxxxxx" </Server> </Plugin>
/etc/collectd/conf.d/collectd.statsd.conf
LoadPlugin statsd <Plugin statsd> Host "0.0.0.0" Port "8125" </Plugin>
下面是运行tcpdump的输出:
$ sudo tcpdump -i any udp port 25826 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes 04:49:52.889504 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1337 04:51:52.889498 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1373 04:53:52.889469 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1363 04:55:42.889507 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1375 04:57:42.889504 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1368 04:59:52.889519 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1366 05:01:52.889511 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1363 05:03:42.889507 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1375 05:05:42.889485 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1363 05:07:32.889497 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1375 05:09:32.889477 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1363 05:11:22.889528 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1375 05:13:32.889503 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1395 05:15:42.889484 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1366 05:17:42.889493 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1373 05:19:42.889552 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1368 05:21:52.889502 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1361 05:23:42.889500 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1375 05:25:42.889491 IP ip-10-xxx-xx7-60.ec2.internal.43536 > ip-10-xxx-xx-7.ec2.internal.25826: UDP, length 1363
从输出看来,现在决定每2分钟运行一次。
你收集了多less价值?
据我所知, network插件在缓冲区已满时发送数据。 尝试使用MaxPacketSize 1024指令,或收集更多的数据。