3 Zabbixエージェント2
概要
Zabbixエージェント2は新世代の[Zabbixエージェント]](/manual/concepts/agent)であり、Go言語で記述されています(ZabbixエージェントのC言語コードが再利用されています)。次のように設計されています:
- TCP接続の数を減らす
- チェックの同時実行性の改善
- プラグイン拡張の簡易化。最小限のコードで簡単なチェックを提供し、定期的なレポートを使用して、長期にわたるスクリプトとスタンドアロンのデータ収集で構成される複雑なチェックをサポートします。
- Zabbixエージェントの代替品として機能し、以前のすべての機能をサポートします。
パッシブチェックとアクティブチェック
Zabbixエージェント2はZabbixエージェントと同様にパッシブおよびアクティブチェックをサポートしています。 さらに、Zabbixエージェント2アクティブチェックは、柔軟な/スケジューリング間隔をサポートし、1つのアクティブサーバー内の同時実行性をチェックします。
デフォルトでは、Zabbixエージェント2はリソース使用量の急増を防ぐために、アイテムの更新間隔内の条件付きランダム時間にアクティブチェックの最初のデータ収集をスケジュールします。エージェントの再起動直後に予定された更新確認間隔にないアクティブチェックを実行するには、設定ファイルでForceActiveChecksOnStartパラメーター(グローバルレベル)またはPlugins.<プラグイン名>.System.ForceActiveChecksOnStart (特定のプラグインチェックにのみ影響します)を設定します。プラグインレベルのパラメーターが設定されている場合、グローバルパラメーターを上書きします。
同時実行性の確認
異なるプラグインからのチェックを同時に実行できます。 1つのプラグイン内の同時チェック数は、プラグイン容量設定によって制限されます。各プラグインにはハードコードされた容量設定(デフォルトは1000)があり、プラグイン設定パラメーターのPlugins.<プラグイン名>.System.Capacity=Nを使用して下げることができます。
サポートしているプラットフォーム
サポートしているプラットフォームについては、要件ページを参照してください。
UNIX系OS上のZabbixエージェント2
UNIX系OS上のZabbixエージェント2は、監視対象のホストで実行されます。
インストール
Zabbix agent 2は、Linuxベースのシステムに以下のいずれかの方法でインストールできます。
- Zabbixパッケージ - Zabbixのバージョン、OSディストリビューション、OSバージョンを選択した後、Agent 2コンポーネントを選択し、指示に従ってください。
- Zabbixソース - ソースファイルをダウンロードし、
--enable-agent2オプションで設定してエージェントをコンパイルします。
Zabbix agent 2の監視機能は、個別に提供されているロード可能なプラグインで拡張できます。 詳細はロード可能なプラグインを参照してください。
パッケージでインストールした場合
Zabbixエージェント2はフォアグラウンドプロセスとして実行され、バックグラウンド実行には外部サービスマネージャー(systemdなど)に依存します。 Zabbixエージェント2にはLinux上でのデーモン化サポートが組み込まれていません。
エージェントは、次のコマンドを実行して起動できます:
systemctl start zabbix-agent2
Zabbixエージェント2を停止、再起動、またはステータスを確認するには、次のコマンドを使用します:
systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
手動で起動
zabbix_agent2バイナリを見つけて直接実行することで、Zabbixエージェントを起動できます。例:
zabbix_agent2
Windowsシステム上のエージェント2
Zabbixエージェント2はスタンドアロンプロセスとして実行されますが、Windowsサービスとして実行することもできます。
インストール
Zabbix agent 2は、次のいずれかの方法でWindowsにインストールできます。
- 事前コンパイル済みZabbixエージェントバイナリ - エージェントのMSIインストーラーパッケージをダウンロードし、MSIからのWindowsエージェントインストールページの手順に従ってください。
- Zabbixソース - ソースファイルをダウンロードし、WindowsでのZabbix agent 2のビルドページの手順に従ってください。
Zabbix agent 2の監視機能は、個別に提供されているロード可能なプラグインで拡張できます。 詳細は、ロード可能なプラグインを参照してください。
Zabbix agent 2(ZIPアーカイブから)をWindowsサービスとしてインストールする追加の詳細については、Microsoft Windows上のZabbixエージェントページを参照してください。
オプション
Zabbix agent 2 では、以下のコマンドラインパラメータを使用できます。
| パラメータ | 説明 |
|---|---|
| UNIX および Windows エージェント | |
| -c --config <config-file> | 設定ファイルへのパス。 このオプションを使用して、デフォルト以外の設定ファイルを指定できます。 UNIX のデフォルトは /usr/local/etc/zabbix_agent2.conf または コンパイル時の変数 --sysconfdir または --prefix で設定されたもの Windows のデフォルトは C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf |
| -f --foreground | Zabbix agent をフォアグラウンドで実行する(デフォルト: true)。 |
| -p --print | 既知のアイテムを表示して終了。 注: ユーザーパラメータの結果も返すには、設定ファイルがデフォルト以外の場所にある場合は設定ファイルを指定する必要があります。 |
| -t --test <item key> | 指定したアイテムをテストして終了。 注: ユーザーパラメータの結果も返すには、設定ファイルがデフォルト以外の場所にある場合は設定ファイルを指定する必要があります。 |
| -T --test-config | 設定ファイルを検証して終了。 |
| -h --help | ヘルプ情報を表示して終了。 |
| -v --verbose | デバッグ情報を表示する。-p および -t オプションと併用してください。 |
| -V --version | エージェントのバージョンとライセンス情報を表示。 |
| -R --runtime-control <option> | 管理機能を実行します。ランタイム制御を参照してください。 |
| Windows エージェントのみ | |
| -m --multiple-agents | 複数のエージェントインスタンスを使用する(-i, -d, -s, -x オプションと併用)。 インスタンスのサービス名を区別するため、各サービス名には指定した設定ファイルの Hostname 値が含まれます。 |
| -S --startup-type <value> | Zabbix Windows エージェントサービスの起動タイプを設定します。許可される値:automatic - (デフォルト) Windows 起動時に自動的にサービスを開始;delayed - 自動的に開始されたサービスの起動完了後にサービスの開始を遅延;manual - サービスを手動(ユーザーまたはアプリケーション)で開始;disabled - サービスを無効にし、ユーザーまたはアプリケーションによる開始を禁止。このオプションは -i オプションと併用するか、既にインストールされているサービスの起動タイプを変更するために単独で使用できます。 |
| -i --install | Zabbix Windows エージェントをサービスとしてインストール。 |
| -d --uninstall | Zabbix Windows エージェントサービスをアンインストール。 |
| -s --start | Zabbix Windows エージェントサービスを開始。 |
| -x --stop | Zabbix Windows エージェントサービスを停止。 |
コマンドラインパラメータの具体的な使用例:
- すべての組み込みエージェントアイテムと値を表示
- 指定した設定ファイルで定義された "mysql.ping" キーのユーザーパラメータをテスト
- デフォルトの設定ファイルパス C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf を使用して Windows 用の "Zabbix Agent" サービスをインストール
- エージェント実行ファイルと同じフォルダにある設定ファイル zabbix_agent2.conf を使用して、インストール済みの Windows 用 "Zabbix Agent" サービスの起動タイプを変更
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
ランタイム制御
ランタイム制御は、リモート制御のためのいくつかのオプションを提供します。
| オプション | 説明 |
|---|---|
| log_level_increase | ログレベルを上げます。 |
| log_level_decrease | ログレベルを下げます。 |
| metrics | 利用可能なメトリックを一覧表示します。 |
| version | エージェントのバージョンを表示します。 |
| userparameter_reload | 現在の設定ファイルからUserParameterおよびIncludeオプションの値を再ロードします。 |
| help | ランタイムコントロールのヘルプを表示します。 |
例:
- エージェント2のログレベルを上げます
- ランタイム制御オプションを出力します
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
設定ファイル
エージェント2の設定パラメータは、いくつかの例外を除き、Zabbixエージェントとほぼ互換性があります。
| 新しいパラメータ | 説明 |
|---|---|
| ControlSocket | ランタイム制御ソケットのパス。エージェント2はランタイムコマンド用に制御ソケットを使用します。 |
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
これらのパラメータは、アクティブアイテム用の永続ストレージをエージェント2で設定するために使用されます。 |
| ForceActiveChecksOnStart | エージェントが再起動直後にアクティブチェックを実行するか、時間をかけて均等に分散するかを決定します。 |
| Plugins | プラグインには独自のパラメータがある場合があり、Plugins.<プラグイン名>.<パラメータ>=<値>の形式で指定します。一般的なプラグインパラメータはSystem.Capacityで、同時に実行できるチェックの上限を設定します。 |
| StatusPort | エージェント2がHTTPステータスリクエストの待ち受けや、設定済みプラグインおよび一部内部パラメータの一覧表示のためにリッスンするポート |
| 廃止されたパラメータ | 説明 |
| AllowRoot, User | デーモン化がサポートされていないため、サポートされていません。 |
| LoadModule, LoadModulePath | ロード可能なモジュールはサポートされていません。 |
| StartAgents | このパラメータは、Zabbixエージェントでパッシブチェックの並列数を増やしたり、無効にしたりするために使用されていました。エージェント2では、並列数はプラグインレベルで設定され、capacity設定で制限できます。 |
詳細については、zabbix_agent2の設定ファイルオプションを参照してください。
終了コード
Zabbixエージェント2は古いOpenSSLバージョン(1.0.1、1.0.2)でコンパイルすることもできます。
この場合、ZabbixはOpenSSLでロックするためのミューテックスを提供します。ミューテックスのロックまたはロック解除が失敗した場合、エラーメッセージが標準エラーストリーム(STDERR)に出力され、エージェント2はそれぞれリターンコード2または3で終了します。