運用コスト低減に有効なZabbix2.0新機能
SNMPを利用したディスカバリ
SNMP監視を行う場合には、SNMPのOID情報を検出することが可能です。
例えば、ネットワークインタフェース毎のI/OをSNMP監視する場合、従来のZabbixでは以下のような手順で監視アイテムの設定を行う必要がありました※3。
Zabbix1.8での設定方法
まず、監視したい値が取得できるOIDを確認します(snmpwalkコマンドを利用)。
IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 IF-MIB::ifDescr.3 = STRING: eth1 ・・・ IF-MIB::ifInOctets.1 = Counter32: 2090321636 IF-MIB::ifInOctets.2 = Counter32: 303329 IF-MIB::ifInOctets.3 = Counter32: 1092352852 ・・・ IF-MIB::ifOutOctets.1 = Counter32: 2090321636 IF-MIB::ifOutOctets.2 = Counter32: 1560 IF-MIB::ifOutOctets.3 = Counter32: 1710052802
次に確認したOIDを元に1つずつアイテム登録します。上記結果の場合、lo,eth0,eth1それぞれのアイテムを登録する必要があります。この時、監視対象機器の種別毎にIndex番号の割り振り方が異なることがあるため、それぞれ確認の必要がありました(例えば、eth0のInputパケット量の監視のためには、ifDescrの値が”eth0”のOIDを確認し、そのIndex番号を控える。そして、そのIndex番号を持ったifInOctetsのOIDを監視アイテムとして登録する)。
Zabbix1.8系ではダイナミックインデックス機能※4があり、設定が簡素化される場合もありますが、それでも設定には一手間必要でした。
Zabbix2.0での設定方法
Zabbix2.0では次のように設定することで容易にIndexを取得することが可能になりました。Zabbix Agentを利用したディスカバリの設定と同様、テンプレートまたはホストの「ディスカバリ」にディスカバリルールを追加します。
図6:SNMP OIDディスカバリルール設定画面(クリックで拡大) |
次にアイテムを登録します。アイテムの登録時には、{#SNMPINDEX}、{#SNMPVALUE}の2つのマクロが利用可能です。
例えば、以下の図のように設定することで各インタフェースの出力パケット数を監視できます。この時、Index番号だけでなく、ディスカバリで得られた値(ifDescrの値)が{#SNMPVALUE}に含まれているため、アイテム名にはこの値を使うといいかと思います。
図7:SNMP OIDディスカバリを利用したアイテム登録画面(クリックで拡大) |
このように、Zabbix Agent監視、SNMP監視それぞれにおいて、同じような設定はできる限り1回で済むように改良されています。
ローレベルディスカバリ利用時の注意点
ローレベルディスカバリ機能を使うことで自動的に監視アイテムの登録が可能になりますが、監視したくない項目まで監視アイテムとして登録される恐れがあります。
例えば、ファイルシステムのディスカバリであれば、Linuxの場合、「/proc/mounts」に記載されているファイルシステムの情報が全て取得されます。ネットワークインタフェースの場合は、「/proc/net/dev」です。SNMPの場合、先述の例であればifDescrで出力される全てが取得されます。無駄な監視を避けるため、ディスカバリ設定の「正規表現」を正しく設定し、不要な監視アイテムを登録しないようにした方がいいかと思います。
マップ機能の改良
最後に、Zabbix2.0でのマップ機能の改良点について紹介します。
マップ機能の改良点としては以下のような点が挙げられます。
- アイコンセットのリニューアル
- アイコンの自動選択機能
- ホストグループ、ホスト、トリガー等アイコン種別毎のラベルタイプ指定機能
- ホストグループに所属する全ホストの表示機能
このうち、アイコンの自動選択機能について紹介します。これまでは、各アイコンの画像は全て手動で設定する必要がありました。Zabbix2.0ではこの点が改良され、ホストインベントリの情報を元に、アイコン画像とのマッピングをあらかじめ設定する機能が追加されています。
例えば、ホストインベントリの「Type」の項目に「Server」、「Router」のような設定がされていて、Type毎にアイコン画像を分ける場合、「管理」→「一般設定」→「アイコンのマッピング」で以下のように設定します。
図8:アイコンのマッピング設定画面(クリックで拡大) |
あとは、マップ作成時に「アイコンの自動マッピング」の設定で作成したマッピングを選択、アイコン作成時に「アイコンの自動選択」にチェックを入れることで「Type」に応じたアイコンが表示されるようになります。
あまり大きな機能ではありませんが、マップ機能とホストインベントリ機能との連携ということで、Zabbixが持っている各機能間の連携が少しずつ強化されてきていると感じました。
図9:マップ(クリックで拡大) |
まとめ
今回紹介した機能以外にも、Zabbix2.0では設定や運用管理に便利な機能が実装されています。マップ機能などは、まだまだ設定に時間がかかってしまうなど改善ポイントはあるかとは思いますが、Zabbix2.0で大量機器の監視環境構築・運用がますます行いやすくなってきていると思います。今後開発される予定のZabbix2.2では、仮想化環境の監視や管理に適した機能も実装されるそうです※5。
ユーザーからの要望なども取り入れて開発されているので、環境の変化に沿ったツールとして進化していくことが期待されます。
次回は、Zabbix1.8系からZabbix2.0へのバージョンアップの方法について紹介したいと思います。