# 可観測性と計装 (observability-and-instrumentation)

> 構造化ログ、RED/USE メトリクス、OpenTelemetry トレース、症状ベースのアラートと runbook で本番の挙動を見える化します。

- カテゴリ: [監視・運用](https://www.myskills.tools/ja/categories/monitoring-ops/)
- 提供元: コミュニティ · Addy Osmani
- リポジトリ: https://github.com/addyosmani/agent-skills/tree/main/skills/observability-and-instrumentation (commit fe6f081)
- SKILL.md: https://github.com/addyosmani/agent-skills/blob/main/skills/observability-and-instrumentation/SKILL.md
- インストールコマンド: `npx skills add addyosmani/agent-skills --skill observability-and-instrumentation`
- ライセンス: MIT
- 対応ツール: Claude Code, Codex, Cursor, Copilot, Gemini CLI
- 権限: read-repo ✓, write-files ✓, shell ✓, network ✗
- 状態: スキャン済み
- ルールスキャンですべてのリスクを検出できるわけではありません。インストール前にこのスキルの SKILL.md を読み、権限を確認してください。

## 基本ルール

計装の前にオンコール担当が問う質問を書き出し、すべてのシグナルがそのどれかに答えるようにします。

## 実行フェーズ

1. **正常を定義** — その機能についてオンコールが問う質問を 2〜4 個書き、計装の根拠にします。
2. **ログとメトリクス** — 安定したイベント名と相関 ID 付きの JSON ログを出し、秘密情報や PII は残しません。RED メトリクスは低カーディナリティのラベルとヒストグラムで計測します。
3. **分散トレース** — OpenTelemetry の自動計装を使い、重要な処理単位にだけ手動スパンを加え、非同期の境界ごとにコンテキストを伝播します。
4. **アラートと手順書** — ユーザーが感じる症状にのみアラートを設定し、page と ticket の 2 段階に分け、各アラートを docs/runbooks/ の手順書にリンクします。
5. **テレメトリ検証** — ステージングでエラーを起こし、テスト通信を送り、1 リクエストを追跡し、各アラートを一度発火させて出力を確認します。

## 権限の説明（SKILL.md より）

| 機能 | 必要か | 説明 |
|---|---|---|
| ファイル書き込み | 必要 | コードにログ、メトリクス、トレースの初期化、アラートルールを加え、docs/runbooks/ に手順書を書きます。 |
| コマンド実行 | 必要 | アプリやテストを動かしてコードパスを通し、実際のログやメトリクスの出力を確認します。 |
| 外部通信 | 不要 | 外部 API の呼び出しは求めていません。ステージングやトレース UI での確認は検証項目として記述されています。 |

## SKILL.md のフロントマター（YAML）

```yaml
---
name: observability-and-instrumentation
description: Instruments code so production behavior is visible and diagnosable. Use when adding logging, metrics, tracing, or alerting. Use when shipping any feature that runs in production and you need evidence it works. Use when production issues are reported but you can't tell what happened from the available data.
---
```

ホーム: https://www.myskills.tools/ja/ · URL: https://www.myskills.tools/ja/skills/observability-and-instrumentation/
