Communitygithub.com

ログ記録と監視

構造化ログ、Sentryエラー追跡、Axiom/Datadog統合、ログレベル、アラート機能。

ログ記録と監視 とは?

このスキルは、Node.jsアプリケーション向けの堅牢なログ記録と監視のベストプラクティスを提供します。Pinoライブラリを使用した構造化JSONログ、Sentryによるエラー追跡、AxiomやDatadogとの統合をカバーし、開発者が本番環境でアプリケーションの健全性を効果的に監視できるようにします。リクエストごとに一意のIDを割り当ててログを関連付け、機密データの出力を防止し、エラーレートのスパイクに基づくアラート設定を推奨します。また、レスポンスタイムのパーセンタイル監視やヘルスチェックエンドポイントの実装など、実用的なパターンも含まれています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/logging-monitoring

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ログ記録と監視 は何をしますか?

ルール

  • 構造化ログ: timestamp、level、message、requestId、userId フィールドを含むJSON形式
  • ログレベル: error(重大な障害)、warn(機能低下)、info(ビジネスイベント)、debug(開発時のみ)
  • Node.jsのログ記録にはPinoを使用 — 高速、構造化、デフォルトでJSON形式
  • エラー追跡にはSentry: 早期に初期化し、未処理の例外をキャプチャし、ユーザーコンテキストとブレッドクラムを追加
  • ログをリクエストIDで関連付ける — リクエストごとにUUIDを生成し、すべてのサービスコールに渡す
  • シークレット、パスワード、トークン、完全なクレジットカード番号をログに記録しない — 機密フィールドを編集する
  • 個々のエラーではなく、エラーレートのスパイクに対してアラートを発行する — しきい値を使用(例: 5分間でエラーレートが5%を超えた場合)
  • Axiom/Datadog: OTLPまたはネイティブSDKを介してログを送信し、ビジネスKPIのカスタムメトリクスを追加
  • ヘルスチェックエンドポイント: GET /health が { status: "ok" } とDB接続確認を返す
  • p50、p95、p99のレスポンスタイムを監視 — p95の悪化にアラート

パターン

// Pino構造化ログ
import pino from "pino";
const logger = pino({ level: process.env.LOG_LEVEL || "info" });

logger.info({ userId, action: "checkout", orderId }, "注文完了");
logger.error({ err, requestId }, "支払い処理に失敗");
// Sentry初期化 (Next.js)
import * as Sentry from "@sentry/nextjs";
Sentry.init({ dsn: process.env.SENTRY_DSN, tracesSampleRate: 0.1 });

避けるべきこと

  • 本番環境での console.log — 代わりに構造化ロガーを使用する
  • すべてのリクエスト本文をログに記録する — ペイロードではなく要約を記録する
  • 未処理のPromise拒否を無視する — 常にキャプチャする
  • ノイズの多いアラートによるアラート疲れ — しきい値を調整し、類似のエラーをグループ化する

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

関連スキル