マシンエージェント HTTP リスナー

その HTTP リスナーを使用して、マシンエージェントにメトリックを送信できます。マシンエージェントを介してメトリックをレポートするには、sysout を介してエージェントにパイプする代わりに、エージェントに対して HTTP コールを行います。

HTTP リスナーのアクティブ化

HTTP リスナーは、デフォルトでは有効になっていません。HTTP リスナーをアクティブにするには、マシンエージェントを再起動して、metric.http.listener true に設定します。

-D システムのプロパティ

  • metric.http.listener: 必須。true に設定します。
  • metric.http.listener.port: オプション。使用するポートに設定します。デフォルトは 8293 です。
  • metric.http.listener.host:オプション。これは、要求を受け入れるインターフェイスを示します。次のように設定できます。
    • metric.http.listener.host を指定しない場合、デフォルトで localhost に設定されます。これは、localhost からの要求のみ受け入れられることを意味します。
    • すべてのインターフェイスで受け入れるには 0.0.0.0 に設定します(リモートクライアントからの要求を含む)。
    • 要求を受け入れる特定のインターフェイスの IP アドレスに設定します。推奨設定ではありません。
<machine_agent_home>/bin/machine-agent -Dmetric.http.listener=true -Dmetric.http.listener.port=<port_number> -Dmetric.http.listener.host=0.0.0.0

マシンエージェント JAR を呼び出してエージェントを起動する場合は、必ず start up コマンドで JAR 名の前にオプションを配置してください。例:

java -Dmetric.http.listener=true  -jar MACHINE_AGENT_HOME/machineagent.jar

メトリックの作成

HTTP リスナーは、マシンエージェントにカスタム指標をポストして、コントローラにアップロードするために使用します。要求の本文で 1 つ以上のメトリックを JSON データとして定義します。メトリックは、少なくとも 300 秒(5 分)に 1 回アップロードする必要があります。

URI

POST /api/v1/metrics

メトリック定義フィールド

パラメータ説明
metricName コントローラ UI に表示されるメトリックの名前。
aggregatorType

メトリックの集約方法。次のオプションがあります。

  • AVERAGE:1 分間のデータポイントすべての平均(10 分単位または 60 分単位のテーブルに追加する場合)。
  • SUM: :1 分間のすべてのデータポイントの合計(10 分単位または 60 分単位のテーブルに追加する場合)。
  • OBSERVATION: その 10 分または 60 分の間隔で最後にレポートされた 1 分間のデータポイント。
Value メトリックの 64 ビット整数値。

形式

POST /api/v1/metrics
[
{
"metricName": "Custom Metrics|Test|MetricFromRESTClient1",
"aggregatorType": "AVERAGE",
"value": 10
}
]

イベントの作成

HTTP リスナーは、マシンエージェントにカスタムイベントをポストして、コントローラにアップロードするために使用します。要求の本文で 1 つ以上のイベントを JSON データとして定義します。メトリックは、少なくとも 300 秒(5 分)に 1 回アップロードする必要があります。

URI

POST /api/v1/events

イベント定義フィールド

パラメータ名説明
eventSeverity イベントのシビラティ(重大度)(INFO、WARN、ERROR)。
type イベントサブタイプを説明する文字列。イベントのタイプは CUSTOM で、サブタイプはこのパラメータの値になります。
summaryMessage イベントの概要。
properties イベントのプロパティ。これらのプロパティは、特定のクエリでコントローラによってイベントとともに取得されます。これらのプロパティにより、イベントをフィルタリングするための手段が提供されます。キーの最大サイズは 500 文字で、値の最大サイズは 5000 文字です。値には、文字列値を指定できます。
details イベントの任意のキー値の詳細。プロパティに類似することになりますが、個別の呼び出しで取得されます。これを使用して、ユーザが要求したときにのみ取得する必要がある詳細情報を保存します。これにより、通常のイベント呼び出しでこのデータを取得する際のコストが回避されます。

形式

POST /api/v1/events
[
{
"eventSeverity": <event_severity>,
"type": "<event_type>",
"summaryMessage": "<event_summary>",
"properties": {
"<key>":"value1",
"<key2>":"value2"
},
"details": {
"<key>": "<value>"
}
},
{
"eventSeverity": <event_severity>,
"type": "<event_type>",
"summaryMessage": "<event_summary>",
"properties": {
"<key>":"value1",
"<key2>":"value2"
},
"details": {
"<key>": "<value>"
}
},...
]

マシンエージェントのレガシー HTTP API

次の API エンドポイントは下位互換性のためにサポートされていますが、今後のバージョンで拡張されることはありません。

メトリックのアップロード

GET POST Application Performance >Tier を使用できます。この階層は、マシンエージェントに定義されている階層です。

GET の形式は次のとおりです。

GET /machineagent/metrics

例:

http://host:port/machineagent/metrics?name=Custom Metrics|Test|My Metric&value=42&type=average

POST の形式

POST /machineagent/metrics

ヘッダー:

Content-Type: application/xml

本文の内容

<?xml version="1.0"?>
<request>
<metric name="[name of metric 1]", type="[aggregation type]", value="[value of metric 1]" />
<metric name="[name of metric 2]", type="[aggregation type]", value="[value of metric 2]" />
...
<metric name="[name of metric n]", type="[aggregation type]", value="[value of metric n]" />
</request>

例:

http://host:port/machineagent/metrics

本文の内容の例:

<request>
<metric name="Custom Metrics|Test|My Metric 1", type="AVERAGE", value="22" />
<metric name="Custom Metrics|Test|My Metric 2", type="SUM", value="98737" />
<metric name="Custom Metrics|Test|My Metric 3", type="CURRENT", value="93" />
</request>

type の有効な値は次のとおりです。

  • AVERAGE: 1 分間のすべてのデータポイントの平均(10 分単位または 60 分単位のテーブルに追加する場合)。
  • SUM: 1 分間のすべてのデータポイントの合計(10 分単位または 60 分単位のテーブルに追加する場合)。
  • CURRENT:その 10 分または 60 分の間隔で最後にレポートされた 1 分間のデータポイント。

イベントのアップロード

HTTP GET 要求を使用してイベントを送信し、マシンエージェントにイベントをアップロードします。形式は、次のとおりです。

GET /machineagent/event

例:

http://localhost:8293/machineagent/event?type=<event_type>&summary=<summary_text>

Event_type は、次のいずれかを示します。

  • error
  • info
  • warning