
2026/06/08 5:24
Show HN: Nightwatch、オープンソースの読み取り専用の AI SRE
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
概要:
ninoxAI は、生産環境に一切触れることなく、警告の暴走(アラート・ストーム)を管理可能で実動可能な事象に変換するオープンソースの只読型 AI SRE ツールであり、Apache License 2.0 を採用しています。従来の自動的なリスクあるコマンドを実行するツールとは異なり、本ソリューションは Checkmk、Prometheus Alertmanager、Icinga2、Zabbix、Grafana、Docker、Kubernetes、AWS、GitHub と互換性を備えた、厳密にローカルフーストかつモニタリング非依存の知能レイヤーとして動作します。それは安全性を最優先して、人間による審査を受けるための分類された修正策を提案します。
システムはホストシステムを含む多様なソースからの警告を読み込み、JSON/CSV 経由でデータを正規化し、ホスト・サービス・深刻度ごとにクラスタリングおよび証拠を用いたノイズスコアリング(0〜1)を行います。それはノイズの多いまたはフラップするチェックを特定し、AI 調査官によって支えられ複数の LLM プロバイダー(デフォルトオフラインテンプレート、Mistral、Anthropic、OpenAI、Azure、および vLLM/Ollama などのローカルインスタンス)をサポートするツールコール AI エージェントと ReAct ループを活用してライブ証拠を収集し仮説を形成します。
堅牢なセキュリティ対策(環境要約による事前基礎付け、不信できるログに対するインジェクションシールディング、ワンウェイのシークレットスクラブリング、アクション分類(可逆的/不可逆的))に構築された ninoxAI は、初期設定のための外部 API キーや LLM を必要とせず、完全にオフラインで動作します。ユーザーは
docker compose up --build によって http://127.0.0.1:8765 を指すことで、安全なインスタンスをわずか 60 秒で展開できます。
デフォルトで只読型として設計されている该平台は、そのロードマップから自動実行機能を明確に除外しており、警告を観察・推論することは行いますが、コマンドを実行したり変更を生産環境に書き込んだりすることはありません。今後の開発では MCP サーバーまたは Python プラグインによる拡張性を備え、「ninox」ランナーをセキュアな環境(K8s/Docker/AWS/オンプレミス)内に分散展開し、アウトバウンド接続のみによって中央の脳へ電話をかけており、ファイアウォールの穴を回避します。結局として、ninoxAI は問題のクラスタリングにより警告疲労を解決し、調整推奨を提供し、リスクランク付きの修正提案を行って、チームが効果的に対応しながらインフラストラクチャに関する決定に対する完全な制御を維持することを可能にします。
本文
Read-Only AI SRE: ninoxAI
ninoxAI はアラート嵐をインシデントへと変え、オンプレミスシステム上の根本原因を調査し、人間による承認を経て実行される修正提案を行います。本番環境に一切触れることはありません。
🚀 クイックスタート
基本情報
- 監視ツールの上位レイヤー: Checkmk、Prometheus、Icinga2、Zabbix、Webhooks、Docker、Kubernetes、AWS、Grafana、GitHub、Git、VM などに対応。
- ローカルファースト: AI SRE レイヤーは外部依存ではなく、監視データに基づいて動作します。
- 4 つの主な機能:
- 🌊 アラート洪水の統合: 障害ごとに一件のインシデントとして統一し、「N のツールで確認済」として統合。症状一つ一つのアラート通知ではなく、対応可能な単一のアプローチを提供します。
- 🔇 ノイズの除去: ふらつき(flapping)、過剰に敏感なチェックを見逃しません。その根拠も提示します。
- 🤖 根本原因の調査: ツール呼び出し機能を備えた AI エージェントがオンプレミスシステムを調査し、仮説を形成します。
- 🧰 修正案の提案: コピー&ペースト可能な形で、リスクと影響範囲に基づいてランク付けされ、人間による承認(ゲート)が必要な修正案を提示します。
🔒 設計上の「読み取り専用 (Read-only)」
- ninoxAI は観察し、推論し、推奨しますが、決して実行操作は行いません。
- コマンドの実行、アラートの確認済み(ack)、閾値の変更、本番環境への書き戻しは一切行われません。
- すべての修正案は人間が承認するコピー可能なアサート(製品)です。無条件の自動実行は行いません。
⚡ 60 秒で試す (クイックスタート)
LLM も不要、API キーも不要、完全にオフライン動作:
cp .env.example .env # NINOXAI_SECRET_KEY の設定 docker compose up --build # http://127.0.0.1:8765 で起動
シンセティックなアラートでのテスト
本番環境の監視がまだの場合は、優先順位付け(triage)を確認できます。
docker compose exec ninoxai ninoxai generate-mocks docker compose exec ninoxai ninoxai import data/mock_alerts.json docker compose exec ninoxai ninoxai reprocess # → /recommendations ページに、論理的な閾値設定およびふらつき(flapping)の修正案が表示されます
ローカル Python インストール
開発用環境での動作確認:
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\Activate.ps1 pip install -e ".[dev,embeddings]" # 同様のコマンド実行で API にアクセス可能になります (http://127.0.0.1:8765) python -m ninoxai generate-mocks python -m ninoxai import data/mock_alerts.json python -m ninoxai reprocess python -m ninoxai serve
その後、AI SRE を稼働させます。ninoxAI をツール呼び出し型の LLM(Anthropic / OpenAI / Mistral / ローカル Ollama など)に接続してください。
lab/ ディレクトリには実際の監視ツールとリアルタイム調査機能を持つエンドツーエンドのシナリオがあります。
🔭 仕組みについて
処理フロー:
ingest(読み込み)→ normalize(正規化)→ cluster(クラスタリング)→ score noise(ノイズ評価)→ recommend(推奨)→ dashboard(ダッシュボード)
↓
エージェント型、読み取り専用の根本原因調査機
| 段階 | 行われること |
|---|---|
| ingest | 読み取り専用アダプタが各ソースから非正常なアラートを抽出し、JSON/CSV のインポートも対応。 |
| normalize | すべてのソースを単一のスキーマおよびメッセージの指紋(フィンガープリント)へマッピング。 |
| cluster | ホスト・サービス・重大度・時間枠に基づいてグループ化。セマンティック埋め込みはオプション。 |
| noise | 頻度、確認レート、チケットレート、短縮回復時間、ふらつき(flapping)などを基に 0–1 のスコアを付与。 |
| recommend | ルールベースのチューニング推奨事項および根拠・証拠を示す。 |
| investigate | ツール呼び出し LLM がライブエビデンスを集め → 根本原因の仮説 + 分類された修正案を生成。 |
- クロスツール相関性: 同じ不具合がすべてのツールで発火します。「インシデント」ビューは、共有するクラスタを一つにまとめて表示し、「N のツールで確認済み」として読み取り専用(no merge)状態で提示します。
🤖 AI SRE 調査機
ninoxAI の特長機能です。Read-Only Typed Allowlist を駆動し、ReAct ループ(推論 → 行動 → 観察)を用いてライブエビデンスから根本原因の仮説を構築します。人間の承認を得られる分類された修正案を提案します。
読み取り専用機能 (すべて Read-only)
- 🐳 Docker: コンテナ、ログ、統計、情報取得 (inspect)。
- ☸️ Kubernetes: ポッド、ログ、イベント、デプロイメント(インクラスター RBAC を使用)。
- ☁️ AWS: CloudTrail 変更イベント、EC2、セキュリティグループ、クォータ(IAM リードロールを使用)。
- 📈 Grafana: データソースプロキシを介した PromQL + LogQL。
- 🐙 GitHub: CI 実行、リリース、PR — 変更イベントの RCA (根本原因分析)。
- 🌿 Git: ミラー化リポジトリ:コミット、差分、コードおよび履歴の検索。
- 🖥️ ホスト: CPU / メモリ / ディスク / プロセス / ソケット / ログテール(通常仮想マシン向け)。
セキュリティと挙動:
- すべてのアクションは分類され
、可逆性、影響範囲とともに明示されます。不明な場合は不可逆的に強制され、決して沈黙して自動実行されることはありません。read_only - 事前知識あり (Pre-grounded): エージェントは環境の簡潔な概要からスタートするため、再発見ではなく診断を行います。
- 強化されたセキュリティ: ログや差分からのコードインジェクションを防護し、機密情報は scrubbing(削除)されます。証拠なしの主張は接地ゲート(grounding gate)で制限されます。
→ エージェントコンソール (
/agent) でライブストリーミング形式での実行が可能です。
🦉 分散 ninoxes エージェントの目、どこでも
エージェントは直接アクセスできないシステムも調査できます。「ninox」は環境内に住み、認証情報をローカルに保持し、ホーム(本番サーバー)へアウトバウンド接続する薄いランナーです。
- ファイアウォールのインバウンド穴を開けることなくブレイン(中枢)と通信します。
- ブレインはそれをローカルにあるかのように呼び出せるように、読み取り専用の能力サーフェスをアドバンテージ(発表)します。
┌────────────────────┐ ┌────────────────────┐ │ ninoxAI brain │ ◀── アウトバウンドのみ ── │ ninox runner │ │ ダッシュボード/API │ (ninox がホームをダイヤル | k8s/Docker/VM内の │ │ インシデント/RCA │ 、インバウンドの穴なし) │ AWS/オンプレミス │ │ AI SRE 調査機 │ │ 認証情報はローカルに保持 │ └────────────────────┘ ◀── 読み取り専用エビデンス │ │ └────────────────────┘
- 能力は環境によって自動選択されます。一つのバイナリであり、着陸した箱に必要なツールを備えています。
- 接続された ninoxes は、「オウムの衆議院」(
) に表示されます。/parliament
🔌 コネクタ
すべてのアダプターは読み取り専用です — アラートの確認、ダウンタイム、書き戻しは行いません。UI (
/connections) で設定され、認証情報は Fernet 暗号化されます。
| ツール | 状態 |
|---|---|
| Checkmk | ✅ |
| Prometheus Alertmanager | ✅ |
| Icinga2 | ✅ |
| Zabbix | ✅ |
| ジェネリック Webhook | ✅ |
| PRTG | ⛔ stub |
AI SRE にスタック(Jira、Sentry、Postgres…など)を読み込ませたい?
- MCP サーバーを指向するか、Python 能力プラグインを書いたり、ランナープロトコルを通じてツールを公開するだけでよく、すべての外部ツールは同じ安全性シェル(ネームスペース化、インジェクションスキャン、分類強制)を介して実行されます。
🧠 LLM プロバイダー
デフォルトは
template で、完全にオフライン動作です — LLM 不使用、ネットワークなし、API キーなし、トラッキングなし。サマリーや推奨事項にはそのまま動作しますが、あえてエージェントを駆動させることはできません(それにはツール呼び出しが必要)。役割に応じてリモートを選択してください。
| プロバイダー | メモ |
|---|---|
| オフライン — LLM なし、ネットワークなし。デフォルト。 |
| コスト効率が良い、EU ホスト |
| 強力なツール呼び出し — 調査機におけるデフォルト |
| OpenAI、Azure、およびローカル LLM (vLLM / Ollama / LM Studio) をベース URL で利用可能 |
- 秘密情報の保護: すべてのリモートコールの前に行われる赤色化(Redaction)と scrubbing — ホスト名、IP アドレス、UUID、メール、パスは決定論的なプレースホルダーに変換され、提案されたコマンドのみで復元されます。認証情報は片道 scrubbing され、決して返されていません。
🛠️ 開発・貢献
- 開発: 完全な CLI リファレンス、テスト設定、およびリンター規則は
にあります。docs/development.md - CONTRIBUTING (コントリビュート): すべての貢献者は Owl(オウム)です。🦉 プルリクエスト、コネクタアダプター、能力プロバイダー、バグ報告など、すべて歓迎しています —
を参照してください。CONTRIBUTING.md - コミュニティ: Discord 上の議場に参加してください。
📜 ライセンス
ninoxAI は Apache License 2.0 に完全に準拠したオープンソースソフトウェアです — オープンまたはクローズドのプロジェクトに関わらず、自由に使用、自己ホスト、フォーク、構築可能です。
オウムは観察する;人間が決定する。 🦉