Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

1 ネットワークディスカバリルールの設定

概要

Zabbixで使用されるネットワークディスカバリルールでホストやサービスを検出するように設定する方法は次の通りです。

  • [設定]→[ディスカバリ]を選択
  • [ディスカバリルールの作成]をクリック(またはルール名をクリックして既存のルールを編集)
  • ディスカバリルールの属性を編集

ルールの属性

必須入力フィールドは、赤いアスタリスクでマークされています。

パラメーター 説明
名前 一意なルール名。例:"ローカルネットワーク".
プロキシによるディスカバリ ディスカバリを実行するもの:
プロキシなし - Zabbixサーバーがディスカバリを実行します
<プロキシ名> - このプロキシがディスカバリを実行します
IPアドレスの範囲 検出用のIPアドレス範囲。 次の形式である可能性があります。
単一IP:192.168.1.33
IPアドレス範囲:192.168.1-10.1-255。 範囲は対象となるアドレスの総数(64K未満)によって制限されます。
IPマスク:192.168.4.0/24
サポートされるIPマスク:
/16-/ 30(IPv4アドレスの場合)
/112-/128(IPv6アドレスの場合)
リスト:192.168.1.1-255、192.168.2.1-100、192.168.2.200、192.168.4.0/24
Zabbix 3.0.0以降、このフィールドはスペース、集計、および複数行をサポートします。
監視間隔 このパラメータは、Zabbixがルールを実行する間隔を定義します。
間隔は前の検出インスタンスの実行が終了した後に測定されるため重複はありません。
Zabbix 3.4.0移行、 タイムサフィックスがサポートされています。 例:30s,1m,2h,1d
ユーザーマクロは、Zabbix3.4.0以降でサポートされています。
注意ユーザーマクロが使用され、その値が変更された場合(たとえば、1w→1h)次のチェックは前の値に従って実行されます(将来的にはサンプル値を使用)。
チェック Zabbixはこのチェックリストを検出に使用します。をクリックして、ポップアップウィンドウで新しいチェックを設定します。
サポートされているチェック:SSH、 LDAP、SMTP、FTP、HTTP、HTTPS、POP、NNTP、IMAP、TCP、Telnet、Zabbixエージェント、SNMPv1エージェント、SNMPv2エージェント、SNMPv3エージェント、ICMPping
プロトコルベースの検出では、net.tcp.service[]機能を使用して、SNMP OIDを照会するSNMPを除いて、各ホストをテストします。 Zabbixエージェントは、暗号化されていないモードでアイテムをクエリすることによってテストされます。 詳細についてはエージェントアイテムを参照してください。
'Ports'パラメータは次のいずれかになります。
単一のポート:22
ポート範囲:22-45
リスト:22-45,55,60-70
デバイスの固有性を特定する基準 一意性の基準は次のとおりです。
IPアドレス - 複数の単一IPデバイスの処理はありません。 同じIPを持つデバイスがすでに存在する場合、そのデバイスはすでに検出されていると見なされ、新しいホストは追加されません。
<検出チェック> - ZabbixエージェントまたはSNMPエージェントチェック
ホスト名 以下を使用して作成したホストの技術ホスト名を設定します。
** DNS名** - DNS名(デフォルト)
IPアドレス - IPアドレス
<検出チェック> - 検出チェックの受信文字列値(例:Zabbixエージェント、SNMPエージェントチェック)
関連項目:ホストの名前付け
このオプションは4.2.0以降でサポートされています。
表示名 以下を使用して作成したホストの表示ホスト名を設定します。
ホスト名 - 技術的なホスト名(デフォルト)
DNS名 - DNS名
IPアドレス - IP アドレス
<検出チェック> - 検出チェックの受信文字列値(例:Zabbixエージェント、SNMPエージェントチェック)
関連項目:ホストの名前付け
このオプションは4.2.0以降でサポートされています。
有効 チェックボックスがマークされている場合、ルールはアクティブであり、Zabbixサーバーによって実行されます。
マークされていない場合、ルールは無効です。 実行されません。

実際に使用するシナリオ

この例では、ローカルネットワークの192.168.1.1~192.168.1.254の範囲のIPアドレスをチェックするネットワークディスカバリを設定します。

このシナリオでは、以下のことをおこなう設定をします:

  • Zabbixエージェントが動作しているホストを検出
  • 検出は10分間隔で実行
  • アップタイムが1時間以上のホストは監視対象に追加
  • ダウンタイムが24時間以上のホストは監視対象から削除
  • Linuxホストはグループ「Linux servers」に追加
  • Windowsホストはグループ「Windows servers」に追加
  • LinuxホストではテンプレートLinuxを使用
  • WindowsホストではテンプレートWindowsを使用
ステップ 1

IPアドレス範囲のネットワークディスカバリルールを定義します。

Zabbixは、Zabbixエージェントに接続し、system.uname キーから値を取得することにより、IPアドレス範囲192.168.1.1〜192.168.1.254のホストを検出しようとします。エージェントから受け取った値を使用して、ホストに名前を付けたり、オペレーティングシステムごとに異なるアクションを適用したりできます。たとえば、WindowsサーバーをテンプレートWindowsにリンクし、LinuxサーバーをテンプレートLinuxにリンクするなどです。

ルールは10分ごとに実行されます。

このルールが追加されると、Zabbixは自動的に検出を開始し、検出ベースのイベントを生成してさらに処理します。

ステップ 2

新たに検出されたLinuxサーバーをそれぞれのグループ/テンプレートに追加するための検出アクションを定義します。

このアクションは以下のコンディションが成立する場合有効になります。 - サービス"Zabbix agent"が"動作"している。 - system.uname (ルールを定義する際に使用したZabbixエージェントのキー)の値に"Linux"という文字列が含まれる。 - アップタイムが1時間(3600秒)を超えている。

アクションによって以下のオペレーションが実行されます。

  • 新たに検出したホストをグループ"Linux servers"に追加する。(まだ追加されていないホストの場合はホストの追加も実行する)
  • ホストをテンプレート"Linux"にリンクする。"Linux"テンプレートに含まれるアイテムとトリガーを使用してホストの監視が自動的に開始される。
ステップ 3

新たに検出されたWindowsサーバーをそれぞれのグループ/テンプレートに追加するための検出アクションを定義します。

ステップ 4

動作していないサーバーを削除するための検出アクションを定義します。

"Zabbix agent"サービスが24時間(86400秒)以上downしている場合、サーバーは削除されます。 A server will be removed if "Zabbix agent" service is 'down' for more than 24 hours (86400 seconds).