OngridのオンコールアシスタントがMessenger上でインシデントを直接調査
典型的なオンコールのシナリオを想像してみてください。午前3時にアラートが鳴り響き、APIのレスポンス時間が5倍に跳ね上がりました。眠そうにノートPCを開き、Grafanaの десятокダッシュボードをにらみ、Bastionホスト経由でノードにSSHでログインし、ログを必死でgrepします。根本原因を見つけるのに30分かかりましたが、問題は単にクラッシュしたPodかスタックしたトランザクションだったなんてことがあります。
オープンソースプロジェクトOngridの作者たちは、このルーティン作業を специализированные AI агенттыと готовый наблюдаемости стекの組み合わせにオフロードすることにしました。
システムができること
Ongridは自律型のオンコールエンジニアとして動作します。TelegramやSlackなどのMessengerに接続し、受信したアラートを待ち受け、即座に調査を開始します。
システムはコーディネーターと специализированные специалистыのアーキテクチャ построена。アラートが届くと、メインエージェントが根本原因分析用のワーカーを作成します。このワーカーは、データベース、ネットワーク、SRE用のエージェントにクエリを実行し、メトリクス、ログ、トレースを収集し、依存関係マップを構築して готовый отчетをチャットに届け、问题のコードの特定の行または障害のあるサービスを указатьします。
セキュリティとアクセス制御
「本番環境にエージェントがいる」と聞いたすべてのシステム管理者の究極の悪夢は、危険なコマンドを実行してデータベースをダウンさせるモデルの幻覚(ハルシネーション)です。Ongridの開発者たちはこの問題に実用的にアプローチしました。
第一に、ホストユーティリティとbashサンドボックスはデフォルトで読み取り専用モードで動作します。エージェントは诊断コマンドの実行、プロセスの状態確認、ソケットの状態検査はできますが、サーバーを黙って再起動することはできません。
第二に、潜在的に破坏的なアクションはすべて特別な承認ゲートで保護されています。修正を適用する前に、ボットはチャットまたはWebインターフェースでオンコールエンジニアに承認をリクエストします。
第三に、ホストには открытые входящие портыがまったく必要ありません。軽量なEdgeエージェントがターゲットサーバーにインストールされ、Ongridサーバー自体への発信接続を確立します。Webターミナル経由のSSHアクセスは逆トンネルを介して動作し、ポート22を外部にフォワードすることもなく、bastionホストでキーを弄くる必要もありません。各呼び出しは監査 목적으로ログに記録されます。
可観測性、トポロジ、Kubernetes
内部には、Prometheus、Loki、Tempo、Grafanaの事前に設定されたスタックがすでにセットアップされています。違いは、エージェント自体がそれらにクエリを書き出し、OpenTelemetryトレースでイベントタイムスタンプを相関させることです。
Kubernetesクラスター管理は最近プロジェクトに追加されました。エージェントはEdge経由でクラスターを接続し、ワークロードイベントを追跡し、アップグレードの管理を支援し、Podを共有トポロジマップに投影します。
トポロジマップはインシデントの影響範囲を評価するのに役立ちます。ネットワークスイッチやデータベースがダウンした場合、システムはすべての依存サービスを視覚化し、偽陽性をフィルタリングします。
ナレッジベースとスキルの拡張
インフラストラクチャのコンテキストなしでは任何なLLMは無意味です。Ongridには runbook、過去のポストモーテム、コードリポジトリをアップロードできるナレッジボールトが含まれています。Qdrantベースのベクトル検索が関連する手順を見つけ、インシデント分析中にエージェントに 提供します。
標準ツールでは不十分な場合、MCP(Model Context Protocol)経由で追加したり、ビジュアルワークフローエディタで独自のシナリオを構築したりできます。
生成されたレポートとダッシュボードは成果物センターに保存され、ポストモーテム中にチームと簡単に共有できます。
内部構造とモデルスタック
プラットフォームのバックエンドはGoで書かれており、フロントエンドはReactとTypeScriptで構築されています。このソリューションはAGPLv3ライセンスの下で自社のサーバーに完全にデプロイできます。
言語モデルに関しては、プロジェクトは単一のベンダーに依存していません。AnthropicのClaude、OpenAI、DeepSeek、Gemini、またはローカルインスタンスを使用でき、タスクの複雑さに応じてモデルルーティングをリアルタイムで切り替えることができます。
自有サーバーへのデプロイ方法
Ubuntu、Debian、またはRocky Linuxへのインストールは、 готовый скриптで行います:
# Для архитектуры AMD64
wget https://github.com/ongridio/ongrid/releases/download/v0.12.0/ongrid-v0.12.0-linux-amd64.tar.xz
tar -xf ongrid-v0.12.0-linux-amd64.tar.xz && cd ongrid-v0.12.0-linux-amd64
sudo ./install.sh
ARM64の場合、対応するリリースでアーカイブ名を置き換えるだけです。スクリプトはサーバーコンポーネントとWebインターフェースを起動するので、その後Messenger接続を設定し、ホストにEdgeエージェントをインストールするだけです。
試してみるべき人
Ongridは、24時間体制のネットワークオペレーションセンター(NOC)がなく、開発者が交替でオンコールを担当する中小規模の運用チームに役立ちます。インシデント発生時の初期のパニックの波を和らげ、ログを即座に収集して問題を明確なサマリーにローカルライズします。
このプロジェクトはまだ若く(GitHubで700個程度のスター)、セキュリティへのフォーカスとオープンTelemetry標準の使用により、アーキテクチャ的には成熟しています。
関連プロジェクト