• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

HAProxyモニタリングの統合

当社のHAProxy 統合 は、HAProxyインスタンスからインベントリやメトリクスを収集してNew Relicプラットフォームに送信し、HAProxyサーバー、フロントエンド、バックエンドの主要なパフォーマンスメトリクスを集約して可視化することができます。

インテグレーションのインストールと、当社がどのようなデータを収集するかについてお読みください。

互換性および要件

本製品は、HAProxyバージョン1.3~2.2に対応しています。

インテグレーションをインストールする前に、以下の要件を満たしていることを確認してください。

クイックスタート

ガイド付きインストールで、HAProxy インスタンスをすばやくインスツルメントし、テレメトリーデータを送信します。ガイド付きインストールでは、お客様の環境に合わせてカスタマイズされたCLIコマンドを作成し、New Relic CLIとインフラストラクチャエージェントのダウンロードとインストールを行います。

A screenshot of the guided install CLI.

始める準備はできていますか?ボタンの1つをクリックし、試行してください。

ガイド付きインストール

ガイド付きインストールでは、インフラストラクチャエージェントを使用してHAProxyの統合を設定します。それだけでなく、お客様の環境で稼働している他のアプリケーションやログソースを検出し、どのアプリケーションを導入すべきかを推奨します。

ガイド付きインストールは、ほとんどのセットアップに対応しています。しかし、この方法がお客様のニーズに合わない場合は、以下の他の方法でHAProxyインスタンスの監視を始めることができます。

インストールと有効化

HAProxyインテグレーションをインストールするには、お使いの環境に応じた手順に従ってください。

' '

追加の注:

インテグレーションの設定

統合機能を設定するには、インストール方法に応じていくつかの方法があります。

インテグレーションのYAML形式設定では、必要なログインクレデンシャルやデータの収集方法を設定できます。どのオプションを変更するかは、設定とプリファレンスにより異なります。

設定ファイルには、間隔タイムアウト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

メトリクス

true に設定すると、Metrics-only の収集が有効になります。

false

インベントリ

true に設定すると、Inventory-only collection が有効になります。

false

これらの設定値は、以下の方法で定義することができます。

  • コンフィグファイルに直接値を追加します。
  • {{}} 表記を使用して、環境変数から値を置き換えます。これには、Infrastructure agent v1.14.0+が必要です。詳細はこちら または下記の例 をご覧ください。
  • パスワードなどの機密情報が設定ファイルに平文で表示されないようにするには、secrets managementを使用します。詳細については、 secrets management を参照してください。

ラベル/カスタム属性

また、ラベルを使ってメトリクスを装飾することもできます。このような場合は、次のようになります。また、ラベルを使用して、メトリクスの照会、フィルタリング、またはグループ化を行うことができます。

デフォルトのサンプル設定ファイルにはラベルの例が含まれていますが、お好みのラベルを削除、変更、または追加することができます。

labels:
env: production
role: load_balancer

設定の例

データの検索と使用

この統合のデータは、専用の New Relic ダッシュボード に報告されます。

メトリクスは以下の イベントタイプに付けられています

  • HAProxyBackendSample
  • HAProxyFrontendSample
  • HAProxyServerSample

トラブルシューティング目的で、またはカスタムのチャートとダッシュボードを作成するために、このデータのクエリを行えます。

データの検索・使用方法の詳細については、 インテグレーションデータを理解するを参照してください。

メトリックデータ

HAProxyインテグレーションでは、以下のメトリックデータ属性を収集します。各メトリック名の前には、 backend.frontend.server. のように、カテゴリインジケータとピリオドが付けられます。

HAProxyバックエンドのサンプルメトリクス

これらの属性は、 HAProxyBackendSample イベントタイプに付けられています。

メトリック

説明

backend.activeServers

アクティブなサーバーの数。

backend.averageConnectTimeInSeconds

直近の1024回のリクエストにおける平均接続時間(単位:ミリ秒)。

backend.averageQueueTimeInSeconds

直近の1024件のリクエストの平均キュータイム(単位:ミリ秒)。

backend.averageResponseTimeInSeconds

直近の1024回のリクエストの平均応答時間(単位:ミリ秒)。

backend.averageTotalSessionTimeInSeconds

直近の1024回のリクエストの平均総セッション時間(単位:ミリ秒)。

backend.backupServers

バックアップサーバーの数。

backend.bytesInPerSecond

1秒あたりの受信バイト数。

backend.bytesOutPerSecond

1秒あたりの送信バイト数。

backend.betweenThatBypassedCompressorPerSecond

1秒間にHTTPコンプレッサーをバイパスしたバイト数。

backend.couningRequestErrorsPerSecond

バックエンドサーバーへの接続でエラーが発生したリクエストの数(1秒あたり)。

backend.connectionRetriesPerSecond

1秒間にサーバーへの接続が再試行された回数。

バックエンド.cookieName

クッキーの名前です。

backend.currentQueuedRequestsWithoutServer

サーバーが割り当てられていない現在のキューイングされたリクエスト。

backend.currentSessions

現在のセッションの数

backend.dataTransfersAbortedByClientPerSecond

1秒間にクライアントが中止したデータ転送の数。

backend.dataTransfersAbortedByServerPerSecond

1秒あたりにサーバーで中止されたデータ転送の数。

backend.downtimeInSeconds

トータルのダウンタイムを秒単位で表示しています。

backend.http100ResponsPerSecond

1秒あたりの1xxコードのHTTPレスポンス。

backend.http200ResponsPerSecond

1秒間に2xxコードを含むHTTPレスポンス。

backend.http300ResponsPerSecond

1秒間に3xxコードを含むHTTPレスポンス。

backend.http400ResponsPerSecond

1秒間に4xxコードを含むHTTPレスポンス。

backend.http500ResponsPerSecond

1秒間に5xxコードを含むHTTPレスポンス。

backend.httpOtherResponsPerSecond

その他のコード(プロトコルエラー)を含むHTTPレスポンスの1秒あたりの数値。

backend.httpRequestsPerSecond

1秒あたりのHTTPリクエスト数。

backend.httpResponseByEmittedByCompressorPerSecond

コンプレッサーが1秒あたりに出力するHTTPレスポンスバイト数。

backend.httpResponseBytesFedToCompressorPerSecond

1秒間にコンプレッサーに供給されるHTTPレスポンスのバイト数。

backend.httpResponsesCompressedPerSecond

1秒あたりに圧縮されたHTTPレスポンスの数。

backend.interceptedRequestsPerSecond

1秒あたりのインターセプトされたリクエスト数。

backend.maxeudRequestsWithoutServer

サーバーが割り当てられていないキューイングされたリクエストの最大値。

backend.maxSessions

最大セッション数

backend.maxSessionsPerSecond

1秒あたりの新規セッションの最大数です。

バックエンド・モード

プロキシモードです。オプション:tcp、http、health、unknown。

backend.proxyName

プロキシの名前です。

backend.requestRedispatchPerSecond

1秒間にリクエストが別のサーバーに再送された回数。

backend.requestsDenied.securityConcernPerSecond

1秒あたりのtcp-request接続ルールで拒否されたリクエスト数。

backend.responseErrorsPerSecond

1秒あたりの応答エラー数

backend.responseDenied.securityConcernPerSecond

1秒あたりのtcp-requestセッションルールで拒否されたリクエスト数。

backend.serverSelectedPerSecond

新規セッションや再派遣の際に、1秒間にサーバーが選択された回数。

backend.sessionsPerSecond

1秒間に作成されるセッション数。

backend.status

ステータスオプションです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)があります。

backend.timSinceLastSessionAssignedInSeconds

バックエンドに最後のセッションが割り当てられてからの秒数。

backend.timSinceLastUpDownTransitionInSeconds

前回の UP<->DOWN の遷移からの秒数。

backend.totalWeight

バックエンドの総重量。

backend.type

バックエンドの種類 0 = フロントエンド、 1 = バックエンド、 2 = サーバー、 3 = ソケット/リスナー。

backend.upToDownTransitionsPerSecond

1秒あたりのUP->DOWN トランジションの数。

HAProxyフロントエンドのサンプルメトリクス

これらの属性は、 HAProxyFrontendSample イベントタイプに付けられています。

メトリック

説明

frontend.bytesInPerSecond

1秒あたりの受信バイト数。

frontend.bytesOutPerSecond

1秒あたりの送信バイト数。

frontend.connectionsPerSecond

1秒あたりの接続数。

frontend.currentSessions

現在のセッションの数

frontend.http100ResponsPerSecond

1秒あたりの1xxコードのHTTPレスポンス。

frontend.http200ResponsPerSecond

1秒間に2xxコードを含むHTTPレスポンス。

frontend.http300ResponsPerSecond

1秒間に3xxコードを含むHTTPレスポンス。

frontend.http400ResponsPerSecond

1秒間に4xxコードを含むHTTPレスポンス。

frontend.http500ResponsPerSecond

1秒間に5xxコードを含むHTTPレスポンス。

frontend.httpOtherResponsPerSecond

他のコード(プロトコルエラー)を含むHTTPレスポンス。

frontend.httpRequests.maxPerSecond

1秒間に観測される最大のHTTPリクエスト数。

frontend.httpRequestsPerSecond

1秒あたりのHTTPリクエスト数。

frontend.interceptedRequestsPerSecond

1秒あたりのインターセプトされたリクエスト数。

frontend.maxConnectionsPerSecond

最大接続数

frontend.maxSessions

最大セッション数

frontend.maxSessionsPerSecond

1秒あたりの新規セッションの最大数です。

フロントエンド・モード

プロキシモード。tcp、http、health、unknownのいずれか。

frontend.proxyName

プロキシの名前です。

frontend.requestErrors

1秒あたりのリクエストエラー数

frontend.requestsDenied.securityConcernsPerSecond

セキュリティ上の理由で拒否されたリクエストの数/秒

frontend.requestsDenied.tcpRequestConnectionRulesPerSecond

1秒あたりのtcp-request接続ルールで拒否されたリクエスト数。

frontend.requestsDenied.tcpRequestSessionRulesPerSecond

1秒あたりのtcp-requestセッションルールで拒否されたリクエスト数。

frontend.responseDenied.securityConcernsPerSecond

セキュリティ上の理由で回答が拒否されることが1秒間に1回あります。

frontend.serviceName

サービスの名前。

frontend.sessionsPerSecond

1秒間に作成されるセッション数。

frontend.status

フロントエンドの状態です。オプションです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)です。

フロントエンド・タイプ

フロントエンドの種類 0 = フロントエンド、 1 = バックエンド、 2 = サーバー、 3 = ソケット/リスナー。

HAProxyサーバのサンプルメトリクス

これらの属性は、 HAProxyServerSample イベントタイプに付けられています。

メトリック

説明

server.agentCheckContents

最後にエージェントがコンテンツやテキストのエラーをチェックします。

server.agentDurationInSeconds

最後のチェックが終了するまでの時間(単位:ミリ秒)。

server.agentStatus

エージェントのステータス

server.agentStatusDescription

人間が読める短い説明 agent_status.

server.averageConnectTimeInSeconds

直近の1024回のリクエストにおける平均接続時間(単位:ミリ秒)。

server.averageQueueTimeInSeconds

直近の1024件のリクエストの平均キュータイム(単位:ミリ秒)。

server.averageResponseTimeInSeconds

直近の1024回のリクエストの平均応答時間(単位:ミリ秒)。

server.averageTotalSessionTimeInSeconds

直近の1024回のリクエストの平均総セッション時間(単位:ミリ秒)。

server.bytesInPerSecond

1秒あたりの受信バイト数。

server.bytesOutPerSecond

1秒あたりの送信バイト数。

server.checkStatusDescription

人間が読める短い説明 check_status.

server.conntingToBackendRequestErrorsPerSecond

バックエンドサーバーへの接続でエラーが発生したリクエストの数(1秒あたり)。

server.connectionRetriesPerSecond

1秒間にサーバーへの接続が再試行された回数。

server.cookieValue

サーバーのクッキーの値です。

server.currentSessions

現在のセッションの数

server.dataTransfersAbortedByClientPerSecond

1秒間にクライアントが中止したデータ転送の数。

server.dataTransfersAbortedByServerPerSecond

1秒あたりにサーバーで中止されたデータ転送の数。

server.downtimeInSeconds

トータルのダウンタイムを秒単位で表示しています。

server.failedchecksPerSecond

1秒間に失敗したチェックの数。

server.failedHealthCheckDetails

ヘルスチェックの詳細に失敗しました。

server.healthCheckContents

最後にヘルスチェックを行い、コンテンツやテキストのエラーを確認します。

server.healthCheckDurationInMilliseconds

最後のヘルスチェックが終了するまでの時間(単位:ミリ秒)。

server.healthCheckStatus

ヘルスチェック状態。

server.http100ResponsPerSecond

1秒あたりの1xxコードのHTTPレスポンス。

server.http200ResponsPerSecond

1秒間に2xxコードを含むHTTPレスポンス。

server.http300ResponsPerSecond

1秒間に3xxコードを含むHTTPレスポンス。

server.http400ResponsPerSecond

1秒間に4xxコードを含むHTTPレスポンス。

server.http500ResponsPerSecond

1秒間に5xxコードを含むHTTPレスポンス。

server.httpOtherResponsPerSecond

他のコード(プロトコルエラー)を含むHTTPレスポンス。

server.isActive

サーバーがアクティブであるかどうか。 0 = 非アクティブ、 1 = アクティブ。

サーバー.isBackup

サーバーがバックアップであるかどうか。 0 = Not Backup, 1 = Backup。

server.layerCode

レイヤ5-7のコードがあれば、それを入力します。

server.maximumQueuedRequests

キューイングされたリクエストの最大値。

server.maxSessions

最大セッション数

server.maxSessionsPerSecond

1秒間の最大セッション数

サーバー・モード

プロキシモード。tcp、http、health、unknownのいずれか。

server.proxyName

プロキシの名前です。

server.queuedRequests

現在キューイングされているリクエスト

server.requestRedispatchPerSecond

1秒間にリクエストが別のサーバーに再送された回数。

server.requestsDenied.securityConcernPerSecond

セキュリティ上の理由で拒否されたリクエストの数/秒

server.responseErrorsPerSecond

1秒あたりの応答エラー数

server.responseDenied.securityConcernPerSecond

セキュリティ上の理由で回答が拒否されることが1秒間に1回あります。

server.serverID

サーバーIDです。

server.serverSelectedPerSecond

新規セッションや再派遣の際に、1秒間にサーバーが選択された回数。

server.serverWeight

サーバーの重量です。

server.serviceName

サービスの名前。

server.sessionsPerSecond

1秒あたりのセッション数

サーバー・ステータス

サーバーの状態です。オプションです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)です。

server.throttlePercentage

スロースタートがアクティブな場合の、サーバのスロットルパーセンテージです。スロースタートを使用していない場合は、値はありません。

server.timSinceLastSessionAssignedInSeconds

バックエンドに最後のセッションが割り当てられてからの秒数。

server.timSinceLastUpDownTransitionInSeconds

前回の UP<->DOWN の遷移からの秒数。

server.type

サーバーの種類。 0 = フロントエンド、 1 = バックエンド、 2 = サーバー、 3 = ソケット/リスナー。

server.upToDownTransitionsPerSecond

1秒あたりのUP->DOWN トランジションの数。

インベントリデータ

HAProxy インテグレーションでは、HAProxy インスタンスの構成パラメータを取得します。このデータは、インフラストラクチャの Inventory ページconfig/haproxy ソースの下にあります。インベントリデータについては、 Understand integration data を参照してください。

インテグレーションでは、以下の設定パラメータのデータを取得します。

バックエンド在庫

名前

説明

アイディ

バックエンドプロキシのIDです。

pid

バックエンドのプロセスIDです。

スリム

バックエンドのセッション制限です。

フロントエンド在庫

名前

説明

アイディ

フロントエンドのプロキシIDです。

pid

フロントエンドのプロセスIDです。

rate_lim

新しいセッション/秒の制限。

スリム

フロントエンドのセッション制限です。

サーバーインベントリー

名前

説明

アイディ

バックエンドプロキシのIDです。

pid

サーバーのプロセスIDです。

qmax

設定された最大キュー。 0 = 制限なし。

サイド

サーバーIDです。

スリム

サーバーのセッション制限です。

ソースコードのチェック

このインテグレーションは、オープンソース・ソフトウェアです。つまり、 そのソースコードを閲覧して 改良を送ったり、独自のフォークを作成して構築することができます。

Copyright © 2022 New Relic株式会社。