mcpField
Q
qwencloud-observe

qwencloud-observe

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

qwencloud-observe について

qwencloud-observeは、qwencloud-deployでデプロイしたアプリ向けの読み取り専用クラウド監視スキルです。アプリ、ECS、任意のRDS、ネットワーク、コストを個別に確認し、根拠やリスク、ヘルススコアを報告します。

主な機能

  1. 01アプリ、ECS、RDS、ネットワークの確認
  2. 02稼働状況とパフォーマンス指標の集約
  3. 03実際の請求額とコスト情報の表示
  4. 04ヘルススコアと評価の算出
  5. 05失敗したクエリを理由付きで不明と表示
  6. 06MarkdownまたはHTMLレポートの生成

活用シーン

  1. 01デプロイ済みアプリの到達性と稼働状況の確認
  2. 02ECSとRDSの最近の性能の確認
  3. 03アプリの実際の請求額の把握
  4. 04リスクの整理と監視レポートの出力

インストール

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

$npx skills add https://github.com/qwencloud/qwencloud-deploy --skill qwencloud-observe

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

同梱ファイル

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

references/
api_gotchas.md
cli_installation_guide.md
observe_application.md
observe_cost.md
observe_ecs.md
observe_network.md
observe_rds.md
observe_resilience.md
ram_policies.md
workflow.md
scripts/
render_report.py

詳細

Qwen Cloud Observe

qwencloud-deploy でデプロイされたアプリケーションを読み取り専用で監視します。コンソールを使わずに、「アプリの状態はどうか、費用はいくらか」に回答します。料金はすべて米ドルです。

クイックパス

  1. アプリを特定する — プロジェクトディレクトリにある .qwencloud-deploy を読み取ります(references/workflow.md)。
  2. 対象期間を選ぶ — デフォルトは直近 1 時間です。ユーザーは 15 分/1 時間/24 時間を選択できます。
  3. 各レイヤーを確認する — Application、ECS、(任意の)RDS、Cost を確認します。各チェックは共通の結果状態のいずれかを返し、失敗したチェックによってほかのチェックが妨げられることはありません。
  4. 報告する — まず結論を一行で示し、続けてレイヤーごとの概要、リスク、データのタイムスタンプ、不明点を報告します。

対象範囲

対象範囲内対象範囲外
qwencloud-deploy でデプロイされたアプリ(状態ファイルが存在するもの).qwencloud-deploy 状態ファイルのないアプリ
単一の ECS、または ECS + RDS MySQL 8.0その他のトポロジー/セルフマネージドサーバー
可用性、パフォーマンス、コストの読み取り専用概要クラウドリソースへの変更 → qwencloud-operate を使用
実行時の状態(可用性、パフォーマンス、コスト)の報告ソースコードのレビュー、バグ/脆弱性の発見、誤りのある行の判定、コードの編集
Alibaba Cloud International、米ドルAliyun China → qianwenai-observe を使用

コードの問題は対象範囲外です

このスキルは読み取り専用の監視を行い、実行時の可用性、パフォーマンス、コストを報告します。ソースコードのレビュー、欠陥の特定、コードの編集は行いません。

コードが関係する場合は、このスキルの対象範囲外であるため、コードの編集はユーザー自身が判断して実施する必要があり、その結果に対する責任もユーザー自身にあることを、ユーザーにはっきり伝えてください。

前提条件

Aliyun CLI:aliyun version を実行します(3.x が必要です)。すべてのクエリは、プラグインに依存せず、PascalCase のネイティブ形式で OpenAPI に直接送信します。認証情報は aliyun configure list でのみ確認してください。 AK/SK/トークンを読み取ったり、エコー、出力したり、尋ねたりしてはいけません。 有効なプロファイルが存在しない場合は停止し、このセッションの外で認証情報を設定するようユーザーに依頼してください。references/cli_installation_guide.md を参照してください。

状態とスコアリング

各レイヤーは、チェック時刻、対象リソース、主な根拠、データソースを含む単一の状態(healthy · degraded · unavailable · unknown)を返します。単一のクエリが失敗しても、ほかのレイヤーのチェックを続け、失敗した項目を unknown として記録してください。黙って省略したり、データを捏造したりしてはいけません。

各レイヤーにはスコアも付与され、レイヤーのスコアを合計すると、A/B/C/D の評価(>=90 は A · >=75 は B · >=60 は C · <60 は D)を伴う 0~100 のヘルススコアになります。評価するディメンションは 4 つです。

ディメンション重み(RDS あり)重み(RDS なし)指標
Application3545到達可能性、/healthz、応答時間、エラー率、証明書の有効性(ドメインがある場合)
ECS3045CPU、メモリ、ディスク使用量、ディスク IO、ネットワーク
RDS25—接続数、低速 SQL、容量、行ロック待ち
Availability1010ECS/RDS の実行状態、最近のシステムイベント、EIP の状態と帯域幅、セキュリティグループの公開状況

アプリに RDS がない場合、その重みは Application と ECS に移ります。Cost はスコアに含めません。実際の請求額と、利用状況に基づく最適化の提案を別途表示します。

バックアップ/スナップショットの不足やセキュリティグループの強化は、リスクと推奨事項として提示し、スコアには含めません。EIP の未バインド、帯域幅の飽和、80/443 のインバウンドルールの不足など、可用性に影響する指標は Availability の評価に含めます。

確認方法

まずアプリを特定し、その後、各レイヤーを確認します。コマンドを実行する前に、リンク先のガイドを読んでください。確認に失敗しても、ほかの確認は止めず、失敗した項目は unknown として次に進みます。

各レイヤーの確認は独立しており、読み取り専用です。アプリを特定したら、各レイヤーの読み取り専用 API を順番に待つのではなく、並列で実行します(バックグラウンドで & を使い、wait で待機)。同じ ECS 上の Cloud Assistant コマンドは、1 回のラウンドトリップで取得する単一のスクリプトにまとめます。

  1. アプリを特定する — .qwencloud-deploy を読み、リージョンとリソース ID を確認します。 ワークフローを参照してください。
  2. アプリに接続できますか? — パブリックアドレスと /healthz をプローブし、アプリと Nginx のサービスおよびポートを確認して、最近のエラーを要約します。アプリケーションの監視を参照してください。
  3. サーバーの状態はどうですか? — ECS のステータスと、対象期間の CPU、ネットワーク、ディスク、メモリを確認します。ECS の監視を参照してください。
  4. データベースの状態はどうですか?(アプリに RDS がある場合のみ)— ステータス、接続数、QPS/TPS、容量、行ロック待機、秘匿化した遅い SQL を確認します。RDS の監視を参照してください。
  5. パブリックな入口と公開範囲はどうなっていますか? — EIP のステータスと帯域幅、セキュリティグループの 80/443 ポート、公開に関するリスクを確認します。ネットワークの監視を参照してください。
  6. メンテナンスやバックアップはありますか? — ECS のシステムイベント、システムディスクのスナップショット、RDS のバックアップを確認します。復旧性の監視を参照してください。
  7. 費用はいくらですか? — アプリの実際の請求額と、必要に応じて月末の予測を確認します。費用の監視を参照してください。
  8. スコアを付けて全体をまとめる — 各レイヤーを採点し、合計してヘルススコアとグレードを算出し、平易な言葉で結論を 1 つ書きます。ワークフローを参照してください。

デフォルトの対象期間は直近 1 時間です。15 分、1 時間、24 時間が明示的に指定された場合はそれに従い、使用した対象期間を明記してください。

ユーザーへの報告内容

最初にヘルススコアとグレード、および一行の判定を伝え、その後、アプリケーション、サーバー、データベース(該当する場合)、費用について、それぞれ根拠を添えて簡潔に説明します。リスクと、特定できなかった項目およびその理由を明記し、データのタイムスタンプも記載してください。プロジェクトディレクトリに operate_audit.jsonl がある場合は、直近の操作アクション(時刻、アクション、結果)を含め、最新の復旧状況とスコアが一致するようにします。実際の障害が見つかった場合は、qwencloud-operate を使った障害診断に進むかユーザーに提案します。AskUserQuestion を使って 今すぐ診断して修正 / 確認のみ、変更なし を提示し、前者を選んだ場合は qwencloud-operate に進みます。また、すでに収集した根拠情報(障害レイヤー、主要な指標、データのタイムスタンプ。パスワードや署名付き URL は含めない)をプロジェクトディレクトリの observe_handoff.json に書き込みます。これにより、operate はこの情報を出発点として読み取り専用の確認を繰り返さずに済みます。

Health score: 87 / 100 (B, Good) — app healthy; watch the RDS connection trend.

Application: reachable, current response time 186 ms; app and Nginx services healthy.
Certificate: valid, 54 days remaining (app.example.com).
ECS: healthy, last 1h average CPU 31%, no sustained high load.
RDS: healthy, active connections rose from 12 to 38 — watch the connection-pool trend.
Cost: actual bill for 2026-08 so far $12.40 (ECS $7.80, RDS $4.60).

Data as of: 2026-08-03 16:20 UTC+8

要約の後、レポートファイルをエクスポートするか、たとえば「Markdown または HTML のレポートをエクスポートしますか?」と自発的に確認します。実行するかどうかはユーザーが決めます。強制してはいけません。

対話形式

  • 読み取り専用の情報(健全性の判定、ステータス、費用):プレーンテキストで伝え、各判断の後に根拠を 1 行添えます(指標、ステータス、タイムスタンプ)。
  • 状態を変更するアクション(operate への移行、レポートのエクスポート):AskUserQuestion を使い、プロンプトで 実行内容・影響・確認方法 を説明します。ユーザーの確認前に何も実行してはいけません。
  • 自発的な対応の原則:健全な場合は何も言わず、リスクまたは実際の障害がある場合にのみ伝えます。ユーザーが選べる追加アクション(診断/レポートのエクスポート)は 1 つまで提示します。

レポートファイルをレンダリングする(任意)

ユーザーが保存済みの Markdown または HTML レポートを希望する場合は、各レイヤーの状態、レイヤーごとのスコア、主要なメトリクス、証拠をすべて 1 つの JSON オブジェクトにまとめ、scripts/render_report.py でレンダリングします。最終ファイルを手作業で整形しないでください。HTML 出力は複数のカードで構成されるレポートです(スコアと異常を示す概要、メトリクステーブル付きのレイヤーごとのカード、コストカード、推奨事項)。Markdown はその簡易版です。

  1. スキーマを表示して入力します:python3 scripts/render_report.py --schema。各レイヤーには state、score/max_score、metrics[]、detail が必要です。assessment.health_score はレイヤーのスコアの合計と一致し、グレードにも一致する必要があります。コストには実際の請求額のみを記載します。
  2. レンダリング前に検証します:python3 scripts/render_report.py --validate -i data.json。報告された問題(不正な状態、理由のない unknown、グレードとスコアの不一致、コストに見積もりが含まれている場合)を修正します。
  3. ユーザーが選んだ形式でレンダリングします: python3 scripts/render_report.py -i data.json -f md -o report.md(または -f html)。

操作への引き継ぎ(任意)

実際の障害を見つけ、ユーザーが qwencloud-operate に移行することを選んだ場合、プロジェクトディレクトリに observe_handoff.json を書き込みます。これにより、operate はその情報を基に開始し、指定されたレイヤーを最初に検証できます:

{
  "from": "qwencloud-observe",
  "generated_at": "2026-08-03T16:20:00+08:00",
  "fault_layer": "rds",
  "symptoms": ["RDS active connections rose from 12 to 190, near the cap"],
  "metrics": {"rds_active_connections": 190, "app_http_code": 200}
}

fault_layer は app/nginx/ecs/rds/network/disk のいずれかです。読み取り専用で観測した証拠のみを書き込みます。パスワード、接続文字列、署名付き URL は決して含めないでください。 これはあくまでヒントです。operate は復旧アクションを提案する前に、引き続き独自に検証します。

セキュリティ

ルール詳細
読み取り専用のみCloud Assistant のコマンドは読み取り専用にします。インスタンスやアプリの状態を決して変更しないでください。
シークレット禁止.qwencloud-deploy.local からパスワードを読み取ったり、出力したりしないでください。
マスキングログ出力では、AccessKey、トークン、パスワード、接続文字列のパスワード、Cookie をマスキングします。
スロークエリSQL テンプレートまたはマスキング済みの SQL のみを、長さを制限して出力します。生のリテラル値は決して出力しないでください。
コスト請求サイクルを併記し、実際に請求されたコスト(USD)のみを表示します。見積もりは決して表示しないでください。請求がまだない場合、コストを unknown とします。

必要な権限

references/ram_policies.md を参照してください。読み取り専用です。ただし、cms:InstallMonitoringAgent(必要に応じたエージェントのインストール)は例外です: ecs:DescribeInstances、 ecs:RunCommand + ecs:DescribeInvocations(読み取り専用コマンド)、cms:DescribeMetricList、 cms:DescribeMonitoringAgentStatuses、cms:InstallMonitoringAgent、ecs:DescribeSecurityGroupAttribute、 ecs:DescribeInstanceHistoryEvents、ecs:DescribeSnapshots、vpc:DescribeEipAddresses、 bssopenapi:QueryInstanceBill、bssopenapi:QueryBill、および(RDS を使用する場合) rds:DescribeDBInstances、rds:DescribeDBInstanceAttribute、rds:DescribeDBInstancePerformance、 rds:DescribeSlowLogRecords、rds:DescribeBackups。

詳細

レイヤーごとのガイドは、上記の「確認方法」からリンクされています。セットアップに関する参照資料は 2 つあります:

コメント