Systemd
SNMP 服務在重新載入時崩潰 - 核心錯誤
我的伺服器有一個 SNMP 服務 (NET-SNMP) 以
systemd
. 它執行良好,除了每 3 天,在下午 3:00,服務崩潰。我在日誌中註意到代理重新載入。然後它崩潰了。
由於日誌的 logrotate,服務被重新載入。日誌文件在 2+ 天后達到 logrotate 所需的大小,因此在第 3 天,logrotate 開始。有一個 postrotate 可以重新載入 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.0 升級到了 SLES 12 SP4。
現在,庫也更新了,使用
libnetsnmpmibs.so.30.0.3
代替libnetsnmpmibs.so.30.0.2
,並且重新載入作為一個魅力。