ZabbixでFortiGateのlink-monitorを監視
久々の投稿になってしまいました。
以前に、FortiGateのネットワークポートの状況をZabbixのディスカバリールールを使って監視できるようにする設定について書きましたが、今回はその続編です。
今回の目的
昨今、インターネットが使えなくなると業務上多大な影響が出てしまうので、インターネット回線を多重化し、FortiGateでLinkMonitorを使ってそのコントロールをするように設定したのですが、そのLinkMonitorの状況をZabbixで監視できるようにしようというのが今回の目的です。
(時間があれば、LinkMonitorの設定についても備忘録もかねて載せておこうとは思います)
OIDの特定
まずは、Zabbixで監視するためにはOIDの値を特定する必要があるのですが、この情報がインターネットで検索してもなかなか見つけられず苦労しました。
snmpwalkコマンドを使って探索した結果、以下のOID等から取得できることがわかりました。
FORTINET-FORTIGATE-MIB::fgLinkMonitorID | 1.3.6.1.4.1.12356.101.4.8.2.1.1 |
FORTINET-FORTIGATE-MIB::fgLinkMonitorName | 1.3.6.1.4.1.12356.101.4.8.2.1.2 |
FORTINET-FORTIGATE-MIB::fgLinkMonitorState | 1.3.6.1.4.1.12356.101.4.8.2.1.3 |
試しにsnmpwalk で取得してみると
snmpwalk -v 2c -c public 192.168.1.1 .1.3.6.1.4.1.12356.101.4.8 FORTINET-FORTIGATE-MIB::fgLinkMonitorNumber.0 = INTEGER: 3 FORTINET-FORTIGATE-MIB::fgLinkMonitorID.1 = INTEGER: 1 FORTINET-FORTIGATE-MIB::fgLinkMonitorID.2 = INTEGER: 2 FORTINET-FORTIGATE-MIB::fgLinkMonitorID.3 = INTEGER: 3 FORTINET-FORTIGATE-MIB::fgLinkMonitorName.1 = STRING: 1 FORTINET-FORTIGATE-MIB::fgLinkMonitorName.2 = STRING: 2 FORTINET-FORTIGATE-MIB::fgLinkMonitorName.3 = STRING: 3 FORTINET-FORTIGATE-MIB::fgLinkMonitorState.1 = INTEGER: alive(0) FORTINET-FORTIGATE-MIB::fgLinkMonitorState.2 = INTEGER: alive(0) FORTINET-FORTIGATE-MIB::fgLinkMonitorState.3 = INTEGER: alive(0) FORTINET-FORTIGATE-MIB::fgLinkMonitorLatency.1 = STRING: 8.928 FORTINET-FORTIGATE-MIB::fgLinkMonitorLatency.2 = STRING: 3.199 FORTINET-FORTIGATE-MIB::fgLinkMonitorLatency.3 = STRING: 7.395 FORTINET-FORTIGATE-MIB::fgLinkMonitorJitter.1 = STRING: 0.331 FORTINET-FORTIGATE-MIB::fgLinkMonitorJitter.2 = STRING: 0.166 FORTINET-FORTIGATE-MIB::fgLinkMonitorJitter.3 = STRING: 0.275 FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketSend.1 = Counter64: 257151 FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketSend.2 = Counter64: 257026 FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketSend.3 = Counter64: 258509 FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketRecv.1 = Counter64: 147002 FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketRecv.2 = Counter64: 256535 FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketRecv.3 = Counter64: 257752 FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketLoss.1 = STRING: 0.000% FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketLoss.2 = STRING: 0.000% FORTINET-FORTIGATE-MIB::fgLinkMonitorPacketLoss.3 = STRING: 0.000% FORTINET-FORTIGATE-MIB::fgLinkMonitorVdom.1 = STRING: root FORTINET-FORTIGATE-MIB::fgLinkMonitorVdom.2 = STRING: root FORTINET-FORTIGATE-MIB::fgLinkMonitorVdom.3 = STRING: root FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthIn.1 = Counter32: 998754 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthIn.2 = Counter32: 992947 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthIn.3 = Counter32: 999998 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthOut.1 = Counter32: 999251 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthOut.2 = Counter32: 991287 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthOut.3 = Counter32: 999999 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthBi.1 = Counter32: 1998005 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthBi.2 = Counter32: 1984234 FORTINET-FORTIGATE-MIB::fgLinkMonitorBandwidthBi.3 = Counter32: 1999997 FORTINET-FORTIGATE-MIB::fgLinkMonitorOutofSeq.1 = Counter64: 83876 FORTINET-FORTIGATE-MIB::fgLinkMonitorOutofSeq.2 = Counter64: 191491 FORTINET-FORTIGATE-MIB::fgLinkMonitorOutofSeq.3 = Counter64: 192971
の様に取得できます。
Zabbixへのディスカバリールール設定
ここまでわかれば、あとはディスカバリールールに設定していくだけです。
設定済みのテンプレートファイルは、こちら。
zbx_fglinkmonitor_templates.zip
設定すると、以下のようにLinkMonitorについて監視ができるようになり、LinkStatusがdeadになると、通知されるようにしてあります。
何かしらの参考になれば幸いです。