4 Zabbixプロキシ

概要

Zabbixプロキシは、1つ以上の監視対象から監視データを収集し、その情報をZabbixサーバーに送信するプロセスであり、基本的にサーバーに代わって機能します。収集されたすべてのデータはローカルにバッファリングされてから、プロキシが属するZabbixサーバーに転送されます。

プロキシのデプロイはオプションですが、単一のZabbixサーバーの負荷を分散するのに非常に役立つ場合があります。プロキシがデータを収集する場合、サーバーのCPUとディスクI/Oの負荷が少なくなります。

Zabbixプロキシは、ローカル管理者がいなくても、リモートロケーション、ブランチ、ネットワークを一元的に監視するための理想的なソリューションです。

Zabbixプロキシにはサーバーとは別のデータベースが必要です。

ZabbixプロキシでサポートされているデータベースはSQLite、MySQL、PostgreSQLであることに注意してください。 Oracleの使用は自己責任であり、たとえば、低レベルの検出ルールの戻り値のように、いくつかの制限が含まれる場合があります。

参照:分散環境でのプロキシの使用

プロキシの起動

パッケージを使用してインストールした場合

Zabbixプロキシはデーモンプロセスとして実行されます。プロキシを起動するには以下を実行します。

shell> systemctl start zabbix-proxy

これはほとんどのGNU/Linuxシステムで動きます。他のシステムでは、以下のように実行する必要がある場合があります。

shell> /etc/init.d/zabbix-proxy start

同様に、Zabbixプロキシの停止/再起動/ステータス表示するには以下を実行します。

shell> systemctl stop zabbix-proxy
       shell> systemctl restart zabbix-proxy
       shell> systemctl status zabbix-proxy
手動起動

サービス起動が機能しない場合は、手動起動する必要があります。 zabbix_proxyバイナリへのパスを見つけて、以下を実行します。

shell> zabbix_proxy

Zabbixプロキシでは次のコマンドラインパラメータを使用できます。

-c --config <file>              設定ファイルパスを指定
       -f --foreground                 フォアグラウンドでZabbixプロキシを実行する
       -R --runtime-control <option>   管理機能実行
       -h --help                       ヘルプの表示
       -V --version                    バージョン番号の表示

コマンドラインパラメータを使用してZabbixプロキシを実行する例:

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
       shell> zabbix_proxy --help
       shell> zabbix_proxy -V
ランタイムコントロール

ランタイムコントロールオプション :

オプション 説明 ターゲット
config_cache_reload 設定キャッシュをリロードします。キャッシュが現在ロードされている場合は無視されます。
アクティブなZabbixプロキシはZabbixサーバーに接続し、設定データを要求します。
パッシブZabbixプロキシは、次回サーバーがプロキシに接続するときに、Zabbixサーバーから設定データを要求します。
diaginfo[=<section>] プロキシログファイルに診断情報を収集します historycache - ヒストリキャッシュ統計
preprocessing - 前処理マネージャー統計
locks - ミューテックスリスト(BSDシステムでは空)
snmp_cache_reload SNMPキャッシュをリロードし、すべてのホストのSNMPプロパティ(engine time, engine boots, engine id, credentials)をクリアします。
housekeeper_execute ハウスキーピングを開始します。ハウスキーピングが現在進行中の場合は無視されます。
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>] プロファイリングを有効にします。
ターゲットが指定されていない場合はすべてのプロセスに影響します。
有効なプロファイリングでは、関数名ごとにすべての rwlocks/mutex の詳細が提供されます。
process type - 指定されたタイプのすべてのプロセス (例: history syncer)
すべてのプロキシプロセスタイプを参照してください。
process type,N - プロセスタイプと番号 (例 : history syncer,1)
pid - プロセスID(1〜65535)。値が大きい場合は、ターゲットを'process type,N'として指定します。
scope - rwlockmutexprocessingはプロセスタイプと番号とともに(例: history syncer,1,processing)、あるいは全てのプロセスタイプとともに(例: history syncer,rwlock)使用できます。
prof_disable[=<target>] プロファイリングを無効にします。
ターゲットが指定されていない場合はすべてのプロセスに影響します。
process type - 指定されたタイプのすべてのプロセス (例: history syncer)
すべてのプロキシプロセスタイプを参照してください。
process type,N - プロセスタイプと番号 (例: history syncer,1)
pid - プロセスID(1〜65535)。値が大きい場合は、ターゲットを'process type,N'として指定します。

ランタイム制御を使用してプロキシ設定キャッシュをリロードする例 :

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload

ランタイム制御を使用して診断情報を収集する例 :

プロキシログファイルに利用可能なすべての診断情報を収集する場合 :
       shell> zabbix_proxy -R diaginfo
       
       プロキシログファイルに履歴キャッシュ統計を収集する場合 :
       shell> zabbix_proxy -R diaginfo=historycache

ランタイムコントロールを使用してSNMPキャッシュをリロードする例 :

shell> zabbix_proxy -R snmp_cache_reload  

ランタイムコントロールを使用してハウスキーパーの実行をトリガーする例 :

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute

ランタイムコントロールを使用してログレベルを変更する例 :

すべてのプロセスのログレベルを上げる場合 :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
       
       2番目のpollerプロセスのログレベルを上げる場合 :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
       
       PID1234のプロセスのログレベルを上げる場合 :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
       
       すべてのhttp pollerプロセスのログレベルを下げる場合 :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
プロセスユーザー

Zabbixプロキシはroot以外のユーザーとして実行するように設計されていて、起動されたroot以外のユーザーとして実行されます。したがってroot以外のユーザーで問題なくプロキシを起動できます。

'root'として実行しようとすると、ハードコードされた'zabbix'ユーザーに切り替わります。これはシステムに存在している必要があります。プロキシ設定ファイルのAllowRootパラメータを変更した場合にのみ、「root」としてプロキシを実行できます。

設定ファイル

zabbix_proxyの詳細設定については設定ファイルオプションを参照してください。

プロキシプロセスタイプ

  • availability manager - ホスト可用性更新プロセス
  • configuration syncer - 設定データメモリ内キャッシュ管理プロセス
  • data sender - プロキシデータsender
  • discoverer - デバイス発見プロセス
  • history syncer - ヒストリDB書き込み
  • housekeeper - 古いヒストリデータを削除するプロセス
  • http poller - ウェブモニタリングpoller
  • icmp pinger - icmp pingチェックpoller
  • ipmi manager - IPMI poller マネージャー
  • ipmi poller - IPMI チェックpoller
  • java poller - Java チェックpoller
  • odbc poller - ODBC チェックpoller
  • poller - パッシブチェック用通常ポーラー
  • preprocessing manager - 前処理タスクマネージャー
  • preprocessing worker - データ前処理プロセス
  • self-monitoring - 内部サーバー統計収集プロセス
  • snmp trapper - SNMP trapsのトラッパー
  • task manager - 他のコンポーネントによって要求されたタスクのリモート実行プロセス(例:問題のクローズ、問題の確認、現在のアイテム値の確認、リモートコマンド機能)
  • trapper - アクティブチェック、traps、プロキシ通信用のトラッパー
  • unreachable poller - 使用不能デバイスのpoller
  • vmware collector - VMwareサービスからのデータ収集を担当するVMwareデータコレクタ

プロキシログファイルを使用して、これらのプロセスタイプを監視できます。

zabbix[process,<type>,<mode>,<state>]内部アイテムを使用して、さまざまなタイプのZabbixプロキシプロセスを監視できます。

サポートされているプラ​​ットフォーム

Zabbixプロキシは、Zabbixサーバーと同じサポートされているプラットフォームのリストに記載されているプラットフォームで実行可能です。

ロケール

一部のテキスト項目を正しく解釈できるように、プロキシにはUTF-8ロケールが必要です。最近のほとんどのUnixライクなシステムには、デフォルトでUTF-8ロケールがありますが、それを具体的に設定する必要があるシステムもあります。