メインコンテンツへスキップ
メインコンテンツへスキップ

ローカルログとメトリクス

このクイックスタートガイドでは、ローカル環境のログとメトリクスを収集し、それらを可視化と分析のために ClickStack に送信する手順を説明します。

このサンプルは OSX および Linux システムでのみ動作します

このガイドは、マネージドClickStackの入門ガイドを完了し、接続認証情報を記録済みであることを前提としています。

カスタムOpenTelemetry設定の作成

以下の内容で custom-local-config.yaml ファイルを作成します:

receivers:
  filelog:
    include:
      - /host/var/log/**/*.log        # Linux logs from host
      - /host/var/log/syslog
      - /host/var/log/messages
      - /host/private/var/log/*.log   # macOS logs from host
    start_at: beginning
    resource:
      service.name: "system-logs"

  hostmetrics:
    collection_interval: 1s
    scrapers:
      cpu:
        metrics:
          system.cpu.time:
            enabled: true
          system.cpu.utilization:
            enabled: true
      memory:
        metrics:
          system.memory.usage:
            enabled: true
          system.memory.utilization:
            enabled: true
      filesystem:
        metrics:
          system.filesystem.usage:
            enabled: true
          system.filesystem.utilization:
            enabled: true
      paging:
        metrics:
          system.paging.usage:
            enabled: true
          system.paging.utilization:
            enabled: true
          system.paging.faults:
            enabled: true
      disk:
      load:
      network:
      processes:

service:
  pipelines:
    logs/local:
      receivers: [filelog]
      processors:
        - memory_limiter
        - batch
      exporters:
        - clickhouse
    metrics/hostmetrics:
      receivers: [hostmetrics]
      processors:
        - memory_limiter
        - batch
      exporters:
        - clickhouse

この設定は、OSXおよびLinuxシステムのシステムログとメトリクスを収集し、結果をClickStackに送信します。この設定では、新しいレシーバーとパイプラインを追加することでClickStackコレクターを拡張します。ベースのClickStackコレクターで既に設定されているclickhouseエクスポーターとプロセッサー(memory_limiterbatch)を参照してください。

インジェストのタイムスタンプ

この設定は、インジェスト時にタイムスタンプを調整し、各イベントに更新された時刻値を割り当てます。正確なイベント時刻を保持するために、ログファイル内のOTelプロセッサまたはオペレータを使用してタイムスタンプの前処理または解析を行うことを推奨します。

この設定例では、レシーバーまたはファイルプロセッサがファイルの先頭から開始するように構成されている場合、既存のすべてのログエントリには同一の調整済みタイムスタンプが割り当てられます。これは元のイベント時刻ではなく、処理時刻です。ファイルに追加される新しいイベントには、実際の生成時刻に近似したタイムスタンプが付与されます。

この動作を回避するには、レシーバー設定で開始位置を end に設定します。これにより、新しいエントリのみが取り込まれ、実際の到着時刻に近いタイムスタンプが付与されます。

OpenTelemetry (OTel) の設定構造の詳細については、公式ガイドを参照してください。

OpenTelemetry Collectorを起動する

以下のコマンドでスタンドアロンコレクターを実行します:

docker run -d \
  -p 4317:4317 -p 4318:4318 \
  --user 0:0 \
  -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
  -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} \
  -e CLICKHOUSE_USER=${CLICKHOUSE_USER} \
  -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} \
  -v "$(pwd)/custom-local-config.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
  -v /var/log:/host/var/log:ro \
  -v /private/var/log:/host/private/var/log:ro \
  clickhouse/clickstack-otel-collector:latest

コレクターは即座にローカルシステムのログとメトリクスの収集を開始します。

サービスを選択する

メインのClickHouse Cloudランディングページから、Managed ClickStackを使用したサービスを選択します。

サービスを選択

左側のメニューからClickStackを選択してClickStack UIに移動すると、自動的に認証されます。

検索UIにローカルシステムログが表示されます。フィルタを展開してsystem.logを選択してください:

HyperDX ローカルログ

システムメトリクスを探索する

チャートを使用してメトリクスを確認できます。

左側のメニューからChart Explorerに移動します。ソースとしてMetricsを選択し、集計タイプとしてMaximumを選択してください。

Select a Metricメニューで、system.memory.utilization (Gauge)を選択する前にmemoryと入力します。

実行ボタンを押して、メモリ使用率の時系列推移を可視化してください。

メモリ使用率の推移

数値は浮動小数点の%として返されることに注意してください。より明確に表示するには、Set number formatを選択してください。

数値の書式

次のメニューから、Output formatドロップダウンでPercentageを選択してから、Applyをクリックします。

メモリ使用率(%)