Skip to main content
ClickStack は、テレメトリーデータ (ログ、メトリクス、 トレース、例外) の収集に OpenTelemetry 標準を採用しています。トレースは自動インストルメンテーションによって生成されるため、 トレーシングを活用するうえで手動の インストルメンテーションは必要ありません。

はじめに

HyperDX OpenTelemetry インストルメンテーション パッケージをインストールする

以下のコマンドを使用して、ClickStack OpenTelemetry パッケージをインストールします。

SDK の初期化

SDK を初期化するには、アプリケーションのエントリポイントの先頭で init 関数を呼び出します。
これにより、Node.js アプリケーションのトレース、メトリクス、ログが自動的に収集されます。

ログ収集の設定

デフォルトでは、console.* のログが収集されます。winston や pino などのロガーを使用している場合は、ClickStack にログを送信するためのトランスポートをロガーに追加する必要があります。別の種類のロガーを使用している場合は、お問い合わせいただくか、該当する場合はプラットフォームのインテグレーション (たとえば Kubernetes) を確認してください。
winston をロガーとして使用している場合は、以下のトランスポートをロガーに追加する必要があります。

エラー収集の設定

ClickStack SDK は、アプリケーション内の未捕捉の例外やエラーを、完全なスタックトレースとコードコンテキスト付きで自動的に収集できます。 これを有効にするには、アプリケーションのエラーハンドリングミドルウェアの最後に次のコードを追加するか、recordException 関数を使って例外を手動で記録します。

トラブルシューティング

SDK で問題が発生している場合は、OTEL_LOG_LEVEL 環境変数を debug に 設定すると、詳細なログ出力を有効にできます。

高度なインストルメンテーションの設定

コンソールログの取得

デフォルトでは、ClickStack SDK はコンソールログを取得します。これを無効にするには、 環境変数 HDX_NODE_CONSOLE_CAPTURE を 0 に設定します。
copy

ユーザー情報またはメタデータを付加する

特定の属性や識別子 (例: user id または email) に関連するすべてのイベントへ簡単にタグ付けするには、setTraceAttributes 関数を呼び出します。これにより、呼び出し以降、現在の trace に関連付けられたすべての ログ/スパンに、指定した 属性が付与されます。この関数は、対象の request/trace 内のできるだけ早い段階 (例: Express のミドルウェアスタックのできるだけ早い段階) で呼び出すことを推奨します。 これは、後で検索できるように、すべての ログ/スパンに 適切な識別子を自動的にタグ付けするための便利な方法です。識別子を自分で手動で タグ付けして伝播させる必要はありません。 userId、userEmail、userName、および teamName を指定すると、対応する値が セッション UI に表示されますが、これらは省略可能です。そのほかの追加の値も 指定して、イベントの検索に使用できます。
HDX_NODE_BETA_MODE 環境 変数を 1 に設定するか、init 関数に betaMode: true を渡してベータモードを有効にし、 トレース属性を有効にしてください。

Google Cloud Run

Google Cloud Run でアプリケーションを実行している場合、Cloud Trace は 受信リクエストにサンプリング用ヘッダーを自動的に挿入します。現在は、 各インスタンスでトレースのサンプリングが毎秒 0.1 リクエストに制限されています。 @hyperdx/node-opentelemetry パッケージは、デフォルトで サンプルレートを 1.0 に上書きします。 この動作を変更したい場合や、他の OpenTelemetry インストールで同様に設定したい場合は、 環境変数 OTEL_TRACES_SAMPLER=parentbased_always_on と OTEL_TRACES_SAMPLER_ARG=1 を 手動で設定することで、同じ結果を得られます。 詳細、および特定のリクエストでトレースを強制的に有効にする方法については、 Google Cloud Run documentation を参照してください。

自動インストルメントされるライブラリ

以下のライブラリは、SDK によって自動的にインストルメントされ、トレースが収集されます。

代替のインストール方法

ClickStack OpenTelemetry CLI でアプリケーションを実行する

また、opentelemetry-instrument CLI や Node.js の --require フラグを使えば、コードを変更することなくアプリケーションを自動インストルメントできます。CLI をインストールすると、自動インストルメンテーションに対応するライブラリやフレームワークの対象がより広がります。
Managed ClickStackManaged ClickStack では HYPERDX_API_KEY は省略できます。
OTEL_SERVICE_NAME 環境変数は、HyperDX アプリでサービスを識別するために使用されます。値には任意の名前を指定できます。

例外のキャプチャを有効にする

未処理の例外のキャプチャを有効にするには、HDX_NODE_EXPERIMENTAL_EXCEPTION_CAPTURE 環境変数を 1 に設定する必要があります。
その後、Express や Koa の例外を自動的に収集する場合、または例外を手動でキャッチする場合は、上記のエラー収集の設定セクションの手順に従ってください。

自動インストルメントされるライブラリ

以下のライブラリは、上記のインストール方法を使用すると自動的にインストルメントされ (トレースされ) ます。
最終更新日 2026年9月26日