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> |