当社のHAProxy 統合 は、HAProxyインスタンスからインベントリやメトリクスを収集してNew Relicプラットフォームに送信し、HAProxyサーバー、フロントエンド、バックエンドの主要なパフォーマンスメトリクスを集約して可視化することができます。
統合をインストールし、収集するデータを確認するために読んでください。
互換性と要件
この統合は、HAProxy バージョン 1.3 ~ 2.x と互換性があります。
統合をインストールする前に、次の要件を満たしていることを確認してください。
HAProxy統計ページが有効になり、アクセスできるようになりました。
HAProxyがKubernetesまたはAmazon ECS上で 実行されていない場合は、 HAProxyを実行しているホストにインフラストラクチャエージェント をインストールする必要があります。それ以外の場合は
クイックスタート
ガイド付きインストールで、HAProxy インスタンスをすばやくインスツルメントし、テレメトリーデータを送信します。ガイド付きインストールでは、お客様の環境に合わせてカスタマイズされたCLIコマンドを作成し、New Relic CLIとインフラストラクチャエージェントのダウンロードとインストールを行います。
始める準備はできましたか?これらのボタンのいずれかをクリックして試してください。
ガイド付きインストールでは、インフラストラクチャエージェントを使用してHAProxyの統合を設定します。それだけでなく、お客様の環境で稼働している他のアプリケーションやログソースを検出し、どのアプリケーションを導入すべきかを推奨します。
ガイド付きインストールは、ほとんどのセットアップに対応しています。しかし、この方法がお客様のニーズに合わない場合は、以下の他の方法でHAProxyインスタンスの監視を始めることができます。
インストールしてアクティブ化する
HAProxyインテグレーションをインストールするには、お使いの環境に応じた手順に従ってください。
''
その他の注意事項:
- 高度:統合はtarball形式でも利用可能であり、パッケージマネージャーの外部にインストールできます。
- オンホスト統合は自動的に更新されません。最良の結果を得るには、統合パッケージとインフラストラクチャエージェントを定期的に更新してください。
このドキュメントはインストールで役立ちましたか。
統合を構成する
統合機能を設定するには、インストール方法に応じていくつかの方法があります。
- Kubernetes経由で有効な場合は、 を参照してください。 Kubernetes上で実行されているサービスを監視する 。
- Amazon ECS経由で有効な場合は、 ECS上で動作しているサービスの監視 を参照してください。
- オンホスト経由でインストールされている場合は、統合のYAML構成ファイル
haproxy-config.yml
の構成を編集します。
統合のYAML形式の構成では、必要なログイン資格情報を配置し、データの収集方法を構成できます。どのオプションを変更するかは、セットアップと設定によって異なります。
構成ファイルには、 interval
、 timeout
、 inventory_source
などのすべての統合に適用できる共通の設定があります。これらの一般的な設定についてすべて読むには、 構成フォーマットのドキュメントを参照してください。
従来の設定/定義ファイルをまだお使いの場合は、on-host integrations standard configuration format を参照してください。
HAProxy に関連する特定の設定は、構成ファイルのenv
セクションを使用して定義されます。これらの設定は、HAProxy インスタンスへの接続、およびその他のセキュリティ設定と機能を制御します。
HAProxyインスタンスの設定
HAProxyインテグレーションでは、メトリクス(M)とインベントリ(I)の両方の情報を収集します。表の中で、 Applies To の欄には、各コレクションで利用できる設定が記載されています。
'' '' '' '' ''
設定 | 説明 | デフォルト | に適用されます |
---|---|---|---|
STATS_URL | HAProxyの統計情報ページを示すURLです。 | 該当なし | M / I |
ユーザー名 | HAProxy接続用のユーザー名。 | 該当なし | M / I |
パスワード | 指定されたユーザーのパスワード。 | 該当なし | M / I |
ha_proxy_cluster_name | 監視対象のクラスターを一意に識別するためのユーザー定義の名前。 必須. | 該当なし | M / I |
METRICS | メトリックのみの収集を有効にするには、 | false | |
在庫 | インベントリのみの収集を有効にするには、 | false |
これらの設定値は、以下の方法で定義することができます。
- コンフィグファイルに直接値を追加します。
{{}}
表記を使用して、環境変数の値を置き換えます。これには、インフラストラクチャ エージェント v1.14.0 以降が必要です。ここで詳細を読むか、以下の例を参照してください。- シークレット管理を使用して、パスワードなどの機密情報が構成ファイル内のプレーン テキストで公開されないように保護します。詳細については、シークレット管理を参照してください。
ラベル/カスタム属性
また、ラベルを使ってメトリクスを装飾することもできます。このような場合は、次のようになります。また、ラベルを使用して、メトリクスの照会、フィルタリング、またはグループ化を行うことができます。
デフォルトのサンプル設定ファイルにはラベルの例が含まれていますが、お好みのラベルを削除、変更、または追加することができます。
labels: env: production role: load_balancer
構成例
データを見つけて使用する
この統合のデータは、専用の New Relic ダッシュボード に報告されます。
メトリクスは以下の イベントタイプに付けられています 。
HAProxyBackendSample
HAProxyFrontendSample
HAProxyServerSample
トラブルシューティングの目的で、またはカスタムチャートとダッシュボードを作成するために、このデータをクエリできます。
データを検索して使用する方法の詳細については、統合データについてを参照してください。
メトリックデータ
HAProxy 統合は、次のメトリック データ属性を収集します。各指標名には、 backend.
、 frontend.
、 server.
などのカテゴリ インジケータとピリオドがプレフィックスとして付けられます。
HAProxyバックエンドのサンプルメトリクス
これらの属性は、 HAProxyBackendSample
イベントタイプに関連付けられています。
メトリック | 説明 |
---|---|
| アクティブなサーバーの数。 |
| 直近の1024回のリクエストにおける平均接続時間(単位:ミリ秒)。 |
| 直近の1024件のリクエストの平均キュータイム(単位:ミリ秒)。 |
| 直近の1024回のリクエストの平均応答時間(単位:ミリ秒)。 |
| 直近の1024回のリクエストの平均総セッション時間(単位:ミリ秒)。 |
| バックアップサーバーの数。 |
| 1秒あたりの受信バイト数。 |
| 1秒あたりの送信バイト数。 |
| 1秒間にHTTPコンプレッサーをバイパスしたバイト数。 |
| バックエンドサーバーへの接続でエラーが発生したリクエストの数(1秒あたり)。 |
| 1秒間にサーバーへの接続が再試行された回数。 |
| クッキーの名前です。 |
| サーバーが割り当てられていない現在のキューイングされたリクエスト。 |
| 現在のセッションの数 |
| 1秒間にクライアントが中止したデータ転送の数。 |
| 1秒あたりにサーバーで中止されたデータ転送の数。 |
| トータルのダウンタイムを秒単位で表示しています。 |
| 1秒あたりの1xxコードのHTTPレスポンス。 |
| 1秒間に2xxコードを含むHTTPレスポンス。 |
| 1秒間に3xxコードを含むHTTPレスポンス。 |
| 1秒間に4xxコードを含むHTTPレスポンス。 |
| 1秒間に5xxコードを含むHTTPレスポンス。 |
| その他のコード(プロトコルエラー)を含むHTTPレスポンスの1秒あたりの数値。 |
| 1秒あたりのHTTPリクエスト数。 |
| コンプレッサーが1秒あたりに出力するHTTPレスポンスバイト数。 |
| 1秒間にコンプレッサーに供給されるHTTPレスポンスのバイト数。 |
| 1秒あたりに圧縮されたHTTPレスポンスの数。 |
| 1秒あたりのインターセプトされたリクエスト数。 |
| サーバーが割り当てられていないキューイングされたリクエストの最大値。 |
| 最大セッション数 |
| 1秒あたりの新規セッションの最大数です。 |
| プロキシモードです。オプション:tcp、http、health、unknown。 |
| プロキシの名前です。 |
| 1秒間にリクエストが別のサーバーに再送された回数。 |
| 1秒あたりのtcp-request接続ルールで拒否されたリクエスト数。 |
| 1秒あたりの応答エラー数 |
| 1秒あたりのtcp-requestセッションルールで拒否されたリクエスト数。 |
| 新規セッションや再派遣の際に、1秒間にサーバーが選択された回数。 |
| 1秒間に作成されるセッション数。 |
| ステータスオプションです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)があります。 |
| バックエンドに最後のセッションが割り当てられてからの秒数。 |
| 前回の UP<->DOWN の遷移からの秒数。 |
| バックエンドの総重量。 |
| バックエンドのタイプ。 |
| 1秒あたりのUP->DOWN トランジションの数。 |
HAProxyフロントエンドのサンプルメトリクス
これらの属性は、 HAProxyFrontendSample
イベントタイプに関連付けられています。
メトリック | 説明 |
---|---|
| 1秒あたりの受信バイト数。 |
| 1秒あたりの送信バイト数。 |
| 1秒あたりの接続数。 |
| 現在のセッションの数 |
| 1秒あたりの1xxコードのHTTPレスポンス。 |
| 1秒間に2xxコードを含むHTTPレスポンス。 |
| 1秒間に3xxコードを含むHTTPレスポンス。 |
| 1秒間に4xxコードを含むHTTPレスポンス。 |
| 1秒間に5xxコードを含むHTTPレスポンス。 |
| 他のコード(プロトコルエラー)を含むHTTPレスポンス。 |
| 1秒間に観測される最大のHTTPリクエスト数。 |
| 1秒あたりのHTTPリクエスト数。 |
| 1秒あたりのインターセプトされたリクエスト数。 |
| 最大接続数 |
| 最大セッション数 |
| 1秒あたりの新規セッションの最大数です。 |
| プロキシモード。tcp、http、health、unknownのいずれか。 |
| プロキシの名前です。 |
| 1秒あたりのリクエストエラー数 |
| セキュリティ上の理由で拒否されたリクエストの数/秒 |
| 1秒あたりのtcp-request接続ルールで拒否されたリクエスト数。 |
| 1秒あたりのtcp-requestセッションルールで拒否されたリクエスト数。 |
| セキュリティ上の理由で回答が拒否されることが1秒間に1回あります。 |
| サービスの名前。 |
| 1秒間に作成されるセッション数。 |
| フロントエンドの状態です。オプションです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)です。 |
| フロントエンドのタイプ。 |
HAProxyサーバのサンプルメトリクス
これらの属性は、 HAProxyServerSample
イベントタイプに関連付けられています。
メトリック | 説明 |
---|---|
| 最後にエージェントがコンテンツやテキストのエラーをチェックします。 |
| 最後のチェックが終了するまでの時間(単位:ミリ秒)。 |
| エージェントのステータス |
| 人間が読める短い |
| 直近の1024回のリクエストにおける平均接続時間(単位:ミリ秒)。 |
| 直近の1024件のリクエストの平均キュータイム(単位:ミリ秒)。 |
| 直近の1024回のリクエストの平均応答時間(単位:ミリ秒)。 |
| 直近の1024回のリクエストの平均総セッション時間(単位:ミリ秒)。 |
| 1秒あたりの受信バイト数。 |
| 1秒あたりの送信バイト数。 |
| 人間が読める短い |
| バックエンドサーバーへの接続でエラーが発生したリクエストの数(1秒あたり)。 |
| 1秒間にサーバーへの接続が再試行された回数。 |
| サーバーのクッキーの値です。 |
| 現在のセッションの数 |
| 1秒間にクライアントが中止したデータ転送の数。 |
| 1秒あたりにサーバーで中止されたデータ転送の数。 |
| トータルのダウンタイムを秒単位で表示しています。 |
| 1秒間に失敗したチェックの数。 |
| ヘルスチェックの詳細に失敗しました。 |
| 最後にヘルスチェックを行い、コンテンツやテキストのエラーを確認します。 |
| 最後のヘルスチェックが終了するまでの時間(単位:ミリ秒)。 |
| ヘルスチェック状態。 |
| 1秒あたりの1xxコードのHTTPレスポンス。 |
| 1秒間に2xxコードを含むHTTPレスポンス。 |
| 1秒間に3xxコードを含むHTTPレスポンス。 |
| 1秒間に4xxコードを含むHTTPレスポンス。 |
| 1秒間に5xxコードを含むHTTPレスポンス。 |
| 他のコード(プロトコルエラー)を含むHTTPレスポンス。 |
| サーバーがアクティブかどうか。 |
| サーバーがバックアップかどうか。 |
| レイヤ5-7のコードがあれば、それを入力します。 |
| キューイングされたリクエストの最大値。 |
| 最大セッション数 |
| 1秒間の最大セッション数 |
| プロキシモード。tcp、http、health、unknownのいずれか。 |
| プロキシの名前です。 |
| 現在キューイングされているリクエスト |
| 1秒間にリクエストが別のサーバーに再送された回数。 |
| セキュリティ上の理由で拒否されたリクエストの数/秒 |
| 1秒あたりの応答エラー数 |
| セキュリティ上の理由で回答が拒否されることが1秒間に1回あります。 |
| サーバーIDです。 |
| 新規セッションや再派遣の際に、1秒間にサーバーが選択された回数。 |
| サーバーの重量です。 |
| サービスの名前。 |
| 1秒あたりのセッション数 |
| サーバーの状態です。オプションです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)です。 |
| スロースタートがアクティブな場合の、サーバのスロットルパーセンテージです。スロースタートを使用していない場合は、値はありません。 |
| バックエンドに最後のセッションが割り当てられてからの秒数。 |
| 前回の UP<->DOWN の遷移からの秒数。 |
| サーバーのタイプ。 |
| 1秒あたりのUP->DOWN トランジションの数。 |
在庫データ
HAProxy インテグレーションでは、HAProxy インスタンスの構成パラメータを取得します。このデータは、インフラストラクチャの Inventory ページ 、 config/haproxy ソースの下にあります。インベントリデータについては、 Understand integration data を参照してください。
インテグレーションでは、以下の設定パラメータのデータを取得します。
バックエンド在庫
名前 | 説明 |
---|---|
| バックエンドプロキシのIDです。 |
| バックエンドのプロセスIDです。 |
| バックエンドのセッション制限です。 |
フロントエンド在庫
名前 | 説明 |
---|---|
| フロントエンドのプロキシIDです。 |
| フロントエンドのプロセスIDです。 |
| 新しいセッション/秒の制限。 |
| フロントエンドのセッション制限です。 |
サーバーインベントリー
名前 | 説明 |
---|---|
| バックエンドプロキシのIDです。 |
| サーバーのプロセスIDです。 |
| 設定された最大キュー。 |
| サーバーIDです。 |
| サーバーのセッション制限です。 |
ソースコードを確認してください
この統合はオープン ソース ソフトウェアです。つまり、ソース コードを参照して改善を送信したり、独自のフォークを作成してビルドしたりできます。