Download PDF
Download page マシンエージェント HTTP リスナー.
マシンエージェント HTTP リスナー
その HTTP リスナーを使用して、マシンエージェントにメトリックを送信できます。マシンエージェントを介してメトリックをレポートするには、sysout
を介してエージェントにパイプする代わりに、エージェントに対して HTTP コールを行います。
HTTP リスナーのアクティブ化
HTTP リスナーは、デフォルトでは有効になっていません。HTTP リスナーをアクティブにするには、マシンエージェントを再起動して、metric.http.listener
システムプロパティを true
に設定します。オプションで、システムプロパティを使用してリスナーのホストとポートを指定できます。
-D system properties
は次のとおりです。
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 | メトリックの集約方法。次のオプションがあります。
|
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