You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

2 アクティブエージェントの自動登録

概要

アクティブZabbixエージェントの自動登録を許可することができ、その後サーバーはそれらの監視を開始できます。この方法では、新しいホストをサーバー上で手動で設定することなく監視に追加できます。

自動登録は、以前に知られていなかったアクティブエージェントがチェックを要求したときに発生する可能性があります。

この機能は、新しいクラウドノードの自動監視に非常に便利です。クラウドに新しいノードが追加されると、Zabbixは自動的にそのホストのパフォーマンスおよび可用性データの収集を開始します。

アクティブエージェントの自動登録は、パッシブチェックによる追加ホストの監視もサポートしています。アクティブエージェントがチェックを要求する際、設定ファイルで「ListenIP」または「ListenPort」構成パラメータが定義されていれば、それらもサーバーに送信されます。 (複数のIPアドレスが指定されている場合は、最初のものがサーバーに送信されます。)

サーバーは、新しく自動登録されたホストを追加する際、受信したIPアドレスとポートを使用してエージェントを設定します。IPアドレス値が受信されない場合は、着信接続に使用されたものが使用されます。ポート値が受信されない場合は、10050が使用されます。

ホストがDNS名でデフォルトのエージェントインターフェースとして自動登録されるように指定することも可能です。

自動登録は以下の場合に再実行されます:

  • ホストのメタデータ情報が変更された場合:
    • HostMetadataが変更され、エージェントが再起動された場合
    • HostMetadataItemによって返される値が変更された場合
  • メタデータが欠落している手動作成ホストの場合
  • ホストが手動で別のZabbixプロキシによって監視されるように変更された場合
  • 同じホストの自動登録が新しいZabbixプロキシから来た場合

ZabbixサーバーおよびZabbixプロキシのアクティブエージェント自動登録のハートビートは120秒です。そのため、検出されたホストが削除された場合、自動登録は120秒後に再実行されます。

設定

サーバーを指定する

エージェント設定ファイル - zabbix_agentd.conf でZabbixサーバーが識別されていることを確認してください

ServerActive=10.0.0.1

zabbix_agentd.confでホスト名を明確に定義しない限り、エージェントの場所のシステムホスト名がサーバーによってホストの命名に使用されます。 Linuxのシステムホスト名はhostnameコマンドを実行することで取得できます。

ホスト名がZabbixエージェント設定でホストのコンマ区切りリストとして定義されている場合、リストされているすべてのホスト名に対してホストが作成されます。

設定ファイル変更後、エージェントを再起動します。

アクティブエージェントの自動登録のためのアクション

サーバーがエージェントから自動登録リクエストを受信すると、アクションを呼び出します。エージェントの自動登録には、イベントソース「自動登録」のアクションを設定する必要があります。

アクティブエージェントを自動登録するためにネットワークディスカバリを設定する必要はありません。

Zabbixフロントエンドで、アラート → アクションに移動し、自動登録アクションを選択してアクションの作成をクリックします:

  • アクションタブで、アクションに名前を付けます
  • 必要に応じて、条件を指定します。ホスト名/ホストメタデータの条件で部分一致や正規表現一致が可能です。「ホストメタデータ」条件を使用する場合は、次のセクションを参照してください。
  • オペレーションタブで、'ホストの追加'、'ホストグループへの追加'(例:検出されたホスト)、'テンプレートのリンク'など、関連するオペレーションを追加します。

自動登録されるホストがアクティブ監視専用でサポートされる可能性が高い場合(たとえば、Zabbixサーバーからファイアウォールで保護されているホストなど)、Template_Linux-activeのような特定のテンプレートを作成してリンクすることを検討してください。

作成されたホストは検出されたホストグループに追加されます(デフォルト、管理一般その他で設定可能)。ホストを別のグループに追加したい場合は、ホストグループから削除オペレーション(「検出されたホスト」を指定)とホストグループへの追加オペレーション(別のホストグループを指定)を追加してください。ホストは必ずホストグループに所属する必要があります。

セキュアな自動登録

暗号化された接続でPSKベースの認証を設定することで、自動登録をセキュアに行うことができます。

暗号化のレベルは、管理一般自動登録 でグローバルに設定します。 暗号化なし、PSK認証によるTLS暗号化、または両方を選択できます(暗号化なしで登録するホストと、暗号化で登録するホストの両方を許可できます)。

PSKによる認証は、ホストを追加する前にZabbixサーバーによって検証されます。 認証に成功すると、ホストが追加され、ホストから/への接続 はグローバルな自動登録設定と同じID/事前共有キーで「PSK」のみに設定されます。

プロキシを使用するインストールで自動登録のセキュリティを確保するには、Zabbixサーバーとプロキシ間の暗号化を有効にする必要があります。

デフォルトインターフェースとしてDNSを使用する

HostInterfaceおよびHostInterfaceItem設定パラメータを使用すると、自動登録時にホストインターフェースのカスタム値を指定できます。

より具体的には、ホストをIPアドレスではなくDNS名をデフォルトのエージェントインターフェースとして自動登録したい場合に便利です。 その場合、DNS名をHostInterfaceまたはHostInterfaceItemパラメータの値として指定または返す必要があります。 これらのパラメータのいずれかの値が変更された場合(たとえば、IPアドレスからDNS名、またはその逆)、自動登録されたホストのデフォルトインターフェースもそれに応じて更新されます。 この更新は既存のホストに適用され、新しいホストが作成されるわけではありません。 新しい値を送信するには、エージェントを再起動して自動登録プロセスを再実行する必要があります。

HostInterfaceまたはHostInterfaceItemパラメータが設定されていない場合は、代わりにlisten_dnsパラメータが使用されます。 この値は、エージェントのIPアドレスの逆引きDNSルックアップを実行することで決定されます。 逆引きDNSが正しく設定されていない場合や無効な名前を返す場合、無効なインターフェース値が原因で自動登録が正しく行われない、または失敗する可能性があります。

ホストメタデータの使用

エージェントがサーバーに自動登録リクエストを送信する際、ホスト名を送信します。場合によっては(例えば、Amazonクラウドノードなど)、Zabbixサーバーが検出したホストを区別するためにはホスト名だけでは不十分です。ホストメタデータを使用することで、エージェントからサーバーに他の情報を送信することができます。

ホストメタデータは、エージェントの設定ファイル(zabbix_agentd.conf)で設定します。設定ファイルでホストメタデータを指定する方法は2つあります。

HostMetadata
       HostMetadataItem

各オプションの説明については、上記リンクを参照してください。

HostMetadataItemパラメータは最大65535のUTF-8コードポイントを返すことができます。これより長い値は切り捨てられます。

MySQLの場合、返される値にマルチバイト文字が含まれていると、実際の最大文字数は少なくなります。例えば、3バイト文字のみを含む値の場合、最大21844文字、4バイト文字のみを含む値の場合は最大16383文字に制限されます。

自動登録の試行は、アクティブエージェントがアクティブチェックの更新リクエストをサーバーに送信するたびに行われます。リクエスト間の遅延は、エージェントのRefreshActiveChecksパラメータで指定します。最初のリクエストは、エージェントの再起動直後に送信されます。

例 1

ホストメタデータを使用してLinuxホストとWindowsホストを区別します。

ホストをZabbixサーバーによって自動登録したいとします。 ネットワーク上にアクティブなZabbixエージェント(上記の"設定"セクションを参照)があります。 ネットワーク上にWindowsホストとLinuxホストがあり、Zabbixフロントエンドで"Linux by Zabbix agent"と"Windows by Zabbix agent"のテンプレートを使用したいとします。 その場合、ホストの登録時に適切なLinux/Windowsテンプレートを適用する必要があります。 デフォルトでは、自動登録時にホスト名のみがサーバーに送信されますが、これでは不十分な場合があります。 適切なテンプレートがホストに適用されていることを確認するには、ホストメタデータを使用する必要があります。

フロントエンドの設定

最初に行うべきことは、フロントエンドの設定です。2つのアクションを作成します。 最初のアクション:

  • 名前: Linuxホストの自動登録
  • 条件: ホストメタデータにLinuxを含む
  • 操作: テンプレートのリンク: Linux

この場合、「ホストの追加」操作は省略できます。テンプレートをホストにリンクするには、最初にホストを追加する必要があるため、サーバーが自動的にそれを行います。

2つ目のアクション:

  • 名前: Windowsホストの自動登録
  • 条件: ホストメタデータにWindowsを含む
  • 操作: テンプレートのリンク: Windows

エージェントの設定

次に、エージェントを設定する必要があります。エージェントの設定ファイルに次の行を追加します。

HostMetadataItem=system.uname

このようにすることで、エージェントが実行されているホストに応じて、ホストメタデータに「Linux」または「Windows」が含まれることを確認できます。この場合のホストメタデータの例:

Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
       Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32

設定ファイルを変更した後は、エージェントを再起動するのを忘れないでください。

例2

ステップ1

ホストメタデータを使用して、不要なホストの登録に対する基本的な保護を行います。

フロントエンドの設定

フロントエンドでアクションを作成し、推測しにくいシークレットコードを使用して不要なホストを拒否します。

  • 名前: Autoregistration action Linux
  • 条件:
    • 計算タイプ: AND
    • 条件 (A): ホストメタデータに//Linux//を含む
    • 条件 (B): ホストメタデータに//21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae//を含む
  • オペレーション:
    • ユーザーにメッセージを送信: Admin すべてのメディア経由
    • ホストグループに追加: Linux servers
    • テンプレートをリンク: Linux

この方法だけではデータが平文で送信されるため、強力な保護は提供されないことに注意してください。変更を即座に反映させるには、設定キャッシュのリロードが必要です。

エージェントの設定

エージェントの設定ファイルに次の行を追加します。

HostMetadata=Linux    21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae

ここで "Linux" はプラットフォーム名であり、残りの文字列は推測しにくい秘密のテキストです。

設定ファイルを変更した後は、エージェントの再起動を忘れないでください。

ステップ2

すでに登録されているホストに追加の監視を追加することも可能です。

フロントエンドの設定

フロントエンドでアクションを更新します:

  • 名前: Autoregistration action Linux
  • 条件:
    • 計算タイプ: AND
    • 条件 (A): ホストメタデータにLinuxを含む
    • 条件 (B): ホストメタデータに21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08aeを含む
  • オペレーション:
    • ユーザーにメッセージを送信: Admin (すべてのメディア)
    • ホストグループに追加: Linux servers
    • テンプレートをリンク: Linux
    • テンプレートをリンク: MySQL by Zabbix Agent

エージェントの設定

エージェントの設定ファイルの次の行を更新します。

HostMetadata=MySQL on Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae

設定ファイルを変更した後は、エージェントの再起動を忘れないでください。