designetwork

ネットワークを軸としたIT技術メモ

ZABBIX(SNMP MIB)でDHCPスコープの使用状況を監視する

f:id:daichi703n:20160908013830j:plain

ZABBIXでMIBによってWindows ServerのDHCPスコープ使用状況を監視する。
大半のエンタープライズLANで使用されているDHCPだが、接続端末が増えてIPアドレスが枯渇して払い出せない、となったら致命的なサービス影響となる。
接続端末を厳密に管理すれば発生しない問題ではあるが、無線LANの使用などもあり、管理には限界がある。
そのため、DHCPスコープの使用状況をモニタリングして、計画的にサブネット拡張をしていきたい。
また、逆に余剰分の回収も可能になる。

DHCP MIB

DHCPのMIB OIDは次の通り定義されている。ここでは広く使用されているWindows ServerのDHCP MIBを記載する。

種類 MIB OID
dhcpScope 1.3.6.1.4.1.311.1.3.2
scopeTable 1.3.6.1.4.1.311.1.3.2.1
scopeTableEntry 1.3.6.1.4.1.311.1.3.2.1.1
subnetAdd 1.3.6.1.4.1.311.1.3.2.1.1.1
noAddInUse (Used IPs) 1.3.6.1.4.1.311.1.3.2.1.1.2
noAddFree (Available IPs) 1.3.6.1.4.1.311.1.3.2.1.1.3
noPendingOffers 1.3.6.1.4.1.311.1.3.2.1.1.4

これらを組み合わせることで、DHCPスコープの使用状況を可視化できる。

(参考) Free DHCP-MIB SNMP MIB Download - Free MIB Download - Search MIBs - OiDViEW

ZABBIXディスカバリー設定

ZABBIX使用時の重要機能であるディスカバリーDHCPスコープでも自動でアイテム、グラフを作成することができる。

アイテム設定時はキー、アイテム名に#SNMPVALUE(あるいは#SNMPINDEX)を忘れずに。subnetAddのSNMPVALUE = 他アイテムのSNMPINDXなので、どちらでも可能。これを忘れるとアイテムが重複して取得できない。

ディスカバリー
subnetAdd
1.3.6.1.4.1.311.1.3.2.1.1.1

ZABBIX 3.xではディスカバリーの設定方法が変わり以下のようにOIDを指定する。
discovery[{#SNMPVALUE},1.3.6.1.4.1.311.1.3.2.1.1.1]

アイテム
以下3つを積み上げグラフにするのがオススメ。
noAddInUse (Used IPs)
1.3.6.1.4.1.311.1.3.2.1.1.2.{#SNMPVALUE}

noAddFree (Available IPs)
1.3.6.1.4.1.311.1.3.2.1.1.3.{#SNMPVALUE}

noPendingOffers
1.3.6.1.4.1.311.1.3.2.1.1.4.{#SNMPVALUE}

グラフ作成イメージ

グラフは積み上げで作成するのが見やすいと思う。

noAddInUseを緑、noAddFreeを青、noPendingOffersを赤にするとこのようになる。

f:id:daichi703n:20160908013021p:plain

noPendingOffersは実際は必要か怪しい部分あり。

不具合情報

WindowsServer2008では、MIBで取得できるDHCP払い出し状況とサーバーマネージャーで見えるのとで差異があることがある。基本的にサーバーマネージャーの数値が最新で実際の使用状況なのだが、SNMP MIBで見ると実際より払い出しが多かったり少なかったり、反映に数時間かかるように見える。MIBの情報が正常に更新されないのだろう。

まとめ

SNMP MIBにより、ZABBIXでDHCPスコープの使用状況を監視・可視化することができる。これによりスコープ拡張を計画的にできる。