Сбой службы SNMP при перезагрузке - ошибка ядра
На моем сервере запущена служба 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
1 ответ
Как указал @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
и перезагрузка работает как шарм.