Zabbixがホストやサービスを検出するために使用するネットワークディスカバリールールを設定するには、以下の手順を実行します。

必須入力フィールドには赤いアスタリスクが付いています。
| パラメータ | 説明 |
|---|---|
| 名前 | ルールの一意な名前。例: "Local network" |
| 検出方法 | 検出を実行するのは: サーバー - 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がルールを実行する頻度を定義します。 間隔は、前回の検出インスタンスの実行終了後に測定されるため、重複はありません。 時間のサフィックスがサポートされています(例: 30s, 1m, 2h, 1d)。 ユーザーマクロがサポートされています。 注意: ユーザーマクロを使用していて、その値が変更された場合(例: 1w → 1h)、次のチェックは以前の値(例の場合はかなり先の未来)に従って実行されます。 |
| タイプごとの最大同時チェック数 | 検出チェックの並列処理のため、サービスチェックごとの検出スレッド(ワーカー)の最大数を設定します: 1つ - 1スレッド 無制限 - 無制限のスレッド数(ただしStartDiscoverersパラメータで指定された数を超えません) カスタム - カスタムのスレッド数を設定(0-999) SNMPv3非同期サービスチェックを持つすべての検出ルールはlibsnmp実装の特性により1つのワーカーで処理されるため、ワーカー数を増やしても検出速度は向上しません。 |
| チェック | Zabbixはこのチェックリストを使って検出を行います。 をクリックすると、ポップアップウィンドウで新しいチェックを設定できます。サポートされるチェック: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Telnet, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping。 プロトコルベースの検出は、SNMP以外はnet.tcp.service[]機能を使って各ホストをテストします。SNMPはSNMP OIDをクエリします。Zabbix agentは暗号化なしでアイテムをクエリしてテストします。詳細はエージェントアイテムを参照してください。 'ポート'パラメータは以下のいずれか: 単一ポート: 22 ポート範囲: 22-45 リスト: 22-45,55,60-70 Zabbix 7.0以降、すべてのサービスチェックはLDAPチェックを除き非同期で実行されます。 Zabbix 7.0以降、HTTP/HTTPSチェックはlibcurl経由で行われます。Zabbixサーバー/プロキシがlibcurlなしでコンパイルされている場合、HTTPチェックは従来通り(TCPチェックとして)動作しますが、HTTPSチェックは動作しません。 |
| デバイスの一意性基準 | 一意性基準は以下のいずれか: IPアドレス - 単一IPデバイスを複数処理しません。同じIPのデバイスが既に存在する場合、それは既に検出済みとみなされ、新しいホストは追加されません。 <検出チェック> - Zabbix agentまたはSNMP agentチェック。 検出時に使用される一意性基準は、アクション実行時のシステム内のホスト識別とは異なることに注意してください。検出時の一意性基準は、検出された2つ以上のデバイスが同一かどうかを定義しますが、Zabbixでのホスト識別の基準はIPアドレスのみです(ホスト作成参照)。 |
| ホスト名 | 作成されるホストの技術的なホスト名を以下で設定: DNS名 - DNS名(デフォルト) IPアドレス - IPアドレス <検出チェック> - 検出チェックで受信した文字列値(例: Zabbix agent, SNMP agentチェック) 詳細はホスト名付与も参照。 |
| 表示名 | 作成されるホストの表示名を以下で設定: ホスト名 - 技術的なホスト名(デフォルト) DNS名 - DNS名 IPアドレス - IPアドレス <検出チェック> - 検出チェックで受信した文字列値(例: Zabbix agent, SNMP agentチェック) 詳細はホスト名付与も参照。 |
| 有効 | チェックボックスがオンの場合、ルールは有効でZabbixサーバーによって実行されます。 オフの場合、ルールは無効で実行されません。 |
多数の同時チェックが発生する場合、ディスカバリマネージャのファイルディスクリプタ制限を使い果たす可能性があります。
ディスカバリに必要なファイルディスクリプタの数は、ディスカバリワーカー数 * 1000 です。 デフォルトでは、ディスカバリワーカーは5つですが、システムのソフトリミットは約1024です。
この制限に近づくと、Zabbixは各ワーカーごとにタイプごとの同時チェック数のデフォルト値を減らし、ログファイルに警告を書き込みます。 ただし、ユーザーがタイプごとの最大同時チェック数にZabbixが計算した値よりも大きい値を設定している場合、Zabbixは1つのワーカーに対してユーザー定義値を使用します。
この例では、ローカルネットワークの192.168.1.1~192.168.1.254の範囲のIPアドレスをチェックするネットワークディスカバリを設定します。
このシナリオでは、以下のことをおこなう設定をします:
IP範囲のネットワークディスカバリールールを定義します。

Zabbixは、192.168.1.1-192.168.1.254のIP範囲でZabbixエージェントに接続し、system.unameキーの値を取得することでホストを検出しようとします。エージェントから受信した値は、ホストの名前付けや、異なるオペレーティングシステムごとに異なるアクションを適用するために使用できます。たとえば、WindowsサーバーにはテンプレートWindowsを、LinuxサーバーにはテンプレートLinuxをリンクします。
このルールは10分ごとに実行されます。
このルールが追加されると、Zabbixは自動的にディスカバリーを開始し、さらなる処理のためにディスカバリーベースのイベントを生成します。
新たに検出されたLinuxサーバーをそれぞれのグループ/テンプレートに追加するための検出アクションを定義します。

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

アクションによって以下のオペレーションが実行されます。
新たに検出されたWindowsサーバーをそれぞれのグループ/テンプレートに追加するための検出アクションを定義します。


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


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