Perl Sys::Syslog генерирует некорректные UDP-пакеты
Я пытаюсь отправить сообщения системного журнала в Splunk по UDP-порту 514. Он печатает на консоль, но не отображается на сервере Splunk. Я проверил сеть в Wireshark, и она показывает, что контрольная сумма заголовка неверна, поэтому я предполагаю, что пакет UDP не отправлен. Это проблема с Sys::Syslog, Perl или чем-то еще, и как я могу это исправить?
setlogsock("udp", "splunktest.dev.xxxx.com") or die ("Could not open log socket. $!");
# setlogsock({type => 'udp', host => "mon.prod.xxxx.com"} ) or die ("Could not open log socket. $!");
# setlogsock("udp", "web02.prd.xxxx.com") or die ("Could not open log socket. $!");
# setlogsock("udp", "mon.prod.xxxx.com") or die ("Could not open log socket. $!");
# setlogsock("console", "mon.prod.xxxx.com") or die ("Could not open log socket. $!");
openlog("[apache-status]", 'perror', LOG_USER);
syslog(LOG_INFO, "Apache NY Status: $busy/$total, Idle: $idle");
Это ошибка в Wireshark:
9 16.367577 172.17.3.221 172.17.3.230 Syslog 42 [Malformed Packet]
Header checksum: 0x0000 [incorrect, should be 0xb125 (maybe caused by "IP checksum offload"?)]
Это perl 5, версия 14, subversion 2 (v5.14.2), созданная для хеда MSWin32-x64-multi-t (с 1 зарегистрированным патчем, более подробно смотрите в perl -V)
Copyright 1987-2011, Ларри Уолл
Двоичная сборка 1402 [295342] предоставлена ActiveState http://www.activestate.com/ Построена 7 октября 2011 15:19:36