Quantos valores você coleciona?
Até onde eu sei, o plugin network
envia dados quando o buffer está cheio. Tente usar a diretiva MaxPacketSize 1024
ou colete mais dados.
Eu tenho batido minha cabeça contra uma parede com isso nas últimas horas, então eu pedi para vocês aqui.
Eu tenho uma instância collectd que é configurada para usar métricas statsd e usar o network
plugin para direcioná-las para uma instância principal do collectd e enviá-las para influxdb através do write_graphite
plugin.
O envio de métricas para o statsd
plug-in funciona (eu verifiquei com tcpdump
e usei o csv
plugin como uma ferramenta de depuração).
Torna-se um problema quando o plug-in network
envia as métricas coletadas para a instância collectd "principal". O plug-in network
parece enviar apenas dados uma vez a cada 100 segundos ou quando ele é reiniciado (acho que ele libera os buffers quando ele é interrompido).
Aqui estão as configurações da máquina do cliente:
/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>
Aqui está a saída de tcpdump
executando um pouco:
$ 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
Parece que a saída já decidiu rodar a cada ~ 2 minutos agora.
Quantos valores você coleciona?
Até onde eu sei, o plugin network
envia dados quando o buffer está cheio. Tente usar a diretiva MaxPacketSize 1024
ou colete mais dados.
Tags collectd