com um clique
rubytee-monitor
Rubytee の CloudWatch ログを取得し、不適切な利用パターンやコスト異常を検出する。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Rubytee の CloudWatch ログを取得し、不適切な利用パターンやコスト異常を検出する。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
autopilot の総合サポート。初期設定(必要情報のインタビュー → 起動スクリプト tmp/autopilot_up.sh の生成 → 起動コマンド提示)、Issue の enroll ショートカット(本文や末尾に「enroll autopilot」)、トラブル診断(check-autopilot へ委譲)、運用中の操作支援。「init autopilot」「autopilot開始」「go autopilot」「play autopilot」「enroll autopilot」など、autopilot と一緒にやろうと汲み取れるひとことで起動する。
autopilot daemon の状態確認と異常(Blocked / 認証失効 / stuck)の診断・復旧支援。「check autopilot」「check autopilot
/upstream:merge - Interactive Upstream Merge Workflow. upstream scratch-editor の変更を Smalruby に取り込む半自動ワークフロー。
smalruby3-editor の devcontainer 設定 (.devcontainer/devcontainer.json) を対話的に作成する。テンプレート (.example) を基に、利用者の環境に合わせて mounts セクションを ON/OFF する。devpod / VS Code Dev Containers で開発したい人が初回に使う。
プログラム不具合報告 (smalruby-bug-report) を DynamoDB から取得し、添付作品を S3 からダウンロードして GitHub Issue 化し、対応後に状態・返信を報告者へ書き戻す。管理者の追加/削除も行う。
Google Form のフィードバック(Google Spreadsheet からコピー)を GitHub Discussions の Feedback カテゴリに転記する。
| name | rubytee-monitor |
| description | Rubytee の CloudWatch ログを取得し、不適切な利用パターンやコスト異常を検出する。 |
| argument-hint | [期間: 1h, 6h, 24h, 7d など(デフォルト: 24h)] [ステージ: prod, stg(デフォルト: prod)] |
Rubytee relay の CloudWatch ログを取得・分析し、不適切な利用パターン、コスト異常、システムエラーを検出する。
$ARGUMENTS から以下を解析する(すべてオプション):
1h, 6h, 24h, 7d など(デフォルト: 24h)prod, stg, stg2(デフォルト: prod)例:
/rubytee-monitor → prod の直近 24 時間/rubytee-monitor 6h stg → stg の直近 6 時間/rubytee-monitor 7d → prod の直近 7 日間CloudWatch Logs Insights を使用してログを取得する。docker compose run の infra サービスで AWS CLI を実行する。
ログ取得用の AWS CLI コマンド:
# 全 rubytee_response イベント
docker compose run --rm -w /app/infra/smalruby-rubytee-relay infra \
aws logs filter-log-events \
--log-group-name "/aws/lambda/RubyteeRelayHandler<suffix>" \
--start-time <epoch_ms> \
--filter-pattern '"rubytee_response"' \
--query 'events[].message' \
--output text
# レートリミット(ブロック)イベント
docker compose run --rm -w /app/infra/smalruby-rubytee-relay infra \
aws logs filter-log-events \
--log-group-name "/aws/lambda/RubyteeRelayHandler<suffix>" \
--start-time <epoch_ms> \
--filter-pattern '"[RateLimit] Blocked"' \
--query 'events[].message' \
--output text
# Claude API エラー
docker compose run --rm -w /app/infra/smalruby-rubytee-relay infra \
aws logs filter-log-events \
--log-group-name "/aws/lambda/RubyteeRelayHandler<suffix>" \
--start-time <epoch_ms> \
--filter-pattern '"[Claude] API error"' \
--query 'events[].message' \
--output text
ロググループ名のサフィックス:
| ステージ | サフィックス |
|---|---|
| prod | (なし) → /aws/lambda/RubyteeRelayHandler |
| stg | -stg → /aws/lambda/RubyteeRelayHandler-stg |
| stg2 | -stg2 → /aws/lambda/RubyteeRelayHandler-stg2 |
epoch_ms の計算:
# macOS
date -v-24H +%s000 # 24時間前
date -v-7d +%s000 # 7日前
date -v-1H +%s000 # 1時間前
取得したログを以下の観点で分析する。
## 利用統計(<期間>、<ステージ>)
- 総リクエスト数: N
- ユニーク IP 数: N(stg のみ、prod は sourceIp なし)
- レートリミット発動回数: N
- Claude API エラー数: N
- 平均出力トークン: N
- 平均入力トークン: N
## キャッシュ効率
- キャッシュヒット率: N%(cacheReadTokens > 0 のリクエスト / 総リクエスト)
- キャッシュ作成回数: N(cacheCreationTokens > 0)
- キャッシュヒット回数: N(cacheReadTokens > 0)
- キャッシュミス回数: N(両方 0)
⚠️ キャッシュミスが多い場合: システムプロンプトのトークン数が 4,096 を下回っている可能性
Claude Haiku 4.5 の料金で概算する:
| 項目 | 単価(1M トークン) |
|---|---|
| Input tokens | $1.00 |
| Output tokens | $5.00 |
| Cache write | $1.25 |
| Cache read | $0.10 |
## コスト推定
- Input: $X.XX(N tokens × $1.00/1M)
- Output: $X.XX(N tokens × $5.00/1M)
- Cache write: $X.XX(N tokens × $1.25/1M)
- Cache read: $X.XX(N tokens × $0.10/1M)
- **合計: $X.XX**
- 1リクエストあたり平均: $X.XXXX
以下のパターンを検出し、フラグを立てる:
userMessageLength が 200 を超えるリクエストoutputTokens が 1000 を超えるリクエスト分析結果をまとめてユーザーに報告する。
# Rubytee モニタリングレポート
**期間**: YYYY-MM-DD HH:MM 〜 YYYY-MM-DD HH:MM(JST)
**ステージ**: prod / stg
## 利用統計
(Phase 2a の内容)
## キャッシュ効率
(Phase 2b の内容)
## コスト推定
(Phase 2c の内容)
## 検出されたアラート
(Phase 2d で検出されたもの、なければ「アラートなし」)
## 推奨アクション
(検出内容に基づく対応案)
レポートを /tmp/rubytee-monitor-report-YYYY-MM-DD.md に書き出し、Secret Gist として作成する:
gh gist create /tmp/rubytee-monitor-report-YYYY-MM-DD.md \
-d "Rubytee monitoring report - <stage> - YYYY-MM-DD"
rm /tmp/rubytee-monitor-report-YYYY-MM-DD.md
reference_rubytee_monitoring.md メモリの「レポート一覧」テーブルに新しい行を追加し、「前回チェック」セクションを更新する。
これにより次回 /rubytee-monitor 実行時に前回チェック日とレポート URL を参照できる。
Claude メモリ reference_rubytee_monitoring から前回チェック情報を読み取り、前回からの変化をハイライトする:
AWS_PROFILE や AWS_ACCESS_KEY_ID が設定されているか確認を促す