コンテンツにスキップ

/metrics

/metrics スキルはAIによるメトリクスフェッチャーです。見たいものを説明すると、エージェントが適切なターゲットを解決し、適切な時間ウィンドウを選択して、コンパクトなサマリーを返します。読み取り専用であり、クラスターの状態を変更しません。

/metrics スキルが呼び出されると、エージェントはライブデータには metrics-server を、履歴にはPrometheusをクエリするよう指示されます。必要なツールが利用できない場合、エージェントはインストールを提案します。また、出力を抑えてモデルでの取り回しが効率的になるようにデータ表示のガイドラインも与えられます。

/metrics # prompts for a target
/metrics api # current usage for the api workload
/metrics memory on checkout last 1h # natural-language scoping
/metrics top pods by cpu in payments

自然言語スコープ(Namespace、ラベルセレクター、ワークロード名、時間ウィンドウ、メトリクス名)がサポートされています(概要を参照)。エージェントはあなたの説明を利用可能なソースに対する適切なクエリに変換します。


クエリに基づく優先順位でのソース:

  • metrics-serverkubectl top 経由のライブスナップショットに使用。Prometheusが利用できない場合、スキルはすべてのクエリでこれにフォールバックし、回答がウィンドウではなく特定時点のサンプルであることを出力にフラグします。
  • Prometheus — エージェントがクラスター内Prometheusを検出し、質問に時間ウィンドウがある場合に使用。クラスター内サービス経由のPromQLでクエリされます。

スキルはexporterを直接スクレイプせず、クラスター外部からメトリクスエンドポイント(DataDog、Grafana Cloudなど)を読み取りません。


スキルはエージェントにデータ取得先を指示するだけでなく、動作についても指示します。

  • 質問に時間ウィンドウがある場合は常に metrics-server よりPrometheusを優先します。ライブスナップショットの場合は metrics-server にフォールバックしますが、読者がウィンドウについて誤解しないよう出力に source: metrics-server とラベルします。
  • 全系列をモデルに通すのではなく、サマリー統計(p50、p95、最大)をレポートします。
  • 解決されたクエリがユーザーが意図したよりも多くのPodまたは広いウィンドウをカバーする場合、実行前に解決されたクエリを表示して確認します。
  • テナントID、ユーザーID、またはパスセグメントを埋め込むラベルセットを機密性が高いものとして指摘します。ユーザーが明示的に要求しない限り、これらのラベルをチャットにエコーバックしません。
  • このスキルを汎用可観測性ツールに拡張するのではなく、下記の引き継ぎセクションに従ってルーティングします。

/metrics は読み取り専用です。説明したターゲットに対して kubectl top とPrometheusレンジクエリを発行するのみ — execなし、書き込みなし、Podの内容やログへのアクセスなし。説明が意図したよりも多くのPodや広いウィンドウに解決される場合、エージェントは実行前に解決されたクエリを表示して確認します。

メトリクス値自体に機密データが含まれることはほとんどありませんが、ラベルセットには含まれる可能性があります。テナントID、ユーザーID、またはパスセグメントを埋め込むカスタムメトリクス名やラベルは、ログ行と同じようにエージェントのコンテキストに入ります。広範なワイルドカードではなく、関心のあるワークロードにクエリのスコープを絞ってください。完全な信頼モデルについてはセキュリティを参照してください。


リソース使用量以外については、エージェントは /metrics を拡張するのではなく隣接スキルにルーティングします。

  • /logs — PodのCPUまたはメモリが変動した理由を確認したい場合
  • /investigate — 使用量が障害リソースの症状であり、根本原因コンテキストが必要な場合
  • /audit-cost — 単発チェックではなく完全な適切サイジングスイープを実行する場合

/metrics にはスキル固有のフラグはありません。ターゲット、メトリクス、時間ウィンドウのスコープはプロンプトまたはフォローアップで自然言語を使用して指定してください。

概要のグローバルフラグが適用されます。