コンテンツにスキップ

ログ収集


Guanceは、包括的なログ収集機能を備えています。主にホストログ収集とK8Sコンテナログ収集に分けられます。両者ではDataKitのインストール方法が異なり、ログ収集の方法もそれぞれ異なります。収集されたログデータはGuanceに一元集約され、統一された保存、検索、分析が行われ、問題の迅速な特定と解決を支援します。

本記事では、ホスト環境でのログ収集方法を主に説明します。K8S環境でのログ収集については、ベストプラクティス Kubernetesクラスターにおけるログ収集のいくつかの方法 を参照してください。

前提条件

DataKitのインストール

または、Guance にログインし、インテグレーション > DataKit で、ホストOSに応じて Linux、Windows、MacOS を選択し、DataKitのインストール手順を取得することもできます。

ログコレクターの設定

DataKitのインストールが完了したら、標準ログ収集またはカスタムログ収集の2つの方法で、システムログやアプリケーションログ(Nginx、Redis、Docker、ESなど)といったさまざまなログデータの収集を行うことができます。

DataKitのインストールディレクトリ配下の conf.d/samples ディレクトリに移動し、logging.conf.sample をコピーして logging.conf という名前で設定します。設定が完了したら、DataKitを再起動すると反映されます。

詳細はホストログ収集を参照してください。


Guanceがサポートする標準ログコレクター(NginxRedisESなど)を有効にすることで、ワンクリックでログ収集を開始できます。


注意

ログコレクターを設定する際は、ログのPipeline機能を有効にし、ログの時間 time とログレベル status のフィールドを抽出する必要があります。

  • time:ログの生成時刻。time フィールドが抽出されないか、解析に失敗した場合は、デフォルトでシステムの現在時刻が使用されます。
  • status:ログのレベル。status フィールドが抽出されない場合は、デフォルトで statusunknown に設定されます。

詳細はドキュメント Pipelineの設定と使用 を参照してください。

ログデータの保存

ログコレクターの設定が完了したら、DataKitを再起動すると、ログデータが一元的にGuanceのワークスペースに送信されます。

大きな時間差のあるデータの書き込み

書き込みタイムスタンプが現在時刻と大きく異なるデータを書き込むと、ストレージエンジン内のデータブロックのmin-maxインデックスの効率が低下します。これにより、ごく小さな時間範囲のクエリであっても、大量のデータブロックをスキャンする必要が生じ、クエリ性能が著しく低下します。

この問題を緩和するため、システムはデフォルトで、タイムスタンプが現在時刻から12時間以上ずれているデータポイントを書き込み時にフィルタリングします(データポイントのみを破棄し、データパケット全体は破棄しません)。この仕組みにより、インデックスの有効性が維持され、クエリ効率が向上します。

Kodo-X の設定追加:

kodo-x.yaml:3つのパラメータを追加 enable_discard_expired_data:時間差の大きなデータを破棄するかどうか(デフォルトで有効) discard_expired_seconds:時間差の大きいと判断する基準(デフォルト値12時間)

global:
   enable_discard_expired_data: true
   discard_expired_seconds: 12 * 3600

discard_data_type:破棄するデータタイプ(デフォルト値):

DiscardDataType: map[string]bool{
                // "metering": true,
                // "TAE":      true,
                // "AE":       true,
                "B":  true,
                "CO": true,
                "D":  true,
                "E":  true,
                "EL": true,
                "L":  true,
                // "NM":       true,
                "N":  true,
                "OH": true,
                "O":  true,
                "P":  true,
                // "RM":       true,
                "R": true,
                "S": true,
                // "TM":       true,
                "T": true,
            },

フィードバック

このページは役に立ちましたか?