運用コスト低減に有効なZabbix2.0新機能
ローレベルディスカバリ機能
ローレベルディスカバリ機能とは、ホストが保有するネットワークインタフェース情報やファイルシステム情報、SNMP OID情報を検出し、その検出情報を元に監視アイテムやトリガー、グラフを自動的に登録するという機能です。
従来のZabbixでは、次のような監視設定を行いたい場合、設定が複雑でした。
- ファイルシステムの個別のディスク容量を監視したい
- ネットワークインタフェース毎のI/Oを監視したい
追加した機器がどのようなファイルシステムの構成になっているのか、また、どういったネットワークインタフェースを備えているのかをsnmpwalkコマンド等を利用してあらかじめ確認する必要がありました。
または、想定される数の分だけ(ファイルシステムであれば/,/var,/boot,・・・、ネットワークインタフェースであればeth0,eth1,・・・のような)テンプレートにアイテム登録しておくといった方法もありました。
しかし、これらの方法だと、設定に時間がかかったり、余分な監視アイテムが登録されてしまうなど、管理するには複雑な状態になっていました。
そこで、Zabbix2.0ではローレベルディスカバリ機能が実装されました。
以下の表のようなディスカバリキーを設定したルールを作成すると、ディスカバリ結果がマクロに格納されます。そのマクロの値を用いてアイテムやトリガー、グラフの設定を行います。
表1:ディスカバリ設定キー・マクロ情報
ディスカバリ対象 | ディスカバリキー | マクロ |
---|---|---|
ファイルシステム | vfs.fs.discovery | {#FSNAME} |
ネットワークインタフェース | net.if.discovery | {#IFNAME} |
SNMP OID | snmp.discovery | {#SNMPINDEX} {#SNMPVALUE} |
Zabbix Agentを利用したディスカバリ
Zabbix Agentが稼働している監視対象機器については、ファイルシステム、ネットワークインタフェースの検出を行うことができます。
注:Zabbix Agentのバージョンに関しても、2.0である必要があります。過去のバージョンのZabbix Agentだとディスカバリ機能が利用できません。
テンプレートまたはホストの「ディスカバリ」にディスカバリルールを追加します。
図4:ディスカバリルール設定画面(クリックで拡大) |
上記例はファイルシステム情報のディスカバリ設定です。
このように設定することで、指定した更新間隔で設定されたホストのファイルシステム情報を検出します。
ディスカバリルールの設定後、アイテムプロトタイプの登録を行います。
注:通常のアイテムとして登録するのではなく、ディスカバリルール内のアイテムプロトタイプとして登録してください。
図5:アイテムプロトタイプ登録画面(クリックで拡大) |
例えば、ファイルシステム毎の空きディスク容量を確認したければ以下のようなキーでアイテムを登録します。
vfs.fs.size[{#FSNAME},free]
Zabbix1.8で同じことを実現するためには、
vfs.fs.size[/,free] vfs.fs.size[/var,free] vfs.fs.size[/boot,free]
といった具合に複数のアイテム登録をしないといけませんでしたが、この機能を使えば1アイテムの登録だけで済みます。
{#FSNAME}や{#IFNAME}マクロはトリガーやグラフの設定でも利用できます。
{hostA:vfs.fs.size[{#FSNAME},free].last(0)}<10 (例:パーティション毎のディスク空き容量が閾値(しきいち)以下であれば障害とみなす設定)
このように条件式を設定することで、各ファイルシステムのディスク空き容量の閾値チェックが可能になります。