На моем сервере есть служба SNMP (NET-SNMP), запущенная с systemd
. Работает нормально, за исключением того, что каждые 3 дня в 15:00 происходит сбой службы.
В журнале замечаю, что происходит перезагрузка агента. Потом вылетает.
Служба перезагружается из-за логротации журналов. Файл журнала достигает размера, необходимого для logrotate, через 2+ дней, поэтому на 3-й день запускается logrotate. Существует постротация для перезагрузки snmpd (и snmptrapd, который не включен).
Но, как видно ниже, он не перезагружается.
Вот журнал из /var/log/messages
. Машина SLES 12.
2019-01-16T15:00:01.261639+01:00 myserver systemd[1]: Reloading LSB: Net-SNMP agent.
2019-01-16T15:00:01.270020+01:00 myserver kernel: [4192068.189683] floppy: error -5 while reading block 0
2019-01-16T15:00:01.270032+01:00 myserver kernel: [4220891.794129] snmpd[37667]: segfault at 0 ip 00007ff808105224 sp 00007ffc65011420 error 4 in libnetsnmpmibs.so.30.0.2[7ff80806a000+180000]
2019-01-16T15:00:01.271016+01:00 myserver snmpd[49093]: Reload service snmpd:..done
2019-01-16T15:00:01.282082+01:00 myserver systemd[1]: Reloaded LSB: Net-SNMP agent.
2019-01-16T15:00:01.282290+01:00 myserver snmpd[49101]: Shutting down snmpd:..done
2019-01-16T15:00:01.291082+01:00 myserver systemd[1]: Unit snmptrapd.service cannot be reloaded because it is inactive.
2019-01-16T15:00:01.481446+01:00 myserver systemd[1]: Reloading System Logging Service.
Последняя строка журнала из net-snmpd.log
файл, прямо перед сбоем: Reconfiguring daemon
Как отметил @Lex Li, проблема была показана в этой строке:
2019-01-16T15:00:01.270032+01:00 myserver kernel: [4220891.794129] snmpd[37667]: segfault at 0 ip 00007ff808105224 sp 00007ffc65011420 error 4 in libnetsnmpmibs.so.30.0.2[7ff80806a000+180000]
Каждый раз сервис был перезагружен, тогда это произошло. Только на перезагрузить. Я до сих пор не знаю, в чем именно заключалась проблема с этой библиотекой, но я обновил свою систему до SLES 12 SP4 с SLES 12.0.
Теперь библиотека также обновлена, используя libnetsnmpmibs.so.30.0.3
вместо того libnetsnmpmibs.so.30.0.2
, а перезагрузить работает как оберег.