Zabbixで、IPv6を無効にしたら、下記のログが障害検知され止まらなくなりました。
下記のログは NetworkManager のログメッセージであり、Zabbixはこのログを単に収集しているだけです。
問題の原因は IPv6が無効化されたことで、NetworkManagerがIPv6リンクローカルアドレスの取得に失敗している。
そのため、リトライを繰り返し、その都度ログを出力しています。
Aug 7 15:03:20 MAIL01-RL8 NetworkManager[811]: <warn> [175454xxxx.1xxx] ipv6ll[e642018exxxxxxxx,ifindex=2]: changed: no IPv6 link local address to retry after Duplicate Address Detection failures (back off)
対処方法は、2通りあります。
NetworkManager側でIPv6を無効する方法と、NetworkManager のログレベルを下げる方法になります
ただし、NetworkManager側でIPv6を無効します方法はインターフェイスをdown,upを必要がありSSHコンソールで接続できなくなります。
物理端末またはVMのコンソール画面での操作が必要になりますので注意が必要です。
サーバーの再起動や筆者は本番稼働のサーバーでの運用で再起動はできないのでNetworkManager のログレベルを下げる方法での対処となりました。
NetworkManager側でIPv6を無効にする
NetworkManagerがIPv6を使おうとしてログが出るため、NetworkManager側でも明示的にIPv6を無効化します。
nmcli コマンドで現在の接続名を確認
$ sudo nmcli connection show # 出力例 NAME UUID TYPE DEVICE Wired connection 1 7d8f1ad4-xxxx-yyyy-zzzz-aaaaaaaaaaaa ethernet eth0
接続ごとにIPv6を無効化
$ sudo nmcli connection modify "Wired connection 1" ipv6.method "ignore"
設定を適用します。ただし、インターフェイスをdownを実行するとネットワークが切断され、その後接続できなるので注意が必要です
物理端末またはVMのコンソール画面での操作ができない場合はこの手順はお勧めできません
$ sudo nmcli connection down "Wired connection 1" $ sudo nmcli connection up "Wired connection 1"
NetworkManager のログレベルを下げる(警告レベルを抑制)
再起動やネットワーク断を避けるなら、ログレベルをだけ抑えてから、syslog などで該当ログのフィルタリングする方法となります。
NetworkManagerのログレベルをエラー以上とします
$ sudo vim /etc/NetworkManager/NetworkManager.conf [logging] level=ERROR domains=ALL
NetworkManager の再起動します
$ sudo systemctl reload NetworkManager
IPv6に関連するログをrsyslog でフィルタリングして保存しないようにします。
/etc/rsyslog.conf または /etc/rsyslog.d/99-ignore-ipv6.conf に以下を追加
$ sudo vim /etc/rsyslog.d/99-ignore-ipv6.conf :msg, contains, "ipv6ll" stop
rsyslog を再起動すると、IPv6 に関するログがフィルタリングされ出力が抑制されます。
$ sudo systemctl restart rsyslog
コメント