aiyiyi121/sxdevops
SxDevOps 是一个面向真实运维现场的开源智能运维 Agent 平台。它把 CMDB、可观测性、事件中心、任务中心、工单审批、容器管理、RBAC 等平台能力组织成 Agent 可调用、可审计、可确认的运维工作流。
SxDevOps — それは何ですか
SxDevOps は、AIエージェントを実際のIT運用("运维")に導入するためのオープンソースプラットフォームです。モットーは "Think before acting, act with evidence"(行動する前に考え、証拠を持って行動せよ)です。これはチャットボットではなく、分散した運用ツールを1つの制御されたワークフローに変えるシステムです:状況を見る → 証拠を見つける → システムに尋ねる → アクションを確認する。
解決する問題
従来の運用では、情報とアクションが断片化されています:
- アラートは赤い点として表示されますが、ログ、トレース、最近の変更は他のシステムに存在します。
- リリース、承認、タスク結果、主要な操作がページごとに散らばっており、事後分析のコストが高くなります。
- 巡回、バッチコマンド、スクリプトテンプレート、ホスト権限が切り離されています。
- トラブルシューティングの経験は個人の頭の中にあり、再利用されません。
SxDevOpsは、これらの断片を1つのチェーンにまとめます:証拠のための可観測性、レビューのためのイベントセンター、アクションのためのタスクセンター、そして理解・計画・構造化出力のためのAIOps。
コアモジュール
| モジュール | 機能 |
|---|---|
| CMDB | 資産台帳、ビジネスリソースツリー、同期/オンボーディング、容量レベル、ガバナンス、トポロジー、タスクとリソースの明示的なリンク |
| AIOps Agent | LangGraphオーケストレーション、自然言語フォレンジック、再利用可能なスキル、タスクドラフト、人間の確認、実行監査、アクション後の復旧検証 |
| 可観測性 | プラットフォーム概要、システムステータス、メトリッククエリ、ログ検索、トレース、Grafanaダッシュボード、データソース管理 |
| イベントセンター | 障害イベントの特定、主要操作の記録、イベントソース統合、操作監査、システム/環境/アプリ/時間によるフィルタリング |
| タスクセンター | ホストタスク、バッチコマンド、スクリプトテンプレート、リソースグループ、タスクドラフト、実行履歴、スケジュールタスク |
| チケットシステム | アプリリリース、承認フロー、SQL監査、トランザクションチケット、変更履歴 |
| コンテナ管理 | Kubernetes/Dockerワークベンチ、リソースとYAMLの事前チェック、スコープ認可、容量、インタラクティブターミナル、履歴ログ |
| 権限と監査 | バックエンドAPI、フロントエンドルート、メニュー、ボタン、WebSocketシナリオ全体に均一に適用されるRBAC |
エージェントの仕組み
これは「ユーザーが尋ねる → LLMが自由に答える」ものではなく、制御されたパイプラインです:
- アクションルーター — リクエストを分類し(アラートの根本原因、ログクエリ、K8s診断、変更相関、タスク生成など)、リスクレベル、必要なコンテキスト、出力構造、確認ポリシーを宣言します。
- エージェントモード — 実行スタイルを選択します:
Direct(単一の読み取り専用または明確なアクション)、ReAct(推論 → 行動 → 観察)、またはPlan + ReAct(多段階の深いトラブルシューティング)。 - プリフライト — 書き込み、生成、実行の前に:権限チェック、リスク評価、依存関係チェック、不足パラメータの補完、ロールバック準備。失敗した場合は、フォームを返すか、不足情報を尋ねます。
- スキル / SOP — 証拠チェックリスト、クエリルール、出力形式、安全境界を制約するドメイン機能パッケージ。
- MCP / ツールレジストリ — プラットフォームと外部システムを管理可能なツールとしてラップします。最終的な使用可能ツールセット =
スキルツール依存関係 ∩ MCP可用性 ∩ ユーザーRBAC ∩ アクションセキュリティポリシー。 - 構造化された事実 — ログ、メトリック、トレース、アラート、イベント、実行結果。
- 2段階の回答形成 — 結論、証拠、リスク、推奨アクション。
- 保留中のアクション — 書き込み/実行アクションは保留中の確認となり、ユーザーが確認した後にのみプラットフォームAPIが実行します(RBAC、パラメータサニタイズ、タイムアウト制御付き)。
- フィードバックループ — 結果はタスクセンター、イベントセンター、監査証跡に戻されます。
ガバナンス原則:
- プラットフォームAPIが唯一の実行境界です。モデルは理解し、計画し、候補パラメータを生成しますが、バックエンドをバイパスしてリソースに触れることはできません。
- 読み取り専用の診断は直接事実を返すことができますが、生成/書き込み/実行アクションはプリフライト → 確認 → 実行を経る必要があります。
- フロントエンドの権限表示はUXに過ぎず、バックエンドのRBACが真のセキュリティ境界です。
- すべてが監査されます:セッション、ツール呼び出し、プリフライトチェック、保留中のアクション、実行結果、主要イベント。
典型的なシナリオ
「本番環境の注文センターの異常を分析する」 — 従来はアラートプラットフォーム、ログセンター、トレースシステム、リリース記録の間を手動で行き来する必要がありました。SxDevOpsでは、エージェントがそれらをチェーン化します:ユーザーが自然言語で尋ねる → エージェントがアラート/ログ/トレース/イベント/タスクツールを選択 → バックエンドがRBACとタイムアウト制御を備えたホワイトリストに対してツール呼び出しを実行 → プラットフォームが構造化された証拠を集約 → スキルが結論、証拠、リスク、推奨アクションを出力 → 検査やコマンド実行が必要な場合、タスクドラフトが生成され、ユーザー確認後にのみタスクセンターに入ります → 結果がイベントセンターと監査証跡に書き戻されます。
v2のハイライト
- CMDB:統合された資産/リソースツリー/容量/同期/ガバナンス。タスクセンターはCMDB資産を明示的にリンク。トポロジーは正確なスコープと1〜3ホップの隣接ノードをサポート。
- AIOps/LangGraph:デフォルトのチャットは永続的なグラフオーケストレーションを使用。段階的なフォレンジック、ツールループ、タスクドラフト、回答修正。独立したワーカー、チェックポイント復旧、リース引き継ぎ、ノード監査。アクション後のアラート復旧検証。
- コンテナ管理:統合されたKubernetes/Dockerワークベンチ。YAMLドライランの事前チェック。スコープ認可。インタラクティブターミナル。カーソルベースのページング付き履歴ログ。
- UX:3つのテーマ(ライト、チャコール、ダークブルーグレー)。中央集権的なサイドバーナビゲーション。サイト名、アイコン、メニュー順序のシステム設定。
技術スタック
- バックエンド:Django REST framework, Channels, Daphne
- エージェントオーケストレーション:LangGraph。PostgreSQL/MySQL/SQLiteのチェックポイント。独立したワーカーを持つデータベースベースのタスクキュー
- フロントエンド:Vue 3, Vue Router, Pinia, Element Plus, ECharts, Vite
- データベース:PostgreSQL 16(デフォルト・推奨)、MySQL 8(オプション)、SQLite(ローカルテスト用)
- キャッシュ/リアルタイム:Redis, Channels Redis
- 外部統合:Kubernetes API, Docker, SSH, Prometheus/Grafana, SkyWalking, Tempo, Jaeger, Zipkin, Loki/ELK/SLS
クイックスタート
Docker (v20.10+, Compose V2) が必要です。リポジトリのルートから:
sh start.sh # Linux/macOS
.\start.cmd # Windows
スクリプトはシークレットの生成と保存、イメージのビルド、アプリ + PostgreSQL + Redis + CMDBスケジューラ + AIOpsワーカーの起動、DBマイグレーションを実行します。初回実行時に admin パスワードの設定のみ求められます(手動での .env 作成は不要)。その後 http://localhost:8000/login にアクセスし、ユーザー名 admin、設定したパスワードでログインします。固定のデフォルトパスワードはありません。デモデータはデフォルトでオフです。同じコマンドを再実行すると設定とアカウントが保持されます。Kubernetesデプロイも python3 k8s/deploy.py <image> を通じてサポートされています。
正直な制限事項
- 処分検証はアラートの復旧が「観察された」ことを示すだけであり、因果関係やビジネス全体の健全性を証明するものではありません。
- 完全なバックエンドテストスイートにはまだ既知の失敗があります。部分的なテスト合格は完全なスイートの結果の代わりにはなりません。
- このプロジェクトはMITライセンスです:帰属表示が必要で保証なしで、自由に使用、変更、配布、商用利用が可能です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト