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

Source を設定するための JSON のトラブルシューティング

JSON ファイルを介して提供される Source は、いくつかの理由で Collector に適用できない場合があります。このドキュメントでは、Source の設定を試みるときの JSON ファイルに関する一般的な問題について説明します。

JSON ファイルに問題がないかを調査する前に、使用している Source 管理の手法が正しいことを確認してください。ローカル設定ファイル管理のために syncSources を使用している場合、または Source の管理のために Collector API を使用している場合は、ご使用のステップを確認し、この手法の使用に関して問題がないか調べてください。たとえば、ローカル設定ファイル管理を使用するように Collector が設定されていない場合、JSON ファイルは監視されません。

エンコードが UTF-8 であるか

JSON ファイルのエンコードが RFC 8259 に従う UTF-8 エンコードであることを確認します。JSON ファイルが UTF-16 などの別のエンコードである場合は、Collector がファイルの内容を読み取ることができなくなります。 

JSON が有効であるか

JSON が有効でない場合は、Collector がファイルの内容を読み取れなくなります。JSON ファイルにフォーマットの問題がある場合は、Collector ログに以下のログ メッセージが記録される場合があります。Installed Collector がログ イベントを保存するのは、インストール ディレクトリの「/logs」ディレクトリの下です。/logs/collector.log ファイルに次のエラー メッセージが記録される場合があります。

com.sumologic.scala.collector.auth.UpdateFailedException: * Could not synchronize blade, failed to read the content of the json file

  • JSON の内容をコピーして jsonlint.com などの JSON 検証ツールに貼り付けると、JSON の形式を簡単に検証できます。jsonlint.com では、コンマ、引用符、中括弧、角括弧がないなど、形式 エラーの可能性がある場合は、該当箇所が強調表示されます。
  • Source の有効な JSON 設定を取得するには、既存の Collector の JSON を使用することをお勧めします。詳細については「Source JSON 設定に表示またはダウンロード」を参照してください。

Source 設定が有効であるか

Sumo Logic では、各 Source の JSON ファイルに特定のキーと値のペアが指定されている必要があります。必須のキー (パラメータ) に指定された値が、大文字と小文字の区別が正しくない場合、または適切なデータ タイプでない場合、Collector は、Source 設定を読み取って適用することができなくなります。JSON Source を適用できない原因となる場合がある一般的な問題のいくつかを次に示します。

  • Source 名が重複

    JSON ファイルに含まれる Source の「名前」が重複していないことを確認します。名前の重複は、許可されません。/logs/collector.log ファイルに次のエラー メッセージが記録される場合があります。

    2018-05-16 20:30:25,084 +0000 [WrapperSimpleAppMain] INFO com.sumologic.scala.collector.auth.CollectorRegistrationManager - [main] Response code is 200 with warnings: List(Key: collector.error, Message: Error creating source: Server returned undeclared exception from cocoa-soa/CollectorStore: org.apache.avro.AvroRuntimeException: Unknown datum type com.sumologic.cocoa.api.DuplicateNameException: com.sumologic.cocoa.api.DuplicateNameException: Error creating sources List(ticker, ticker); a source already exists with that name.), errors: List()

  • キー名が無効

    必須のキー (パラメータ) の綴りに誤りがある場合、またはキャメル ケースが正しくない場合、Collector は、Source 設定を読み取って適用することができなくなります。たとえば、キー名として「sourceType」ではなく「sourcetype」を指定した場合です。指定したキーが無効であった場合は、次のタイプのエラー メッセージが /logs/collector.log ファイルに記録される場合があります。 

    2018-12-07 14:29:03,881 -0800 [JsonSync Manager] INFO com.sumologic.scala.collector.auth.CollectorRegistrationManager - [main] Response code is 200 with warnings: List(Key: source.type.invalid, Message: Please specify a source type), errors: List()

    キー (パラメータ) は、「JSON を使用した Source の設定」で参照できます。
  • 値が無効

    必須のキー (パラメータ) に指定された値が、綴りに誤りがある場合、大文字と小文字の区別が正しくない場合、または適切なデータ タイプでない場合、Collector は、Source 設定を読み取って適用することができなくなります。たとえば、「sourceType」キーの値を「LocalFile」ではなく「localfile」として指定した場合です。見つかった必須のキーの値が無効であった場合は、次のタイプのエラー メッセージが /logs/collector.log ファイルに記録される場合があります。 

    2018-12-07 14:32:01,898 -0800 [JsonSync Manager] INFO com.sumologic.scala.collector.auth.CollectorRegistrationManager - [main] Response code is 200 with warnings: List(Key: source.type.invalid, Message: Invalid source type: 'Localfile'), errors: List()

    値は、「JSON を使用した Source の設定」で参照できます。
     
  • Source のポート番号が重複

    Collector には、特定のポートとプロトコルを組み合わせて使用する 1 つの Source を設定できます。複数の Syslog またはメトリクス Source で同じポートとプロトコルが指定されている場合は、次のタイプのエラー メッセージが /logs/collector.log ファイルに記録される場合があります。 

    2018-12-06 10:52:08,896 -0800 [JsonSync Manager] INFO com.sumologic.scala.collector.auth.CollectorRegistrationManager - [main] Response code is 200 with warnings: List(Key: collector.error, Message: Error creating source: Error validating source.), errors: List()

  • 単一の Source の定義と複数の Source の定義の比較

    ローカル設定ファイル管理は 2 通りの方法で実装できます。

    • すべての Source を UTF-8 でエンコードされた 1 つの JSON ファイルで指定する 

    • UTF-8 でエンコードされた複数の JSON ファイルを使用して Source を指定し、それらのファイルを単一のフォルダに配置する。各 Source の定義をそれぞれのファイルに記述するか、または複数の Source の定義を 1 つのファイルに記述することができます。

    これらのオプションが適切に設定されていることを確認してください。複数の Source は、JSON 配列で指定する必要があります。

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