Skip to content

初回起動チェックリスト

install.sh が完了し、ブートストラップ管理者としてログインしたら、このリストを順に進めましょう。 「動き始めるのを見る」のに必須なものは何もありません —— クイックスタートはこれらなしでも動きます —— が、各項目はチームにシステムを引き渡す前のギャップを埋めるものです。

1. ONGRID_PUBLIC_URL を正しく設定

おそらく最も重要な項目です。この URL は edge が データプレーン として使う宛先です —— ログは <url>/loki/api/v1/push に、トレースは <url>/v1/traces に push されます。

install.sh が何を入れたか確認:

bash
sudo grep '^ONGRID_PUBLIC_URL=' /opt/ongrid/.env

内部アドレスを受け入れた一方で edge がパブリックインターネット上にある場合、 ログとトレースは静かに失敗します —— トンネルは自分のポートで動くので edge は健全に見えます。

修正:

bash
# Edit
sudo sed -i 's|^ONGRID_PUBLIC_URL=.*|ONGRID_PUBLIC_URL=https://ops.example.com|' /opt/ongrid/.env

# Restart the affected services
sudo docker compose -f /opt/ongrid/docker-compose.yml --env-file /opt/ongrid/.env up -d ongrid nginx

edge を再デプロイする必要はありません。エージェントはデータプレーンエンドポイントを manager から定期的に再読み込みします。

ONGRID_PUBLIC_URL を参照。

2. デフォルト LLM プロバイダーを設定

箱出し状態ではプロバイダーは未設定です。エージェントは思考を拒否します。

  1. Settings → Models。以下のいずれかを選択:
    • OpenAI(gpt-5.4 デフォルト)
    • Anthropic(claude-opus-4-7 デフォルト)
    • Zhipu(glm-4.7 デフォルト)
    • DeepSeek(deepseek-v4-flash デフォルト)
    • Gemini(gemini-2.5-pro デフォルト)
    • Kimi(kimi-k2.6 デフォルト)
    • Custom OpenAI 互換(vLLM、Ollama、OpenRouter、企業内リレー…)
  2. API キーを貼り付け。任意で "Advanced" でデフォルトモデルを上書き。
  3. Save。事前登録はホット —— 再起動不要。
  4. 同じページで Default provider をたった今接続したものに設定。

default_provider とルート別モデルを混同しない

"default" はバックエンド LLM 呼び出し(アラート調査、翻訳、要約)を駆動します。 チャットヘッダーのモデルピッカーは スレッド別の上書き で、「この質問だけ Opus で試す」のに便利ですが、 cron ジョブやインシデントで動くのはサイトデフォルトです。

サイドバーの Models 配下にある Routing & defaultBudget & limits を参照。

3. 通知チャネルを設定

まだ alert rule がなくても、将来のインシデントが着地する場所を 1 つ配線しておきます。

推奨スターターペア:

  • 汎用 incoming-webhook コレクター宛の Webhook チャネル(後で削除可能) —— 通知経路が動くことを証明。
  • IM チャネル 1 つ —— Telegram が最も簡単(bot token と chat ID だけ)。 Slack/Lark/DingTalk/WeCom はセットアップが多いです。

チャネル概要 を参照。

4. manager のタイムゾーンを設定

インシデントタイムラインとアラートイベントのタイムスタンプは manager のタイムゾーンに従います。デフォルトはコンテナ内部で UTC。 チームに合わせる UI には:

bash
# Set TZ in compose env. Edit /opt/ongrid/docker-compose.yml or drop a
# /opt/ongrid/docker-compose.override.yml with:
services:
  ongrid:
    environment:
      TZ: Asia/Shanghai
bash
sudo docker compose -f /opt/ongrid/docker-compose.yml --env-file /opt/ongrid/.env up -d ongrid

AI 出力ロケール(LLM が英語と中国語のどちらで答えるか)は ONGRID_DEFAULT_LOCALE で設定。 デフォルト en、有効値は UI 翻訳と一致(enzh-CNja、…)。チャネル別の上書き可能、 手動 UI リクエストは Accept-Language に従います。

5. Prometheus 保持期間を決定

compose のデフォルトは 90 日 / 20 GB 上限。変更するには:

bash
# /opt/ongrid/docker-compose.override.yml
services:
  prometheus:
    command:
      - --storage.tsdb.path=/prometheus
      - --storage.tsdb.retention.time=30d
      - --storage.tsdb.retention.size=10GB
      - --web.enable-remote-write-receiver
      - --web.enable-lifecycle
      - --web.external-url=/prometheus/
      - --web.route-prefix=/prometheus/
      - --config.file=/etc/prometheus/prometheus.yml
bash
sudo docker compose -f /opt/ongrid/docker-compose.yml --env-file /opt/ongrid/.env up -d prometheus

Loki 保持期間は /opt/ongrid/loki-config.yaml を編集して loki コンテナを再起動。 Tempo は /opt/ongrid/tempo-config.yaml を編集。

6. 組み込み Loki / Tempo を保持するかを決定

既にマネージドログ/トレースバックエンド(Grafana Cloud、Honeycomb、Splunk、 自社の VictoriaLogs / VictoriaTraces…)を運用している場合:

  • 埋め込みを保持 —— エージェントがクエリするデータシンクとして (最も安価、追加インフラなし)。
  • 差し替え —— ONGRID_LOG_QUERY_URL / ONGRID_TRACE_QUERY_URL でエージェントを マネージド URL に向け、各 edge の promtail / otelcol をそこに直接 push するよう再設定。

ハイブリッド構成(edge が両方に push)が必要なら、各 edge の /etc/ongrid-edge/ に カスタム promtail.yaml / otelcol.yaml を置けばエージェントが取り込みます。

ログ機能トレース機能 を参照。

7. 自己署名 TLS 証明書を差し替え

試用には十分。本番では証明書は /opt/ongrid/certs/ にあります:

bash
sudo cp fullchain.pem /opt/ongrid/certs/tls.crt
sudo cp privkey.pem   /opt/ongrid/certs/tls.key
sudo chmod 600        /opt/ongrid/certs/tls.key
sudo chmod 644        /opt/ongrid/certs/tls.crt
sudo docker compose -f /opt/ongrid/docker-compose.yml restart nginx

install.shupgrade.sh はオペレーター証明書を上書きしません。

8. /var/lib/ongrid/opt/ongrid/.env をバックアップ

ステートフルなものはすべてこの 2 つのパス配下にあります:

  • /opt/ongrid/.env —— シークレット(JWT、MySQL、admin パスワード、埋め込みキー)。
  • /var/lib/ongrid/mysql/ —— すべての運用状態。失えないものはここ: edges、alert rule、incidents、channel 設定、監査ログ、カスタムスキル、ナレッジメタデータ。
  • /var/lib/ongrid/qdrant/ —— ベクトル埋め込み(ソース文書から再構築可能だが高コスト)。
  • /var/lib/ongrid/prometheus/loki/tempo/ —— テレメトリ。長期保持が必要なときのみバックアップ。

この 2 つのルートを cron + rsync(または restic)するだけで災害復旧が可能。 復元 = スタック停止、ディレクトリ差し替え、スタック開始。

9. 実際の管理者アカウントを設定

ブートストラップ管理者のメールは install.sh(または手動)で ONGRID_ADMIN_EMAIL に設定したものです。実チームには:

  1. Settings → Identity → Users → Invite user で各実オペレーター。
  2. 各人にロールを割り当て:adminuserviewer(ADR-022 RBAC)。
    • admin —— フルコントロール。
    • user —— エージェントとチャット可、インシデント表示、アラートミュート。 ツールバッグは ClassSafe にフィルタ。
    • viewer —— 読み取り専用チャット(書き込みスキルなし)、読み取り専用インシデント。
  3. ブートストラップ管理者をデモートする、または使わなくする。

10. 最初のインシデントをトリガー(スモークテスト)

組み込みルールの 1 つを発火させます。最も簡単:edge の 1 つを停止。

bash
sudo systemctl stop ongrid-edge

ONGRID_ALERT_EDGE_OFFLINE_THRESHOLD(デフォルト 90 秒)+ 評価間隔 (デフォルト 5 分)以内に edge_offline ルールが発火。UI:

  • Alerts —— 新しいイベント。
  • Incidents —— そのイベントをグループ化する新しいインシデント。
  • Channels —— 配線したチャネルがカードを受信。

IM チャネルを設定していれば、ボットに「investigate this」と返信してください。 incident investigator がエンドツーエンドで動き、レポートを返します。

edge を再起動:

bash
sudo systemctl start ongrid-edge

ルールが発火しなくなるとインシデントは自動で mitigated に移動。 UI から resolved にマークします。

次は