EPAgent RESTful インターフェースの設定
EPAgent RESTful インターフェースの設定
apmdevops98jp
アプリケーションまたは環境から収集されるメトリックを送信するように EPAgent HTTP RESTful インターフェースを設定することができます。 HTTP RESTful インターフェースは、既存の EPAgent メトリック収集ソリューションと組み合わせて使用することができます。 ステートフル/ステートレス プラグイン、ネットワーク ソケット リスナ、ならびに GET とクエリ パラメータを使用する HTTP メソッドが含まれます。
EPAgent に対して REST インターフェースを有効にするには、IntroscopeEPAgent.properties ファイルの introscope.epagent.config.httpServerPort を設定します。 REST インターフェースは、HTTP POST 呼び出しを使用して、JSON 構文のメトリック データのペイロードにより、メトリック データを受信します。 さらに、EPAgent REST インターフェースは、GZIP 圧縮の JSON メトリック データを処理できます。
内容
2
タイプ
メトリック
{"type" : "<a supported metric type>","name" : "<a unique metric name (including path but excluding host|process|agent)>","value" : "<the metric value>"}}
有効なメトリック タイプ
メトリックの type 属性は、以下のいずれかである必要があります。
タイプ | 説明 | 注 |
PerintervalCounter | 値は間隔ごとのレート。間隔は変更可能です。 これらのメトリックは、値を合計することによって、一定期間で集約されます。 たとえば、15 秒間に10 のメソッド呼び出しがあり、次の15 秒間に 15 のメソッド呼び出しがあった場合、30 秒に集約すると、30 秒間に25 メソッド呼び出しになります。 | 1 時間ごとのマイル数や間隔ごとのエラー数などのメトリックに有益です。 新しい間隔ごとにゼロにリセットされます。 |
IntCounter | 増加または減少可能な int 値。 | キュー内のメッセージ数などの集計メトリックに有益です。 新しい値が報告されるまで値が変更されません。 |
IntAverage | IntAverage -- 徐々に平均される int 値。 | 秒単位の平均時間などの応答時間に有益です。 この値は、該当するすべてのメトリック(ループ内など)をレポートし、間隔の最後に計算を自動実行します。 |
IntRate | 1 秒あたりのレート。 これらのメトリックは、値の平均値から一定期間で集約されます。 | |
LongCounter | 増加または減少可能な long 値。 | IntCounter と同じことを非常に多くの数に対して実行します。 |
LongAverage | 徐々に平均される long 値。 | IntAverage と同じことを非常に多くの数に対して実行します。 |
StringEvent | 定期的に文字列を生成するタイプを表しています。 このレコーダは、現在の値の概念を持ちません。 レポートされた順番にイベントをレポートするのみです。 | スタートアップ コマンドラインやログ エントリなどの文字列値のレポートに有益です。 |
タイムスタンプ | 連続して増加するタイプスタンプを生成するタイプ。 | 値は、1970 年 1 月 1 日 00 時 00 分 00 秒(UTC)以降のミリ秒数である UNIX 時間です。 |
Metric Feed
{"host" : "<agent hostname>", (Optional. If set, it must match that in IntroscopeEPAgent.properties)"process" : "<agent process name>", (Optional. If set, it must match that in IntroscopeEPAgent.properties)"agent" : "<agent name>", (Optional. If set, it must match that in IntroscopeEPAgent.properties)"metrics" : [{"type" : "<type>", "name" : "<name>", "value" : "<value>"},{"type" : "<type>", "name" : "<name>", "value" : "<value>"},{"type" : "<type>", "name" : "<name>", "value" : "<value>"}
MetricFeedResponse
{"errorCode" : (Only included when errors processing metric feed bundle occur)"errorMessage" : "One or more metric specifications were invalid", (Only included when errors processing metric feed bundle occur)"invalidCount" : 2, (Only included when count > 0)"validCount" : 1"metricErrors" : [{"metricName" : "<metric name>", "metricErrorCode" : "<error code>", "metricErrorMsg" : "<error message>", "metricErrorIndex" : <the index of the erroneous metric in the submitted metric list>},{"metricName" : "<metric name>", "metricErrorCode" : "<error code>", "metricErrorMsg" : "<error message>", "metricErrorIndex" : <the index of the erroneous metric in the submitted metric list>}] (metricErrors only included when there are errors processing one or more metrics)}
URI
メトリック フィード URI
URL:
http://<EPA Host>:<EPA HTTP Port>/apm/metricFeedメソッド:
POSTヘッダ:
"Content-Type:application/json"HTTP 成功応答コード:
200 (OK) {"validMetricCount" : <正常に送信されたメトリックの数>}
GZIP 圧縮
GZIP 圧縮を有効にするには、HTTP ペイロード全体に対して gzip を実行し、以下の HTTP ヘッダを含めます。
ヘッダ:
"Content-Encoding:gzip"エラー コード
ペイロード エラー
コード | メッセージ | 注 |
1,000 | Invalid Request. A valid request must have a Content-Type header. The only supported value is application/json. A valid request must have a valid json payload containing a MetricFeed object. A valid request may have a Content-Encoding header. Supported encodings are gzip, x-gzip, and identity. A valid request may specify a charset in the Content-Type header. The specified charset must be supported by the installed java implementation. | |
1001 | Invalid JSON | 入力が、JSON として解析可能ではありません。 |
1010 | One or more metric specifications were invalid | 応答には、無効な各メトリックについて、メトリックごとのエラーが含まれます。最初の 100 件に制限されます。 |
メトリックごとのエラー
コード | メッセージ | 注 |
1011 | Invalid metric name | Name = (MetricName) | (ResourceSegments “:” MetricName) 各項目の説明: ResourceSegments = (ResourceName) | (ResourceSegments “|” ResourceName) MetricName = 「|」または「:」以外の任意の Unicode 文字列(後続スペースなし) ResourceName = 「|」または「:」以外の任意の Unicode 文字列 |
1012 | Invalid metric type | 有効なタイプは、LongAverage、IntAverage、LongCounter、IntCounter、IntRate、StringEvent、TimeStamp、PerIntervalCounter です。 |
1013 | Invalid metric value | 通常、値が指定されたタイプと一致しない場合に表示されます( IntCounter の値が「hello world」の場合など)。 |
1014 | Metric clamp exceeded | IntroscopeEPAgent.properties で指定された設定済みメトリック クランプに到達したため、メトリックを作成できませんでした。 |
HTTP 応答コード
コード | メッセージ | 注 |
200 | Success | 出力に、送信された有効なメトリックの数が含まれています。 |
400 | Invalid request | 上記のエラー コード 1000 および 1001 にマップされます。 |
409 | Partial success | 上記のエラー コード 1010にマップされ、送信されたエラーのあるメトリックごとに個別のメトリック エラーが示されます。 |
415 | Invalid encoding | gzip または Identity 以外の Content-Encoding ヘッダがメトリック バンドルとともに送信されました。 |