HTTP Source へのメトリクスのアップロード
Hosted Collector に HTTP ログとメトリクス Source を追加したら、データのアップロードを開始できます。ログとメトリクスは、同じ HTTP Source にアップロードできますが、1 つの HTTP リクエストでアップロードすることはできません。このドキュメントでは、メトリクスのアップロード手順について説明します。ログをアップロードする場合は、「HTTP Source へのログのアップロード」を参照してください。
メトリクスの単位の要件
HTTP Source にアップロードするメトリクスは、秒単位またはミリ秒単位でなければなりません。マイクロ秒単位のメトリクスはサポートされていません。
メトリクスの Content-Type ヘッダー
以下の表に、HTTP Source にアップロードできるメトリクスの種類と、メトリクスの各タイプをアップロードするときに使用する必要がある Content-Type ヘッダーを示します。Content-Type ヘッダーを省略した場合や、以下のリストにない値を設定した場合には、HTTP ペイロードがログ データとして取得されます。
下の表に示すとおりに、Content-Type ヘッダーの値を正確に指定する必要があります。以下の Content-Type 値以外の余分なテキストが Content-Type ヘッダー値に含まれている場合、その余分なテキストは無視されます。(一部のメトリクス フレームワークでは、Content-Type ヘッダーの先頭または末尾に追加のテキストが付加されます)。
このため、Sumo では Content-Type の値が次のように扱われます。
application/vnd.sumologic.graphite; charset=utf8
これは、次の値として処理されます。
application/vnd.sumologic.graphite
指定された Content-Type ヘッダーに基づいて、Sumo は HTTP ペイロードの各行を目的のメトリクス形式で parse して解釈します。
format | Content-Type ヘッダー |
Graphite | application/vnd.sumologic.graphite |
Carbon 2.0 | application/vnd.sumologic.carbon2 |
Prometheus | application/vnd.sumologic.prometheus Sumo では、Prometheus のコメントや正しくないフォーマットのメトリクスは取得されません。詳細については、「Sumo で受け入れられない Prometheus のメトリクス」Sumo で受け入れられない Prometheus のメトリクス タイプを参照してください。 |
単一ペイロードでの複数のメトリクスの送信
HTTP のオーバーヘッドを最小化するために、Sumo では 1 つの HTTP ペイロードで複数のメトリクスを送信することがサポートされています。1 つの HTTP ペイロードで複数のメトリクスを送信するには、各メトリクスを同じ形式で改行で区切って指定します。
Content-Type: application/vnd.sumologic.graphite
prod.lb-1.cpu 87.2 1501753030
prod.lb-1.memory 32390 1501753030
prod.lb-1.disk 2.2 1501753030
prod.lb-1.cpu 84.6 1501753040
prod.lb-1.memory 32250 1501753040
...
Content-Type: application/vnd.sumologic.carbon2
cluster=prod node=lb-1 metric=cpu ip=2.2.3.4 team=infra 87.2 1501753030
cluster=prod node=lb-1 metric=memory ip=2.2.3.4 team=infra 32390 1501753030
cluster=prod node=lb-1 metric=disk ip=2.2.3.4 team=infra 2.2 1501753030
cluster=prod node=lb-1 metric=cpu ip=2.2.3.4 team=infra 84.6 1501753040
cluster=prod node=lb-1 metric=memory ip=2.2.3.4 team=infra 32250 1501753040
...
Content-Type: application/vnd.sumologic.prometheus
# HELP net_conntrack_dialer_conn_failed_total Total number of connections failed to dial by the dialer a given name.
# TYPE net_conntrack_dialer_conn_failed_total counter
net_conntrack_dialer_conn_failed_total{dialer_name="default",reason="refused"} 7 1530708469
net_conntrack_dialer_conn_failed_total{dialer_name="default",reason="resolution"} 5
net_conntrack_dialer_conn_failed_total{dialer_name="default",reason="timeout"} 0 1530708471
net_conntrack_dialer_conn_failed_total{dialer_name="default",reason="unknown"} 3
サポートされている HTTP ヘッダー
以下の表は、データを HTTP Source に送信するときに HTTP ヘッダーに指定できるパラメーターを示しています。設定はリクエスト内のすべてのメッセージに適用されます。Source 名、ホスト、およびカテゴリの場合、ヘッダー値は、Source または Collector、あるいはその両方にすでに指定されているデフォルト値を上書きします。
設定 | ヘッダー名 | ヘッダー値 |
圧縮されたデータ | Content-Encoding | gzip または deflate 圧縮データをアップロードしている場合は必須です。 |
Content Type (メトリクス用) | Content-Type | application/vnd.sumologic.graphite または application/vnd.sumologic.carbon2 または application/vnd.sumologic.prometheus メトリクスをアップロードする場合に必要です。 |
カスタム Source 名 | X-Sumo-Name | 任意の Source 名。 Source に設定されている Source 名を上書きする必要がある場合に便利です。 |
カスタム Source ホスト | X-Sumo-Host | 任意のホスト名。 Source に設定されている Source ホストを上書きしたい場合に便利です。 |
カスタム Source Category | X-Sumo-Category | 任意の Source Category。 Source に設定されている Source Category を上書きしたい場合に便利です。 |
カスタム メトリクス ディメンション | X-Sumo-Dimensions | すべてのメトリクスに適用するディメンションのコンマ区切りの key=value リスト。 メトリクス用のみ。カスタム ディメンションを使用すると、より詳細なレベルでメトリクスをクエリできます。 |
カスタム メトリクス メタデータ | X-Sumo-Metadata | すべてのメトリクスに適用するメタデータのコンマ区切りの key=value リスト。 メトリクス用のみ。カスタム メタデータを使用すると、より詳細なレベルでメトリクスをクエリできます。 |
cURL を使用したコマンド ラインの例
cURL を使用してファイルからデータを POST によって投稿する場合は、以下の点に注意してください。
- ファイルパスの指定には、-d ではなく、必ず -T パラメーターを使用してください。
-d パラメーターを指定すると、コンテンツから新しい行が削除され、メッセージの境界の検出に支障をきたします。 - ファイルの各行が、HTTP リクエストの Content-Type ヘッダーで指定されている形式に従っていることを確認してください。
POST アップロード (Graphite 形式のメトリクス)
curl -v -X POST -H 'Content-Type:application/vnd.sumologic.graphite' -T [local_file_name] https://collectors.sumologic.com/receiver/v1/http/[UniqueHTTPCollectorCode]
POST アップロード (Carbon 2.0 形式のメトリクス)
curl -v -X POST -H 'Content-Type:application/vnd.sumologic.carbon2' -T [local_file_name] https://collectors.sumologic.com/receiver/v1/http/[UniqueHTTPCollectorCode]
POST アップロード (gzip 圧縮された Graphite 形式のメトリクス)
curl -v -X POST -H 'Content-Encoding:gzip' -H 'Content-Type:application/vnd.sumologic.graphite' -T [local_file_name.gz] https://collectors.sumologic.com/receiver/v1/http/[UniqueHTTPCollectorCode]
POST アップロード (Prometheus 形式のメトリクス)
curl -v -X POST -H 'Content-Type:application/vnd.sumologic.prometheus' -T [local_file_name] http://collectors.sumologic.com/receiver/v1/http/[UniqueHTTPCollectorCode]