ローカルのログとメトリクス
この入門ガイドでは、ローカル環境のログとメトリクスを収集し、それらを ClickStack に送信して可視化および分析します。
このサンプルは OSX および Linux システムでのみ動作します
このサンプルデータセットは、記載されているとおり手順にわずかな調整を加えるだけで、ClickHouse Cloud 上の HyperDX でも使用できます。ClickHouse Cloud で HyperDX を使用する場合は、このデプロイメントモデル向けの入門ガイドで説明されているように、ローカルで実行される OpenTelemetry collector が必要です。
カスタムOpenTelemetry設定を作成する
以下の内容で custom-local-config.yaml ファイルを作成します:
この設定は、macOSおよびLinuxシステムのシステムログとメトリクスを収集し、結果をClickStackに送信します。この設定では、新しいレシーバーとパイプラインを追加することでClickStackコレクターを拡張します。ベースのClickStackコレクターで既に設定されているclickhouseエクスポーターとプロセッサー(memory_limiter、batch)を参照してください。
この設定はインジェスト時にタイムスタンプを調整し、各イベントに更新された時刻値を割り当てます。正確なイベント時刻を保持するために、ユーザーはログファイル内のタイムスタンプを前処理または解析する際に、OTelプロセッサーまたはオペレーターを使用することを推奨します。
この設定例では、receiverまたはfileプロセッサがファイルの先頭から開始するように構成されている場合、既存のすべてのログエントリには同一の調整済みタイムスタンプ(元のイベント時刻ではなく処理時刻)が割り当てられます。ファイルに追加される新しいイベントには、実際の生成時刻に近似したタイムスタンプが付与されます。
この動作を回避するには、レシーバー設定で開始位置を end に設定します。これにより、新しいエントリのみが取り込まれ、実際の到着時刻に近いタイムスタンプが付与されます。
OpenTelemetry (OTel) の設定構造の詳細については、公式ガイドを参照してください。
カスタム設定でClickStackを起動する
カスタム設定でオールインワンコンテナを起動するには、以下のdockerコマンドを実行します:
すべてのシステムログにアクセスするため、コレクターをrootユーザーとして実行します。これは、Linuxベースのシステムにおいて保護されたパスからログを取得するために必要です。ただし、この方法は本番環境では推奨されません。本番環境では、OpenTelemetry Collectorは、意図するログソースへのアクセスに必要な最小限の権限のみを持つローカルエージェントとしてデプロイする必要があります。
ホストの /var/log をコンテナ内の /host/var/log にマウントすることで、コンテナ自身のログファイルとの競合を回避しています。
スタンドアロンコレクターでClickHouse CloudのHyperDXを使用する場合は、代わりに以下のコマンドを使用してください:
コレクターは即座にローカルシステムのログとメトリクスの収集を開始します。
HyperDX UIへ移動する
ローカルにデプロイする場合は、http://localhost:8080にアクセスしてHyperDX UIを開きます。ClickHouse CloudでHyperDXを使用する場合は、サービスを選択し、左メニューからHyperDXを選択します。
システムメトリクスを確認する
チャートを使用してメトリクスを確認できます。
左側のメニューから Chart Explorer に移動します。ソースとして Metrics を選択し、集計タイプとして Maximum を選択します。
Select a Metricメニューで、system.memory.utilization (Gauge)を選択する前にmemoryと入力します。
実行ボタンを押して、時系列でのメモリ使用率を可視化します。

数値は浮動小数点の%として返されます。より明確に表示するには、数値形式を設定を選択してください。

表示されたメニューで、Output formatドロップダウンからPercentageを選択し、Applyをクリックします。

