その 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
CODE

マシンエージェント 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

  }

]
CODE

イベントの作成

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>"
    }
  },...
]
CODE


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

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

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

GET または POST を使用してメトリックをメトリックブラウザの [Application Performance > Tier] にアップロードできます。ここで、階層はマシンエージェントに対して定義されている階層です。

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

GET /machineagent/metrics
CODE

次に例を示します。

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

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

POST /machineagent/metrics
CODE

ヘッダー

Content-Type: application/xml
CODE

本文の内容

<?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> 
CODE

例:

http://host:port/machineagent/metrics
XML

本文の内容の例

<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>
CODE


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

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

イベントのアップロード

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

GET /machineagent/event
CODE

例: 

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

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

  • error
  • info
  • warning