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

HTTP ログとメトリクス Source

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

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

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

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

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

ネットワーク経由で送信されるリクエスト数を削減するため、Sumo Logic では、データをまとめて各 POST リクエスト内に含めることをベスト プラクティスとしてお勧めしています。データをまとめて 1 つのリクエスト内に含めると、データ ボリュームの移動に必要なリクエスト数が最小限に抑えられ、送信側のマシンのリソース使用率も削減されます。こうしたバッチ リクエストは、データを圧縮しない場合で最大 1MB まで送信できます。ただし、特定の使用事例における最適なバッチは、ログやメトリクスがシステムで発生する割合や速度によって異なります。

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

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

  1. Sumo Logic Web アプリケーションで、[Manage Data (データの管理)] > [Collection (コレクション)] > [Collection (コレクション)] を選択します。 
  1. [Collectors] ページで、HostedCollector の横の [Add Source (Source を追加)] をクリックします。
  1. [HTTP Logs & Metrics (HTTP ログとメトリクス)] を選択します。 
  1. Sumo Web アプリケーションの Source に表示する [Name (名前)] を入力します。必要に応じて説明を入力します。
  1. (省略可能) [Source Host (Source ホスト)][Source Category] に、この Source から収集された出力にタグを付けるための任意の文字列を入力します。(カテゴリ メタデータは、_sourceCategory という名前の検索可能フィールドに保存されます。)
  2. Fields (フィールド): [+Add Field (+ フィールドの追加)] リンクをクリックすると、カスタム ログ メタデータ フィールドが追加されます。
    • 関連付けるフィールドを定義します。各フィールドには、名前 (キー) と値が必要です。 
      • green check circle.png [Fields (フィールド)] テーブル スキーマにフィールドが存在し、有効化されている場合は、チェック マークを含む緑色の円が表示されます。
      • orange exclamation point.png [Fields (フィールド)] テーブル スキーマにフィールドが存在しない場合、またはフィールドが無効化されている場合は、感嘆符を含む橙色の三角形が表示されます。この場合は、存在しないフィールドを [Fields (フィールド)] テーブル スキーマに自動的に追加する、または有効化するオプションが表示されます。[Fields (フィールド)] スキーマに存在しないフィールドが Sumo に送信された場合、または無効化された場合、このフィールドは無視され、削除済みとして認識されます。
  3. [Advanced (詳細)] の下にある次のいずれかのオプションを選択します。[Advanced (詳細)] オプションは、アップロードされたメトリクスには適用されません

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

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

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 Source の複数のオプション」を参照してください。 
  1. Processing Rules for Logs (ログの処理ルール)。「Create a Processing Rule (処理ルールの作成)」の説明に従って、必要なフィルタ (包含、除外、ハッシュ、マスクなど) を設定します。処理ルールはログ データには適用されますが、メトリクス データには適用されません。Sumo サービスがデータを受け取る間、データの取得は処理ルールで指定した正規表現に従って実行されます。
  2. Source の設定を完了した場合は、[Save (保存)] をクリックします。
  3. Source に関連付けられている URL が表示されたら、その URL をコピーしてデータのアップロードに使用できるようにします。

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

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

HTTP アクセス制御 (CORS)

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

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

圧縮されたデータ

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

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

Source の URL のアクセス

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

HTTPshowURL.png

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

HTTP Source の複数のオプション

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

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

http_source_enable_multiline_processing.png

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

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

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

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

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

  • この記事は役に立ちましたか?