mcpField
O
oodle-metrics-query

oodle-metrics-query

github.com/oodle-aiクラウド・DevOps0125 回インストール3 週間前に更新
リポジトリ

oodle-metrics-query について

oodle-metrics-queryは、インスタントクエリとレンジクエリでPromQLを使い、Oodleのメトリクスを調べるスキルです。式を作る前に、利用可能なメトリクス名とラベルを確認する手順を案内します。

主な機能

  1. 01インスタントPromQLクエリの実行
  2. 02時間範囲指定のPromQLクエリ実行
  3. 03指定時刻でのクエリ
  4. 04メトリクス名とラベルの確認
  5. 05レンジクエリの部分レスポンス対応

活用シーン

  1. 01メトリクスの現在値の確認
  2. 02一定期間にわたるメトリクス変化の追跡
  3. 03クエリ作成前の利用可能な系列の確認

インストール

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

$npx skills add https://github.com/oodle-ai/agent-skills --skill oodle-metrics-query

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

詳細

Oodle Metrics クエリ — PromQL のインスタントクエリと範囲クエリ

このスキルでは、Prometheus 互換のクエリ API を使用して、Oodle メトリクスに対する PromQL のインスタントクエリと範囲クエリを実行する方法を説明します。

前提条件

brew install oodle-ai/oodle/oodle
oodle configure

クエリエンドポイントが動作することを確認します。

oodle metrics query --query "up" -o json | jq '.status'

コマンドの実行順序

クエリコマンドを実行する前に、次の手順を行います。

  1. 必要なメトリクス名がすでに分かっているか確認します。
  2. 分からない場合は、oodle metrics names --start -1h --end now を実行してメトリクス名を調べます。
  3. oodle metrics labels <name> --start -1h --end now を実行して、利用可能なラベルを調べます。
  4. 確認済みのメトリクス名とラベルのみを使って、PromQL 式を作成します。
  5. 推測でクエリを実行しないでください。必ずメトリクスとラベルの存在を先に確認します。

クイックリファレンス

タスクコマンド
PromQL のインスタントクエリoodle metrics query --query "sum(up)" -o json
特定の時刻でのインスタントクエリoodle metrics query --query "up" --time 1700000000 -o json
PromQL の範囲クエリoodle metrics query-range --query "rate(http_requests_total[5m])" --start -1h --end now --step 60s -o json
部分レスポンスを使用した範囲クエリoodle metrics query-range --query "up" --start -1h --end now --step 60s --partial-response -o json

一般的な操作

インスタントクエリ

PromQL 式をある時点で評価します。デフォルトでは現在の値を返しますが、特定のタイムスタンプでの値も返せます。

# CORRECT — instant query with JSON output for scripting
oodle metrics query --query "sum(up)" -o json

# CORRECT — instant query at a specific time
oodle metrics query --query "up{job=\"prometheus\"}" --time 1700000000 -o json

# CORRECT — use relative time
oodle metrics query --query "up" --time -5m -o json

# WRONG — omitting --query flag
oodle metrics query -o json
範囲クエリ

PromQL 式を時間範囲にわたって評価します。必須なのは --query のみです。--start、--end、--step のデフォルト値はそれぞれ -1h、now、60s です。時間フラグには、now、相対値(-1h、-7d)、RFC 3339、またはエポックタイムスタンプを指定できます。

# CORRECT — range query over the last hour with 60-second resolution
oodle metrics query-range --query "rate(http_requests_total[5m])" --start -1h --end now --step 60s -o json

# CORRECT — range query with absolute timestamps
oodle metrics query-range --query "up" --start 1700000000 --end 1700003600 --step 60s -o json

# CORRECT — enable partial response for degraded-mode queries
oodle metrics query-range --query "up" --start -1h --end now --step 60s --partial-response -o json

ベストプラクティス

クエリの前に oodle metrics で調べる

PromQL クエリを作成する前に、メトリクス名とラベルが存在することを必ず確認してください。存在しないメトリクスをクエリすると、エラーではなく空の結果が返されます。

# CORRECT — discover first, then query
oodle metrics names --start -1h --end now -o json | jq '.[] | select(startswith("http"))'
oodle metrics labels http_requests_total --start -1h --end now
oodle metrics query --query "sum(rate(http_requests_total[5m]))" -o json

# WRONG — guessing metric names
oodle metrics query --query "sum(rate(requests_total[5m]))" -o json
範囲クエリに適切なステップを選ぶ

ステップによって、返される時系列データの解像度が決まります。ステップが小さすぎるとデータが過剰に返され、大きすぎると詳細を見落とします。

# CORRECT — 60s step for a 1-hour window (60 data points)
oodle metrics query-range --query "up" --start -1h --end now --step 60s -o json

# CORRECT — 5m step for a 24-hour window (288 data points)
oodle metrics query-range --query "up" --start -1d --end now --step 5m -o json

# WRONG — 1s step for a 24-hour window (86400 data points — too many)
oodle metrics query-range --query "up" --start -1d --end now --step 1s -o json

エラーへの対処

エラー原因対処方法
401 UnauthorizedAPI キーが無効、または設定されていませんoodle configure を実行するか、OODLE_API_KEY を設定します
400 Bad RequestPromQL 式が無効ですhttps://prometheus.io/docs/prometheus/latest/querying/basics/ で構文を確認します
空の結果(エラーではありません)メトリクスが存在しないか、時間範囲内にデータがありません。インスタントクエリは --time より前の直近 5 分間のみを読み取りますoodle metrics names を実行してメトリクスの存在を確認します。時間範囲を広げるか、データがまばらなメトリクスには query-range --start -7d を使用します
connection refusedOODLE_DEPLOYMENT の URL が間違っていますOODLE_DEPLOYMENT 環境変数を確認し、末尾にスラッシュがないことを確認します
429 Too Many Requestsレート制限に達しました--retries 3 を追加し、間隔を空けて、クエリ頻度を下げます
required flag(s) "query" not set必須フラグが指定されていませんPromQL 式を指定した --query フラグを追加します

参考資料

コメント