Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

Zabbix エージェント テンプレートの操作

Zabbixエージェントでメトリクスを収集するテンプレートが正しく動作するための手順:

  1. Zabbix エージェントがホストにインストールされていることを確認します。 アクティブ チェックの場合、エージェント 構成ファイルの'ServerActive'パラメーターにホストが追加されていることも確認します。
  2. テンプレートをターゲット ホストにリンクします (Zabbixインストールでテンプレートを使用できない場合は、最初にテンプレートの .xml ファイルをインポートする必要がある場合があります - 手順についてはすぐに使えるテンプレート セクションを参照してください。)
  3. 必要に応じて必須マクロの値を調整します。
  4. 監視対象のインスタンスを設定して、Zabbix とデータを共有できるようにします。追加手順/コメント 列の手順を参照してください。

このページには、適切なテンプレート操作に必要な最小限のマクロ セットとセットアップ手順のみが含まれています。 マクロ、項目、およびトリガーの完全なリストを含む、テンプレートの詳細な説明は、テンプレートの Readme.md ファイル (テンプレート名をクリックするとアクセスできます) にあります。

テンプレート名 必須マクロ 追加手順/コメント
Apache by Zabbix agent {$APACHE.STATUS.HOST} - Apache ステータス ページのホスト名または IP アドレス (デフォルト: 127.0.0.1)
{$APACHE.STATUS.PATH} - URLパス(デフォルト: server-status?auto)
{$APACHE.STATUS.PORT} - Apache ステータス ページのポート (デフォルト: 80)
Apache モジュール mod_status を設定する必要があります (詳細についてはApacheドキュメント を参照してください)。
利用可能かどうかを確認するには次のコマンドを実行します。
httpd -M 2>/dev/null \| grep status_module

Apache設定例:
<Location "/server-status">
SetHandler server-status
Require host example.com
</Location>
HAProxy by Zabbix agent {$HAPROXY.STATS.PATH} - HAProxy Stats ページのパス (デフォルト: stats)
{$HAPROXY.STATS.PORT} - HAProxy Stats ホストまたはコンテナのポート (デフォルト: 8404)
{$HAPROXY.STATS.SCHEME} - HAProxy Stats ページのスキーム。 サポート: http (デフォルト),https
HAProxy Stats ページを設定する必要があります (詳細については HAProxy ブログ投稿を、構成例についてはテンプレートの Readme.md を参照してください)。
IIS by Zabbix agent / IIS by Zabbix agent active {$IIS.PORT} - IIS サーバーがリッスンするポート (デフォルト: 80)
{$IIS.SERVICE} - ポートチェックのサービス (デフォルト: http). 詳細についてはnet.tcp.service セクションを参照してください。
サーバーには次の役割が必要です:
Web Server
IIS Management Scripts and Tools

詳細についてはIISのドキュメントを参照してください。
Microsoft Exchange Server 2016 by Zabbix agent/Microsoft Exchange Server 2016 by Zabbix agent active 注, テンプレートは Windows サービスの状態に関する情報を提供しないことに注意してください。 OS Windows by Zabbix agent または OS Windows by Zabbix agent active テンプレートと組み合わせて使用することをお勧めします。
Nginx by Zabbix agent {$NGINX.STUB_STATUS.HOST} - Nginx stub_status ホストまたはコンテナのホスト名または IP アドレス (デフォルト: localhost)
{$NGINX.STUB_STATUS.PATH} - Nginx stub_status ページのパス (デフォルト: basic_status)
{$NGINX.STUB_STATUS.PORT} - Nginx stub_status ホストまたはコンテナのポート (デフォルト: 80)
ngx_http_stub_status_moduleを設定する必要があります (詳細についてはNginxドキュメント を参照し、設定例についてはテンプレートの Readme.md を参照してください)
可用性を確認するには次を実行します:
nginx -V 2>&1 \| grep -o with-http_stub_status_module
PHP-FPM by Zabbix agent {$PHP_FPM.HOST} - ホスト名または PHP-FPM ステータス ホストまたはコンテナの IP (デフォルト: localhost)
{$PHP_FPM.PING.PAGE} - PHP-FPM ping ページのパス (デフォルト:ping)
{$PHP_FPM.PORT} - PHP-FPM ステータス ホストまたはコンテナのポート (デフォルト: 80)
{$PHP_FPM.PROCESS_NAME} - PHP-FPM プロセス名 (デフォルト:php-fpm)
{$PHP_FPM.STATUS.PAGE} - PHP-FPM ステータス ページのパス (デフォルト:status)
1. php-fpm 設定ファイルを開き、ステータス ページを有効にします。:
pm.status_path = /status
ping.path = /ping

2. 構文を検証します: $ php-fpm7 -t

3. php-fpm サービスをリロードします。

4. Nginx サーバー ブロック (仮想ホスト) 設定ファイルに追加します (コメント付きの拡張例についてはテンプレートの Readme.md を参照してください):
location ~ ^/(status\|ping)$ {
access_log off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}

5. 構文を確認します: $ nginx -t

6. Nginxをリロードします

7. 次のコマンドで確認します: curl -L 127.0.0.1/status
RabbitMQ cluster by Zabbix agent {$RABBITMQ.API.CLUSTER_HOST} - RabbitMQ クラスタ API エンドポイントのホスト名または IP アドレス (デフォルト:127.0.0.1)
{$RABBITMQ.API.USER}, {$RABBITMQ.API.PASSWORD} - RabbitMQ ログイン資格情報 (デフォルトのユーザー名: zbx_monitor、パスワード: zabbix)
RabbitMQ 管理プラグインを有効にします (RabbitMQ ドキュメント を参照してください)。

監視に必要な権限を持つ RabbitMQ ユーザーを作成するには、次のコマンドを実行します:
'' rabbitmqctl add_user zbx_monitor <PASSWORD> ''
rabbitmqctl set_permissions -p / zbx_monitor %% "" "" ".*"%%
rabbitmqctl set_user_tags zbx_monitor monitoring

クラスターが複数のノードで構成されている場合は、クラスター テンプレートを別の分散ホストに割り当てることをお勧めします。 単一ノード インストールの場合、ノード テンプレートを使用してクラスタ テンプレートをホストに割り当てることができます。
MySQL by Zabbix agent {$MYSQL.HOST} - MySQL ホストまたはコンテナのホスト名または IP アドレス (デフォルト: 127.0.0.1(6.0.8以前)/localhost(6.0.8以降))
{$MYSQL.PORT} - データベースサービスポート(デフォルト: 3306)
1. 必要に応じて、mysql および mysqladmin ユーティリティへのパスをグローバル環境変数 PATH に追加します。

2. template_db_mysql.confファイルをZabbixのtemplatesディレクトリからZabbixエージェント構成のフォルダ(デフォルトでは/etc/zabbix/zabbix_agentd.d/)にコピーし、Zabbixエージェントを再起動します。

3. MySQL ユーザーzbx_monitorを作成します。 ユーザーに必要な権限を付与するには、次を実行します:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON %% *.* TO '<username>'@'%';%%
(詳細はMYSQL ドキュメンテーションを参照してください).

4. Linux の場合は Zabbix エージェントのホーム ディレクトリ (デフォルトでは /var/lib/zabbix ) に.my.cnfを作成し、Windows の場合は c:\ にmy.cnfを作成します。 ファイルには次の 3 つの文字列が必要です:
[client]
''user='zbx_monitor' ''
''password='<password>' ''
PostgreSQL {$PG.DB} - サーバーに接続するためのデータベース名 (デフォルト: postgres)
{$PG.HOST} - データベース サーバー ホストまたはソケット ディレクトリ (デフォルト:127.0.0.1)
{$PG.PORT} - データベース サーバー ポート (デフォルト: 5432)
{$PG.USER} - データベースユーザー名 (デフォルト: zbx_monitor)
1. PostgreSQL サーバーへの適切なアクセス権を持つ読み取り専用ユーザーzbx_monitorを作成します。 PostgreSQL 10 以降の場合は次を実行します:
CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>' INHERIT;
GRANT pg_monitor TO zbx_monitor;
For older PostgreSQL versions, run:
CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>';
GRANT SELECT ON pg_stat_database TO zbx_monitor;

2. postgresql/をZabbixエージェントのホームディレクトリ(/var/lib/zabbix/)にコピー

3. Zabbix の templates ディレクトリから Zabbix エージェントの設定ディレクトリ (/etc/zabbix/zabbix_agentd.d/) に template_db_postgresql.conf をコピーし、Zabbix エージェントを再起動します。

4. pg_hba.conf を編集して、Zabbix エージェントからの接続を許可します (詳細についてはPostgreSQL ドキュメント を参照してください)。
行の例:
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5

5. リモート サーバーを監視するには、Zabbix エージェントのホーム ディレクトリ (/var/lib/zabbix/) に.pgpassファイルを作成し、インスタンス、ポート、データベース、ユーザー、およびパスワード情報を含む行を追加します。(詳細については、PostgreSQL ドキュメント を参照してください)。
行の例:
<REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD>
*:5432:postgres:zbx_monitor:<PASSWORD>