メインコンテンツまでスキップ
Sumo Logic Japanese

HTTP ログとメトリクス ソース

HTTP ログとメトリクス ソースは、このソースに対して生成された一意の URL にアップロードされたログおよびメトリクス データを受信するためのエンドポイントです。URL ではコレクタおよびソース情報が安全にエンコードされます。1 つのホスト型コレクタに必要な任意の数の HTTP ログとメトリクス ソースを追加できます。

HTTP ログとメトリクス ソースによって、コレクタをインストールできないデータ ソースからログとメトリクスをアップロードできます。たとえば、PaaS (Platform as a Service ) または IaaS (Infrastructure as a Service) プロバイダからデータをエクスポートすることで、組織ですでに使用している Sumo ツールと同じものを利用して、たとえば請求システム サービス プロバイダへの可視性を得ることができます。API を使用してログまたはメトリクス データを Sumo Logic の HTTP エンドポイントに転送する方法については、IaaS または PaaS プロバイダに確認してください。

HTTP ログおよびメトリクス ソースを設定すると、そのソースに一意の URL が割り当てられます。生成された URL は文字と数字からなる長い文字列です。新しい URL はいつでも生成できます。詳細については、「HTTP ソースの新しい URL の生成」を参照してください。

データ ペイロードの考慮事項

POST リクエストのデータ ペイロードは、圧縮前のサイズを 100 KB ~ 1 MB にすることをお勧めします。

HTTP ログとメトリクス ソースの設定

HTTP ログとメトリクス ソースを設定するには、次の手順を実行します。

  1. Sumo Logic Web アプリケーションで、[Manage Data (データの管理)] > [Collection (コレクション)] > [Collection (コレクション)] を選択します。 
  1. [Collectors (コレクタ)] ページで、ホスト型コレクタの横の [Add Source (ソースを追加)] をクリックします。
  1. [HTTP Logs & Metrics (HTTP ログとメトリクス)] を選択します。 
  1. Sumo Web アプリケーションのソースに表示する [Name (名前)] を入力します。必要に応じて説明を入力します。
  1. (省略可能) [Source Host (ソース ホスト)][Source Category (ソース カテゴリ)] に、このソースから収集された出力にタグを付けるための任意の文字列を入力します (カテゴリのメタデータは _sourceCategory という検索可能なフィールドに格納されています)。
  1. [Advanced (詳細)] の下にある次のいずれかのオプションを選択します。[Advanced (詳細)] のオプションは、ソースにアップロードされたメトリクスには適用されません

Enable Timestamp Parsing (タイムスタンプ パースの有効化): デフォルトでは、このオプションはオンになっています。オフにすると、タイムスタンプ情報はパースされません。

  • Time Zone (タイム ゾーン): タイム ゾーンには 2 つのオプションがあります。ログ ファイル内のタイム ゾーンを使用できます。その後にタイム ゾーン情報がログ メッセージにない場合のオプションを選択します。また、Sumo で、特定のタイム ゾーンを強制することができ、この場合ログ内にあるタイム ゾーン情報は完全に無視されます。どのオプションを選択しても、適切なタイムゾーンを設定することが重要です。ログのタイム ゾーンを判断できない場合、Sumo はログに UTC を割り当てます。ログの残りの部分が他のタイム ゾーンの場合は、検索結果に影響があります。
  • Timestamp Format (タイムスタンプ フォーマット): デフォルトでは、Sumo はログのタイム スタンプ フォーマットを自動的に検出します。ただし、ソースのタイムスタンプ形式を手動で指定することができます。詳細は、「タイムスタンプ、タイム ゾーン、時間範囲、および日付フォーマット」を参照してください。

Enable Multiline Processing (複数行処理の有効化): 複数行処理とそのオプションの詳細は、「複数行のログの収集」を参照してください。複数行のメッセージ (log4J メッセージや例外スタックのトレースなど) を扱う場合は、このオプションを使用してください。1 メッセージ 1 行のファイルを収集するときに不要な処理を避けたい場合は、このオプションの選択を解除してください (Linux の system.log など)。

  • Infer Boundaries (境界の推定): 同じメッセージに含まれる行の自動的な判定を使用する場合に有効にします。
    [Infer Boundaries (境界の推測)] オプションの選択を解除した場合は、複数行メッセージの最初の行全体を検出するための正規表現を [Boundary Regex (境界正規表現)] フィールドに入力します。
  • Boundary Regex (境界正規表現): 正規表現を使用してメッセージ間の境界を指定できます。ログ ファイルのすべての複数行メッセージに対して、最初の行全体を検出する正規表現を入力します。
  • Enable One Message Per Request (リクエストごとに 1 つのメッセージを有効にする)。HTTP リクエストごとに 1 つのメッセージを送信する場合は、このオプションを選択します。詳細については、「HTTP ソースの複数のオプション」を参照してください。 
  1. Processing Rules for Logs (ログの処理ルール)。「Create a Processing Rule (処理ルールの作成)」の説明に従って、必要なフィルタ (包含、除外、ハッシュ、マスクなど) を設定します。処理ルールはログ データには適用されますが、メトリクス データには適用されません。Sumo サービスがデータを受け取る間、データの取得は処理ルールで指定した正規表現に従って実行されます。
  2. ソースの設定を完了した場合は、[Save (保存)] をクリックします。
  3. ソースに関連付けられている URL が表示されたら、その URL をコピーしてデータのアップロードに使用できるようにします。

HTTP ログとメトリクス ソースへのデータのアップロード

HTTP ソースにはログとサポートされているメトリクス タイプの両方をアップロードできます。ソースにログまたはメトリクスをアップロードしているかどうかによって要件が異なります。 

HTTP アクセス制御 (CORS)

Sumo Logic HTTP ソースは、CORS メカニズムによってバインドされたクライアントをサポートします。

適切な Access-Control-* 応答ヘッダーを確実に設定するために、Origin ヘッダーが最初の OPTIONS プローブとそれ以降のすべてのリクエストに入力されていることを確認します。

圧縮されたデータ

Sumo の未加工で圧縮されていないデータ (プレーン テキストなど) を送信するか、"deflate" または "gzip" メソッドのいずれかによって圧縮されたデータを送信することができます。圧縮データは GET メソッドではなく POST メソッドでのみ送信できます。アップロード前にログ データまたはメトリクス データを圧縮できます。

圧縮ペイロードを送信するには、リクエストの Content-Encoding ヘッダーに gzip (gzip-compressed の場合) または deflate (zlib-compressed の場合) の値を指定し、リクエストの本体に圧縮データを含めます。

ソースの URL のアクセス

ソースの URL に再度アクセスする必要がある場合は、[Show URL (URL の表示)] をクリックします。

HTTPshowURL.png

ソースの url は、ソースの JSON 設定のために GET リクエストをコレクタ管理 API に送信することで表示できます。

HTTP ソースの複数のオプション

HTTP ログとメトリクス ソースは、ソースごとに多数の接続をサポートするようには設計されていません。できるだけ、ローカルでログ メッセージをまとめて、1 つのスレッドでバッチを送信する必要があります。 

スループットを向上させるには、複数のログ メッセージをソースへの 1 回のリクエストにまとめます。スタック トレースなど、それらのログのいずれかに複数行のメッセージが含まれる可能性がある場合は、[Enable Multiline Processing (複数行処理を有効にする)] をオンにします。 

http_source_enable_multiline_processing.png

基本的な複数行処理の場合は、[Infer Boundaries (境界の推測)] を選択します。このために、メッセージが不正な形式になる場合は、複数行の境界を判定する正規表現を指定できます。

また、HTTP ソースの設定で、[Enable One Message Per Request (リクエストごとに 1 つのメッセージを有効にする)] チェック ボックスがオフになっていることを確認してください。このオプションを使用すると、個々の HTTP リクエスト内で HTTP ソース エンドポイントに送信されたすべてのデータを 1 つのログ メッセージと見なすように指定できます。 

Sumo では、個々のログ メッセージの内容全体が 1 つの HTTP リクエストで Sumo に送信されることを前提としています。複数行の処理ルールは、1 つの HTTP リクエスト内で送信されたデータの境界内にのみ適用されます。つまり、複数の HTTP リクエストにまたがって Sumo に送信される複数行のログは、1 つのメッセージとして検出されません。別々のログ メッセージに分割されます。Sumo には現在、複数の HTTP リクエストで送信された明らかに 1 つのログ メッセージを検出したり、それらをスレッド化する機能はありません。 

メッセージをまとめることができるツールについては、https://github.com/SumoLogic/sumologic-net-appenders を参照してください。

コレクタの複数行ログの処理方法については、「複数行のログの収集」を参照してください。