概要
Zabbixを用いて、F5のLB、BIGIPをZabbixにて監視する方法を備忘録として残す。
他のネットワーク機器のSNMP監視にも使える手法でもあるので覚えておいて損はない。
手順
BIGIPには、以下のようにMIBが用意されている。
BIGIPのMIBは、GUIの以下の場所からDLする事ができる。
DLしてきたMibをZabbixサーバに配置する。以下のフォルダに、MIBを配置する。
基本的に
/usr/share/snmp/mibs
もしくはここかも?
/var/lib/zabbix/mibs
Zabbix側で、プライベートMibはどこに配置するかを事前に指定しておく。基本的には/etc/snmp/snmp.confというファイルを作り、その中に以下のような記載をしておく。
MIBDIRS /usr/share/snmp/mibs:/usr/share/snmp/private-bims
MIBS all
MIBS allは読み込むMIBの事であり、allにより全てを指定してくれる。
その中のMibのOIDは、以下のようになっているらしい。
これを参考にsnmpwalkコマンドを実行する。(コミュニティ名は事前にわかっているものとする。)
snmpwalkがない場合は、dnf install net-snmp-utilsなどで入れておくこと。
snmpwalk -v 2c -c 【コミュニティ名】 【BIGIPのIP】 F5-BIGIP-GLOBAL-MIB::gtmWideips
[usero@e3b315a118a2 mibs-private]$ snmpwalk -v 2c -c comunityname 10.111.111.111 F5-BIGIP-GLOBAL-MIB::gtmWideips
略
F5-BIGIP-GLOBAL-MIB::gtmWideipPoolPoolType.aaaa."/Common/test-wideip.jp".aaaa."/Common/test-wideip.n2234dac74" = INTEGER: aaaa(28)
F5-BIGIP-GLOBAL-MIB::gtmWideipPoolPoolType.aaaa."/Common/test-wideip.jp".aaaa."/Common/test-wideip.n4234da7d6" = INTEGER: aaaa(28)
余談 (スカラーIDとテーブルIDについて)
$ snmpwalk -v 2c -c norio 10.26.6.61 .1.3.6.1.4.1.3375.2.1.1.2.24.22
略
F5-BIGIP-SYSTEM-MIB::sysDnsStatOpcodeQuery.0 = Counter64: 0
ここで登場する .0 の有無 がポイント
1. スカラーOID(Scalar OID)
定義
- 1つの値だけを表すOID
- エージェントに1つしか存在しないオブジェクト
- 必ず末尾に .0 を付けるのがルール
図解
スカラーOID
┌──────────────┐
│ OID.0 → 値1 │ ← 1つだけ
└──────────────┘
例
OID: .1.3.6.1.4.1.3375.2.1.1.2.24.22.0
MIB: F5-BIGIP-SYSTEM-MIB::sysDnsStatOpcodeQuery.0
snmpget をすると 1つのカウンタ値 が返ります。
2. テーブルOID(Table OID)
定義
- 複数の行と列を持つ表形式のOID
- インスタンス(行番号)と列番号を指定して値を取得
図解
テーブルOID
┌─────┬─────┬─────┐
│行\列│ col1│ col2│
├─────┼─────┼─────┤
│ row1│ v11 │ v12 │
│ row2│ v21 │ v22 │
│ row3│ v31 │ v32 │
└─────┴─────┴─────┘
↑
.1 (行番号)
↑
.2 (列番号)
例
.1.3.6.1.4.1.3375.2.1.1.3.2.1.2.1
→ テーブルの1行目・2列目に相当
snmpwalk をすると 表全体を行ごとに取得 できます。
参考リンク
