当社のHAProxy 統合 は、HAProxyインスタンスからインベントリやメトリクスを収集してNew Relicプラットフォームに送信し、HAProxyサーバー、フロントエンド、バックエンドの主要なパフォーマンスメトリクスを集約して可視化することができます。
統合をインストールし、収集するデータを確認するために読んでください。
互換性と要件
インストレーション前に、以下の要件を満たしていることを確認してください。
- NewRelicアカウント。持っていませんか?無料でお申し込み頂けます!クレジットカードは必要ありません。
- HAProxy バージョン 1.3 ~ 2.x。
- HAProxy統計ページが有効になり、アクセスできるようになりました。
クイックスタート
Kubernetes または ECS 環境で HAProxy を実行していない場合は、ガイド付きインストールをお勧めします。ガイド付きインストールでは、インフラストラクチャ エージェントと CLI を使用して HAProxy 統合をセットアップし、環境内で実行されている他のアプリケーションとログ ソースを検出して、どのアプリケーションを計測する必要があるかを推奨します。
ガイド付きインストールは、ほとんどの設定と連動します。ただし、ご希望に添えない場合は、以下の他のインストールオプションがあります。
始める準備はできていますか?使用するデータセンターの地域に応じて、該当するボタンをクリックします。インストールが完了したら、本ドキュメントに戻って設定オプションを確認してください。
インストールしてアクティブ化する
ガイド付きインストールを使用しない場合は、ご使用の環境に応じた手順に従ってください。
''
統合を更新する
このインテグレーションは、自動更新しません。最善の結果を得るため、インテグレーションパッケージの更新とInfrastructureエージェントの更新を定期的に実施してください。
インストール後のタスク
インストールが完了したら、設定オプションを設定できます。インテグレーションを機能させるには、設定がいくつか必要ですが、オプションの設定もあります。
統合を構成する
ECSまたはKubernetesインテグレーションからこのインテグレーションを有効にした場合は、以下のドキュメントを参照してください。
統合の YAML 形式構成では、必要なログイン資格情報を配置し、データの収集方法を構成できます。変更するオプションは、セットアップと設定によって異なります。
構成ファイルには、 interval
、 timeout
、 inventory_source
などのすべての統合に適用できる共通の設定があります。これらの一般的な設定についてすべて読むには、 構成フォーマットのドキュメントを参照してください。
従来の構成/定義ファイルをまだ使用している場合は、 オンホスト統合の標準構成形式のヘルプを参照してください。
HAProxy に関連する特定の設定は、構成ファイルのenv
セクションを使用して定義されます。これらの設定は、HAProxy インスタンスへの接続、およびその他のセキュリティ設定と機能を制御します。
HAProxy 構成オプション
Apacheインテグレーションは、メトリクスとインベントリの両方の情報を収集します。この表は、各設定オプションが何に適用されるかを示しています。
'' '' '' '' ''
設定 | 説明 | デフォルト | に適用されます |
---|---|---|---|
STATS_URL | HAProxyの統計情報ページを示すURLです。 | 該当なし | M / I |
ユーザー名 | HAProxy接続用のユーザー名。 | 該当なし | M / I |
パスワード | 指定されたユーザーのパスワード。 | 該当なし | M / I |
ha_proxy_cluster_name | 監視対象のクラスターを一意に識別するためのユーザー定義の名前。 必須. | 該当なし | M / I |
METRICS | メトリックのみの収集を有効にするには、 | false | |
在庫 | インベントリのみの収集を有効にするには、 | false |
これらの設定の値は、いくつかの方法で定義できます。
- 設定ファイルに直接値を追加します(最も一般的な方法)。
{{}}
表記を使用して、環境変数の値を置き換えます。これには、Infrastructureエージェントバージョン1.14.0以降が必要です。詳細については、Infrastructure設定または環境変数の例を参照してください。- シークレット管理の使用。これを使用して、設定ファイルのプレーンテキストで公開されないようにパスワードなどの重要な情報を保護してください。詳細については、シークレット管理を参照してください。
ラベル
さらに、メトリクスにラベルを付けることもできます。ラベルを使用すると、属性(キーや値のペア)をメトリクスに追加して、メトリクスのクエリを挙げ、フィルターをかけ、グループ化を行うことができます。
デフォルトのサンプル設定ファイルにはラベルの例が含まれていますが、必須ではないため、選択したラベルを削除、変更、お好きな設定を新規追加することができます。
labels: env: production role: load_balancer
構成例
以下に、YAML設定の例をいくつか示します。
データを見つけて使用する
この統合からのデータは、 one.newrelic.com > Infrastructure > Third-party services > HAProxyに移動して見つけることができます。
メトリクスは以下の イベントタイプに付けられています 。
HAProxyBackendSample
HAProxyFrontendSample
HAProxyServerSample
トラブルシューティングの目的で、またはカスタムチャートとダッシュボードを作成するために、このデータをクエリできます。
データの検索と使用方法の詳細については、 「統合データについて」を参照してください。この統合のデータは、専用の New Relic ダッシュボードにレポートされます。
メトリックデータ
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です。 |
| サーバーのセッション制限です。 |
ソースコードを確認してください
このインテグレーションはオープンソースソフトウェアです。つまり、ソースコードを参照して改善を送信したり、独自のフォークを作成して構築したりできます。