mcpField
S
sentry-monitoring

sentry-monitoring

github.com/oimiragieoクラウド・DevOps4459 回インストール17 週間前に更新
リポジトリ

sentry-monitoring について

sentry-monitoringは、エージェントのコンテキストからSentryを操作するプロンプト駆動型スキルです。運用、インシデント対応、開発でエラーや性能、リリース、プロジェクト設定を扱い、状態変更には確認を求めます。

主な機能

  1. 01エラーの一覧表示と詳細確認
  2. 02解決・無視の前に確認
  3. 03トランザクション性能と遅いクエリの確認
  4. 04リリースと関連コミットの管理
  5. 05プロジェクト設定とアラートの確認

活用シーン

  1. 01未解決の本番エラーのトリアージ
  2. 02遅いエンドポイントやデータベースクエリの特定
  3. 03リリースの作成と状態の追跡

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oimiragieo/agent-studio --skill sentry-monitoring

インストール後、Claude Code で/sentry-monitoringを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

commands/
sentry-monitoring.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
sentry-monitoring.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

詳細

モード:認知/プロンプト駆動型 — 単独で実行できるユーティリティスクリプトはありません。エージェントのコンテキストを介して使用します。

Sentry 監視スキル

概要

Sentry API を直接呼び出す場合と比べて、コンテキストを 90%以上節約できます。機能カテゴリごとの段階的な開示に対応しています。エラートラッキング、パフォーマンス監視、リリース管理、プロジェクト設定が含まれます。

要件

  • プロジェクトが設定された Sentry アカウント
  • SENTRY_AUTH_TOKEN 環境変数(任意。認証が必要な API 呼び出しに使用)
  • SENTRY_ORG 環境変数(任意。デフォルトは最初の組織)
  • SENTRY_PROJECT 環境変数(任意。デフォルトは最初のプロジェクト)

ツール(段階的な開示)

エラートラッキング
ツール説明確認
list-issues最近の問題/エラーを一覧表示します不要
issue-details問題の詳細情報を取得します不要
resolve-issue問題を解決済みとしてマークします必要
ignore-issue問題を無視/一時停止します必要
パフォーマンス監視
ツール説明確認
list-transactionsパフォーマンスのトランザクションを一覧表示します不要
transaction-summaryトランザクションのパフォーマンス統計を取得します不要
slow-queries遅いデータベースクエリを特定します不要
リリース管理
ツール説明確認
list-releasesリリースを一覧表示します不要
create-release新しいリリースを作成します必要
set-commitsコミットをリリースに関連付けます必要
プロジェクト設定
ツール説明確認
list-projectsSentry プロジェクトを一覧表示します不要
project-settingsプロジェクト設定を表示します不要
list-alertsアラートルールを一覧表示します不要

クイックリファレンス

# List recent issues
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
  "https://sentry.io/api/0/projects/$SENTRY_ORG/$SENTRY_PROJECT/issues/?query=is:unresolved"

# Get issue details
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
  "https://sentry.io/api/0/issues/{issue_id}/"

# Resolve issue
curl -X PUT -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
  "https://sentry.io/api/0/issues/{issue_id}/" \
  -d '{"status": "resolved"}'

# List transactions
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
  "https://sentry.io/api/0/organizations/$SENTRY_ORG/events/?field=transaction"

# Create release
curl -X POST -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
  "https://sentry.io/api/0/organizations/$SENTRY_ORG/releases/" \
  -d '{"version": "1.0.0", "projects": ["project-slug"]}'

# List projects
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" \
  "https://sentry.io/api/0/organizations/$SENTRY_ORG/projects/"

設定

環境変数
変数必須説明
SENTRY_AUTH_TOKEN任意API 呼び出し用の Sentry 認証トークン
SENTRY_ORG任意組織のスラッグ(デフォルトは最初の組織)
SENTRY_PROJECT任意プロジェクトのスラッグ(デフォルトは最初のプロジェクト)
SENTRY_DSNいいえSDK 連携用(このスキルでは使用しません)
認証トークンの取得
  1. Sentry の Settings → Account → API → Auth Tokens に移動します
  2. 次のスコープを指定して新しいトークンを作成します:project:read、project:write、event:read
  3. 環境変数として設定します:export SENTRY_AUTH_TOKEN=your_token_here

セキュリティ

⚠️ 出力に認証トークンを絶対に含めないでください ⚠️ 破壊的な操作(resolve-issue、ignore-issue、create-release、set-commits)には確認が必要です ⚠️ 認証情報には環境変数を使用し、ハードコードは絶対にしないでください

エージェントとの連携

  • devops(主要):本番環境の監視、インシデント対応
  • incident-responder(主要):エラーのトリアージ、問題の解決
  • developer(副次):デバッグ、パフォーマンスの最適化
  • qa(副次):テスト環境の監視

エラー処理

ツールの実行に失敗した場合:

  1. SENTRY_AUTH_TOKEN が設定されていることを確認します:echo $SENTRY_AUTH_TOKEN
  2. トークンの権限に必要なスコープが含まれていることを確認します
  3. 組織とプロジェクトのスラッグが正しいことを確認します
  4. Sentry API のレート制限を確認します(デフォルト:3000 リクエスト/分)

一般的なワークフロー

インシデント対応
  1. list-issues - 最近の未解決エラーを取得します
  2. issue-details - 特定の問題を調査します
  3. resolve-issue - 修正をデプロイした後、解決済みとしてマークします
パフォーマンスの最適化
  1. list-transactions - レスポンスが遅いエンドポイントを特定します
  2. transaction-summary - パフォーマンスのパターンを分析します
  3. slow-queries - データベースのボトルネックを見つけます
リリース管理
  1. create-release - 新しいリリースバージョンを作成します
  2. set-commits - コミットをリリースに関連付けます
  3. list-releases - リリースの健全性を追跡します

トラブルシューティング

問題解決策
401 UnauthorizedSENTRY_AUTH_TOKEN が有効で、期限切れでないことを確認してください
403 Forbiddenトークンに必要なスコープ(project:read、project:write、event:read)があることを確認してください
404 Not FoundSENTRY_ORG と SENTRY_PROJECT が正しいスラッグであることを確認してください
Rate limit exceeded1 分待ち、リクエスト頻度を下げてください

関連情報

メモリプロトコル(必須)

開始前: .claude/context/memory/learnings.md を読みます

完了後:

  • 新しいパターン -> .claude/context/memory/learnings.md
  • 見つかった問題 -> .claude/context/memory/issues.md
  • 決定事項 -> .claude/context/memory/decisions.md

作業の中断を想定してください。メモリに記録されていないことは、実行されていないものとして扱います。

OpenTelemetry + Grafana スタック

OTel で自動計装し、Sentry と Grafana に同時にエクスポートします:

import { NodeSDK } from '@opentelemetry/sdk-node';
import { SentrySpanProcessor } from '@sentry/opentelemetry';
const sdk = new NodeSDK({ spanProcessor: new SentrySpanProcessor() });
sdk.start();
継続的プロファイリング(Pyroscope)
# pyroscope.configure({ applicationName: 'api', serverAddress: 'http://pyroscope:4040' })
Grafana + Prometheus
services:
  prometheus: { image: prom/prometheus }
  grafana: { image: grafana/grafana }
  otel-collector: { image: otel/opentelemetry-collector-contrib }

コメント