Skip to content

ロギングと可観測性をClaudeと設計する

運用中のシステムで「何が起きているか分からない」という状況は、エンジニアにとって最もストレスフルな場面のひとつです。構造化ログ・トレーシング・メトリクスを適切に設計すれば、その不安を大幅に減らせます。Claude Codeはこの設計フェーズから強力なパートナーになります。

Claudeに可観測性の設計を相談する

Section titled “Claudeに可観測性の設計を相談する”

まずはプロジェクトの構成をClaudeに伝えて、どこに何を計装すべきかを相談しましょう。Claude Codeのターミナルでこのように入力します。

このNode.js + Expressアプリに可観測性を導入したいです。
OpenTelemetryを使って、HTTPリクエストのトレーシングと
構造化ログを設定する方法を提案してください。
現在の構成: src/app.ts, src/routes/, src/services/

Claudeはプロジェクト構造を把握したうえで、計装ポイントの優先順位や具体的な実装方針を提示してくれます。「どこから手をつければいいか分からない」という段階から一緒に考えられるのが大きなメリットです。

構造化ログのコードをClaudeに生成させる

Section titled “構造化ログのコードをClaudeに生成させる”

設計方針が固まったら、実際のコードを生成させましょう。次のように依頼すると、すぐに使えるコードが出力されます。

pinoを使った構造化ログのラッパーモジュールを作成してください。
以下の要件を満たしてください:
- trace_id, span_idを自動付与する
- 環境(development/production)でログレベルを切り替える
- エラーオブジェクトをJSON化する

Claudeが生成するコードはこのような形になります。

import pino from "pino";
import { trace } from "@opentelemetry/api";
const logger = pino({
level: process.env.NODE_ENV === "production" ? "info" : "debug",
formatters: {
log(object) {
const span = trace.getActiveSpan();
const spanContext = span?.spanContext();
return {
...object,
trace_id: spanContext?.traceId ?? "",
span_id: spanContext?.spanId ?? "",
};
},
},
});
export default logger;

生成後に「このコードにメトリクス収集も追加して」と追加指示を出せば、反復的に改善できます。

アラートルールの設計もClaudeと行う

Section titled “アラートルールの設計もClaudeと行う”

ログ・トレース・メトリクスを導入したら、次はアラートの設計です。Claudeに既存のメトリクス定義を貼り付けて相談できます。

以下のPrometheusメトリクスをもとに、
SLOベースのアラートルールをYAML形式で作成してください。
エラーレート5%超・p99レイテンシ2秒超を閾値とします。

Claude Codeを活用すれば、可観測性の設計から実装・運用設定まで一気通貫で進められます。まず小さな範囲から試してみましょう。