Zabbixプロキシは、Zabbixサーバーに代わってパフォーマンスと可用性のデータを収集できます。プロキシはデータ収集の負荷の一部を引き受け、Zabbixサーバーの負荷を軽減できます。
また、すべてのエージェントとプロキシが1つのZabbixサーバーにレポートし、すべてのデータが一元的に収集される場合、プロキシを使用するのが集中型および分散型のモニタリングを実装する最も簡単な方法です。
Zabbixプロキシは次の目的で使用できます。
プロキシは、ZabbixサーバーへのTCP接続を1つだけ必要とします。この方法ではファイアウォールルールを1つ設定するだけなので、ファイアウォールを回避するのが簡単です。
Zabbixプロキシはサーバーとは別のデータベースを使用する必要があります。 Zabbixサーバーデータベースを指定すると、設定が破損します。
プロキシによって収集されたすべてのデータは、サーバーに送信される前にローカルに保存されます。これによりサーバーとの一時的な通信の問題が発生してもデータが失われることはありません。プロキシ設定ファイルのProxyLocalBufferパラメーターとProxyOfflineBufferパラメーターでデータがローカルに保持される期間を制御します。
Zabbixサーバーデータベースから直接最新の設定変更を受信するプロキシは、CacheUpdateFrequencyの値が原因で更新が遅延したZabbixサーバーよりも最新の設定になっている場合があります。その結果、プロキシは収集したデータを無視するZabbixサーバーにデータを送信する場合があります。
Zabbixプロキシはデータコレクターです。トリガーの計算、イベントの処理、アラートの送信は行いません。プロキシ機能の概要については、次の表を確認してください。
機能 | プロキシによるサポート | |
---|---|---|
items | ||
Zabbix agent checks | Yes | |
Zabbix agent checks (active) | Yes 1 | |
Simple checks | Yes | |
Trapper items | Yes | |
SNMP checks | Yes | |
SNMP traps | Yes | |
IPMI checks | Yes | |
JMX checks | Yes | |
Log file monitoring | Yes | |
Internal checks | Yes | |
SSH checks | Yes | |
Telnet checks | Yes | |
External checks | Yes | |
Dependent items | Yes | |
Script items | Yes | |
Built-in web monitoring | Yes | |
Item value preprocessing | Yes | |
Network discovery | Yes | |
Active agent autoregistration | Yes | |
Low-level discovery | Yes | |
Remote commands | Yes | |
Calculating triggers | No | |
Processing events | No | |
Event correlation | No | |
Sending alerts | No |
[1 ]エージェントが(サーバーではなく)プロキシにアクティブチェックを要求することを確認するには、プロキシがエージェント構成ファイルのServerActiveパラメーターにリストされている必要があります。
Zabbixサーバーがしばらくダウンして、その間にプロキシが大量のデータを収集した後にZabbixサーバーが起動すると、サーバーが過負荷になる可能性があります。(履歴キャッシュの使用率はしばらくの間95〜100%のままです)この過負荷により、パフォーマンスが低下し、チェック処理が本来よりも遅くなる可能性があります。このシナリオからの保護は、履歴キャッシュの過負荷によって発生する問題を回避するために実装されました。
Zabbixサーバーの履歴キャッシュがいっぱいになると、履歴キャッシュの書き込みアクセスが制限され、サーバーのデータ収集プロセスが停止します。最も一般的な履歴キャッシュの過負荷のケースは、プロキシが収集したデータをアップロードしているサーバーのダウンタイム後です。このプロキシスロットリングを回避するために履歴キャッシュの書き込みアクセス制限が追加されました。(現在、無効にすることはできません)
履歴キャッシュの使用率が80%に達すると、Zabbixサーバーはプロキシからのデータの受け入れを停止します。代わりに、これらのプロキシはスロットルリストに追加されます。これは、キャッシュ使用量が60%に低下するまで続きます。60%に低下後、サーバーはスロットリングリストで定義されたプロキシからのデータの受け入れを1つずつ再開します。これは、スロットリング期間中にデータをアップロードしようとした最初のプロキシが最初に提供され、それが完了するまで、サーバーは他のプロキシからのデータを受け入れないことを意味します。
このスロットリングモードは、キャッシュ使用量が再び80%に達するか、20%に低下するか、スロットリングリストが空になるまで続きます。80%のケースでは、サーバーはプロキシデータの受け入れを再び停止します。他の2つのケースでは、サーバーは正常に動作を開始し、すべてのプロキシからのデータを受け入れます。
上記情報を次の表に示します:
書き込み履歴 キャッシュの使用状況 |
Zabbix サーバー モード | Zabbix サーバー アクション |
---|---|---|
80%到達 | Wait | プロキシ データの受け入れを停止しますが、スロットリング リスト (後で連絡するプロキシの優先順位付けされたリスト) を維持します。 |
60%に低下 | Throttled | スロットリングリストの処理を開始しますが、まだプロキシ データを受け入れません。 |
20%に低下 | Normal | スロットリングリストを削除し、通常どおりプロキシ データの受け入れを開始します。 |
zabbix[wcache,history,pused]
内部アイテムを使用して、Zabbixサーバーのこの動作をメトリックと関連付けることができます。
Zabbix プロキシサーバーをインストールして設定したのち、Zabbixフロントエンドでプロキシの設定をします。
Zabbixフロントエンドでプロキシを設定するには:
パラメータ | 説明 | |
---|---|---|
プロキシ名 | プロキシ名を入力します。 プロキシ構成ファイルのHostnameパラメーターと同じ名前である必要があります。 | |
プロキシモード | プロキシモードを選択します。 アクティブ - プロキシがZabbixサーバーに接続し、設定データを要求します パッシブ - Zabbixサーバーがプロキシに接続します 注意暗号化されていない(機密性の高い)プロキシ設定データは、アクティブなプロキシを使用しているときにZabbixサーバーのトラッパーポートにアクセスできる関係者が利用できるようになる可能性があります。これが可能なのは、認証が行われない場合、またはプロキシアドレスがプロキシアドレスフィールドで制限されていない場合、誰でもアクティブなプロキシのふりをして構成データを要求する可能性があるためです。 |
|
プロキシのアドレス | 指定した場合、アクティブなプロキシリクエストは、このコンマ区切りのIPアドレスのリスト(オプションでCIDR表記またはアクティブなZabbixプロキシのDNS名)からのみ受け入れられます。 このフィールドはプロキシモードフィールドでアクティブが選択されている場合にのみ使用できます。 マクロはサポートされていません。 このオプションはZabbix4.0.0以降でサポートされています。 |
|
インターフェース | パッシブプロキシのインターフェース詳細を入力します。 このフィールドはプロキシモードフィールドでパッシブが選択されている場合にのみ使用できます。 |
|
IPアドレス | パッシブプロキシのIPアドレス(オプション) | |
DNS名 | パッシブプロキシのDNS名(オプション) | |
接続方法 | それぞれのボタンをクリックすると、Zabbixサーバーにプロキシからデータを取得するために使用するものが通知されます。 IP - プロキシにIPアドレスで接続します(推奨) DNS - プロキシにDNS名で接続します |
|
ポート | パッシブプロキシのTCP/UDPポート番号(デフォルトでは10051) | |
説明 | プロキシの説明を入力します |
暗号化タブではプロキシとの暗号化された接続を設定できます。
パラメータ | 説明 |
---|---|
プロキシへの接続 | サーバーがパッシブプロキシに接続する方法:暗号化なし(デフォルト)、PSK(事前共有キー)、証明書 |
プロキシからの接続 | アクティブなプロキシから許可される接続のタイプを選択します。 複数の接続タイプを同時に選択できます(テストおよび他の接続タイプへの切り替えに役立ちます)。 デフォルトは"暗号なし"です。 |
発行者 | 証明書発行者。 証明書は最初にCA(認証局)で検証されます。 CAによって署名された有効な証明書は、発行者フィールドを使用して許可されるCAをさらに制限できます。このフィールドはオプションでありZabbixインストールで複数のCAからの証明書を使用する場合に使用することを目的としています。 |
サブジェクト | 許可された証明書名。 証明書は最初にCAで検証されます。 CAによって署名された有効な証明書はサブジェクトフィールドを使用して、サブジェクト文字列の値を1つだけ許可できます。 このフィールドが空の場合、構成されたCAによって署名された有効な証明書が受け入れられます。 |
PSKアイデンティティ | 事前共有キーID文字列 機密情報をPSKIDに入れないでください。機密情報は暗号化されずにネットワーク経由で送信され、使用するPSKを受信者に通知します。 |
PSK | 事前共有キー(16進文字列) 最大長:ZabbixがGnuTLSまたはOpenSSLライブラリを使用する場合は512 hex-digits(256バイトPSK)、Zabbixがmbed TLS(PolarSSL)ライブラリを使用する場合は64 hex-digits(32-byte PSK)例:1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
Monitored by proxyフィールドを使用して、host configurationフォームでプロキシによって個々のホストを監視するように指定できます。
ホストの一括更新は、ホストをプロキシで監視指定するもう1つの方法です。