Zabbixサーバーは、Zabbixソフトウェアの中心的なプロセスです。
サーバーはデータのポーリングとトラッピングを実行し、トリガーを計算し、ユーザーに通知を送信します。 Zabbixエージェントやプロキシが、システムの可用性や整合性に関するデータを報告する中心的なコンポーネントです。 サーバー自体も、シンプルなサービスチェックを使用して、ネットワークサービス(Webサーバーやメールサーバーなど)をリモートでチェックできます。
サーバーは、すべての設定、統計、運用データが保存される中央リポジトリであり、監視対象システムのいずれかで問題が発生した場合に、管理者に積極的にアラートを送信するZabbixのエンティティです。
基本的なZabbixサーバーの機能は、3つの異なるコンポーネントに分かれています。それらは、Zabbixサーバー、Webフロントエンド、データベースストレージです。
Zabbixのすべての設定情報はデータベースに保存されており、サーバーとWebフロントエンドの両方がデータベースとやり取りします。 たとえば、Webフロントエンド(またはAPI)を使用して新しいアイテムを作成すると、それはデータベースのitemsテーブルに追加されます。 その後、約1分ごとにZabbixサーバーはitemsテーブルをクエリし、アクティブなアイテムのリストを取得し、それをZabbixサーバー内のキャッシュに保存します。 このため、Zabbixフロントエンドで行った変更が最新データセクションに反映されるまでに最大2分かかる場合があります。
Zabbixサーバーはデーモンプロセスとして動作します。 サーバーは以下のコマンドで起動できます。
これはほとんどのGNU/Linuxシステムで動作します。 他のシステムでは、以下のコマンドを実行する必要があるかもしれません。
同様に、停止/再起動/ステータス表示には以下のコマンドを使用します。
上記でうまくいかない場合は、手動で起動する必要があります。 zabbix_server バイナリのパスを探して、以下を実行します:
Zabbixサーバーでは、以下のコマンドラインパラメータが利用できます:
-c --config <file> 設定ファイルのパス (デフォルトは /usr/local/etc/zabbix_server.conf)
-f --foreground Zabbixサーバーをフォアグラウンドで実行
-R --runtime-control <option> 管理機能の実行
-T --test-config 設定ファイルの検証と終了
-h --help このヘルプを表示
-V --version バージョン番号の表示コマンドラインパラメータを指定してZabbixサーバーを起動する例:
ランタイム制御オプション:
| オプション | 説明 | ターゲット |
|---|---|---|
| config_cache_reload | 設定キャッシュをリロードします。キャッシュが現在ロード中の場合は無視されます。 | |
| history_cache_clear=target | IDで指定されたアイテムの履歴キャッシュをクリアします。 アイテムの最初と最後の値を除くすべての値に影響します。 |
target - アイテムのID |
| diaginfo[=<section>] | サーバーログファイルに診断情報を収集します。 | historycache - 履歴キャッシュの統計情報 valuecache - 値キャッシュの統計情報 preprocessing - 前処理マネージャの統計情報 alerting - アラートマネージャの統計情報 lld - LLDマネージャの統計情報 locks - ミューテックスのリスト(BSD システムでは空) connector - 最大キューを持つコネクタの統計情報 |
| ha_status | 高可用性(HA)クラスタのステータスをログに記録します。 | |
| ha_remove_node=target | 名前またはIDで指定された高可用性(HA)ノードを削除します。 アクティブ/スタンバイノードは削除できませんのでご注意ください。 |
target - ノードの名前またはID(ha_statusの実行で取得可能) |
| ha_set_failover_delay=delay | 高可用性(HA)のフェイルオーバー遅延を設定します。 時間のサフィックスがサポートされています(例: 10s, 1m)。 |
|
| proxy_config_cache_reload[=<target>] | プロキシの設定キャッシュをリロードします。 | target - カンマ区切りのプロキシ名リスト ターゲットが指定されていない場合、すべてのプロキシの設定をリロードします |
| secrets_reload | Vaultからシークレットをリロードします。 | |
| service_cache_reload | サービスマネージャのキャッシュをリロードします。 | |
| snmp_cache_reload | SNMPキャッシュをリロードします — すべてのホストのSNMPエンジンプロパティ(エンジンタイム、エンジンブーツ、エンジンID、認証情報)をクリアします。SNMPの問題をトラブルシューティングする際にグローバルキャッシュのクリアを強制するために使用します。 | |
| housekeeper_execute | ハウスキーピング手順を開始します。 ハウスキーピング手順が現在進行中の場合は無視されます。 |
|
| trigger_housekeeper_execute | サービスのトリガーハウスキーピング手順を開始し、削除されたトリガーによって発生した問題や、そのような問題によって生成されたサービス問題(ハウスキーピング時に解決済みと見なされる)を削除します。 ハウスキーピング手順が開始されるまで、削除されたトリガーによって発生した問題がサービス問題を生成し、サービスに割り当てられる可能性があることに注意してください。 頻繁に検出/未検出されるトリガーに基づく多くのサービスステータス計算ルールがセットアップに含まれている場合は、ProblemHousekeepingFrequencyサーバー設定パラメータを調整して、トリガーハウスキーピング手順の頻度を増やすことを検討してください。 トリガーハウスキーピング手順が現在進行中の場合は無視されます。 |
|
| log_level_increase[=<target>] | ログレベルを上げます。ターゲットが指定されていない場合はすべてのプロセスに影響します。 BSD システムではサポートされていません。 |
process type - 指定したタイプのすべてのプロセス(例: poller) すべてのサーバープロセスタイプを参照してください。 process type,N - プロセスタイプと番号(例: poller,3) pid - プロセスID(1~65535)。より大きな値の場合は、ターゲットを 'process type,N' として指定してください。 |
| log_level_decrease[=<target>] | ログレベルを下げます。ターゲットが指定されていない場合はすべてのプロセスに影響します。 BSD システムではサポートされていません。 |
|
| prof_enable[=<target>] | プロファイリングを有効にします。 ターゲットが指定されていない場合はすべてのプロセスに影響します。 有効なプロファイリングは、関数名ごとのすべてのrwlock/mutexの詳細を提供します。 |
process type - 指定したタイプのすべてのプロセス(例: history syncer) プロファイリングターゲットとしてサポートされるプロセスタイプ: alerter, alert manager, availability manager, configuration syncer, discovery manager, escalator, history poller, history syncer, housekeeper, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, preprocessing manager, preprocessing worker, proxy poller, self-monitoring, service manager, snmp trapper, task manager, timer, trapper, unreachable poller, vmware collector process type,N - プロセスタイプと番号(例: history syncer,1) pid - プロセスID(1~65535)。より大きな値の場合は、ターゲットを 'process type,N' として指定してください。 scope - rwlock, mutex, processing はプロセスタイプと番号(例: history syncer,1,processing)またはタイプのすべてのプロセス(例: history syncer,rwlock)で使用できます |
| prof_disable[=<target>] | プロファイリングを無効にします。 ターゲットが指定されていない場合はすべてのプロセスに影響します。 |
process type - 指定したタイプのすべてのプロセス(例: history syncer) プロファイリングターゲットとしてサポートされるプロセスタイプ: prof_enable を参照process type,N - プロセスタイプと番号(例: history syncer,1) pid - プロセスID(1~65535)。より大きな値の場合は、ターゲットを 'process type,N' として指定してください。 |
サーバーの設定キャッシュをリロードするためにランタイム制御を使用する例:
プロキシの設定をリロードするためにランタイム制御を使用する例:
# すべてのプロキシの設定をリロード:
zabbix_server -R proxy_config_cache_reload
# Proxy1とProxy2の設定をリロード:
zabbix_server -R proxy_config_cache_reload=Proxy1,Proxy2アイテムのヒストリキャッシュをクリアするためにランタイム制御を使用する例:
診断情報を収集するためにランタイム制御を使用する例:
# サーバーログファイルに利用可能なすべての診断情報を収集:
zabbix_server -R diaginfo
# サーバーログファイルにヒストリキャッシュの統計情報を収集:
zabbix_server -R diaginfo=historycacheSNMPキャッシュをリロードするためにランタイム制御を使用する例:
SNMPv3インターフェースがZabbix UI経由で更新された場合、ほとんどの場合Zabbixはそのインターフェースの新しいSNMPv3認証情報を自動的にリロードします。認証情報の変更後もポーリングが失敗する場合(例えば、engineBoots/engineIDの不整合やRFC非準拠デバイスなど)や、トラブルシューティングのためにグローバルなSNMPキャッシュのクリアを強制する必要がある場合のみ、-R snmp_cache_reloadを使用してください。
ハウスキーパーの実行をトリガーするためにランタイム制御を使用する例:
ログレベルを変更するためにランタイム制御を使用する例:
# すべてのプロセスのログレベルを上げる:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
# 2番目のポーラープロセスのログレベルを上げる:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
# PID 1234のプロセスのログレベルを上げる:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
# すべてのhttp pollerプロセスのログレベルを下げる:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"HAフェイルオーバー遅延を最小の10秒に設定する例:
Zabbixサーバーは、root以外のユーザーとして実行するように設計されています。 起動したroot以外のユーザーとして実行されます。 したがって、サーバーは問題なく任意のroot以外のユーザーとして実行できます。
'root'として実行しようとすると、ハードコーディングされた'zabbix'ユーザーに切り替わります。このユーザーは、システム上に存在している必要があります。 サーバーを'root'として実行するには、サーバーの設定ファイルで'AllowRoot'パラメータを適切に変更する必要があります。
Zabbixサーバーとエージェントを同じマシンで実行する場合は、サーバーとエージェントで異なるユーザーを使用することを推奨します。 そうしないと、両方を同じユーザーで実行した場合、エージェントがサーバーの設定ファイルにアクセスでき、Zabbixの管理者レベルのユーザーであれば、たとえばデータベースのパスワードなどを簡単に取得できてしまいます。
zabbix_serverの設定の詳細については、設定ファイルのオプションを参照してください。
これらのスクリプトは、システムの起動/シャットダウン時にZabbixプロセスを自動的に開始/停止するために使用されます。 スクリプトはmisc/init.dディレクトリにあります。
agent poller - ワーカースレッドを持つパッシブチェック用の非同期ポーラープロセスalert manager - アラートキュー管理プロセスalert syncer - アラートDB書き込みプロセスalerter - 通知送信用プロセスavailability manager - ホストの可用性更新用プロセスbrowser poller - ブラウザアイテムチェック用ポーラーconfiguration syncer - 設定データのインメモリキャッシュ管理プロセスconfiguration syncer worker - アイテム名のユーザーマクロ値を解決・同期するプロセスconnector manager - コネクタの管理プロセスconnector worker - コネクタマネージャからのリクエストを処理するプロセスdiscovery manager - デバイスのディスカバリ管理プロセスdiscovery worker - ディスカバリマネージャからのディスカバリタスクを処理するプロセスescalator - アクションのエスカレーションプロセスha manager - 高可用性管理プロセスhistory poller - データベース接続を必要とする計算チェック処理プロセスhistory syncer - ヒストリDB書き込みプロセスhousekeeper - 古い履歴データの削除プロセスhttp agent poller - ワーカースレッドを持つHTTPチェック用の非同期ポーラープロセスhttp poller - Web監視用ポーラーicmp pinger - icmppingチェック用ポーラーinternal poller - 内部チェック用ポーラーipmi manager - IPMIポーラーマネージャipmi poller - IPMIチェック用ポーラーjava poller - Javaチェック用ポーラーlld manager - ローレベルディスカバリタスクの管理プロセスlld worker - ローレベルディスカバリタスクのワーカープロセスodbc poller - ODBCチェック用ポーラーpoller - パッシブチェック用の通常ポーラーpreprocessing manager - 前処理タスクの管理プロセス(前処理ワーカースレッド付き)preprocessing worker - データ前処理用スレッドproxy poller - パッシブプロキシ用ポーラーproxy group manager - プロキシの負荷分散と高可用性の管理プロセスreport manager- 定期レポート生成タスクの管理プロセスreport writer - 定期レポート生成プロセスself-monitoring - サーバー内部統計収集プロセスservice manager - history syncer、task manager、alert managerから問題、問題タグ、問題復旧の情報を受信してサービスを管理するプロセスsnmp poller - SNMPチェック用のワーカースレッド付き非同期ポーラープロセス(walk[OID]およびget[OID]アイテムのみ)snmp trapper - SNMPトラップ用トラッパーtask manager - 他のコンポーネントから要求されたタスク(例:問題のクローズ、問題の確認、アイテム値の即時チェック、リモートコマンド機能)のリモート実行プロセスtimer - メンテナンス処理用タイマーtrapper - アクティブチェック、トラップ、プロキシ通信用トラッパーtrigger housekeeper - 削除されたトリガーによって生成された問題を削除するプロセスunreachable poller - 到達不能デバイス用ポーラーvmware collector - VMwareサービスからデータ収集を担当するVMwareデータコレクタこれらのプロセスタイプはサーバーログファイルで確認できます。
サーバーログファイルは、ファイル所有者のみが読み書き可能な権限で作成されます。さらに、所有者グループも読み取り可能です。他のすべての権限は拒否されます。
さまざまなタイプのZabbixサーバープロセスは、zabbix[process,<type>,<mode>,<state>] 内部アイテムで監視できます。
ヒストリーシンカーのプロセスタイトルには、ヒストリーシンカーのトランザクションに関する詳細な統計情報が表示されます。
205182 ? S 0:00 zabbix_server: history syncer #2 [processed 0 values, 0+0 triggers in 0.000021 (0.000000,0.000000,0.000000,0.000000,0.000000) sec, idle 1 sec]
205183 ? S 0:00 zabbix_server: history syncer #3 [processed 18 values, 7+0 triggers in 0.002612 (0.001108,0.000000,0.000000,0.001208,0.000014) sec, idle 1 sec]
205184 ? S 0:00 zabbix_server: history syncer #4 [processed 0 values, 0+0 triggers in 0.000027 (0.000000,0.000000,0.000000,0.000000,0.000000) sec, idle 1 sec]"A+B triggers"の意味:
"processed...in N (<timings>) sec"のタイミングは以下の通りです:
セキュリティ要件やサーバー運用のミッションクリティカルな性質から、UNIXは必要なパフォーマンス、フォールトトレランス、レジリエンスを一貫して提供できる唯一のオペレーティングシステムです。 Zabbixは市場をリードするバージョンで動作します。
Zabbixサーバーは以下のプラットフォームでテストされています:
Zabbixは他のUnix系オペレーティングシステムでも動作する場合があります。
サーバーが一部のテキスト項目を正しく解釈できるように、UTF-8ロケールが必要であることに注意してください。 ほとんどの最新のUnix系システムではデフォルトでUTF-8ロケールが設定されていますが、システムによっては明示的に設定する必要がある場合があります。