最初の因果分析を構築する。
空のインスタンスから、型付きフォールトツリーとリビジョン付きの分析結果まで進みます。 この手順ではシステム境界を明確にするため、プレーンなHTTPを使用します。
このガイドで構築するもの
二つの故障イベント、一つのORゲート、算出された最上位事象の確率を持つ包装ラインモデル。
1. インスタンスを起動
ローカルのIngaDBインスタンスはPostgreSQLとAPIの二つのコンテナで動作します。 開発用オーバーライドにより、このガイドで使うローカル組織ヘッダーフローが有効になります。
ターミナルbash
docker compose -f deploy/docker-compose.yml -f deploy/docker-compose.dev.yml up -dマイグレーションが適用済みであることを確認し、サービス記述子を調べます。
ターミナルbash
curl -s localhost:9876/admin/status
curl -s localhost:9876/db/v12. 組織を作成
組織はテナンシーの境界です。返された識別子を保存し、ローカル開発リクエストのX-Org-Id として送信します。
ターミナルbash
ORG=$(curl -s -X POST localhost:9876/admin/orgs -H 'content-type: application/json' -d '{"name":"my-team"}' | jq -r .id)3. グラフを作成
グラフは、自身のトポロジー、証拠、計算済みビュー、リビジョン、差分を所有します。
ターミナルbash
GID=$(curl -s -X POST localhost:9876/db/v1/graphs -H "X-Org-Id: $ORG" -H 'content-type: application/json' -d '{"name":"packaging-line"}' | jq -r .id)4. トポロジーを書き込む
イベントは観測可能な故障です。ゲートは、それらのイベントが結果へどう結合するかを定義します。 トポロジーの置換はアトミックであり、読み手が書き込み途中のグラフを見ることはありません。
ターミナルbash
curl -s -X PUT "localhost:9876/db/v1/graphs/$GID/topology" -H "X-Org-Id: $ORG" -H 'content-type: application/json' -d '{
"events": [
{"id":"E_BEARING","label":"bearing wear","component":"conveyor","failure_mode":"wear"},
{"id":"E_SEAL","label":"seal leak","component":"pump","failure_mode":"leak"}
],
"gates": [
{"id":"G_TOP","label":"line stops","type":"OR","inputs":["E_BEARING","E_SEAL"]}
]
}'5. 分析を計算
このリクエストはイベントを定量化し、最小カットセットを列挙し、ゲート量を計算して、 計算元のリビジョンとともに結果を保存します。
ターミナルbash
curl -s -X POST "localhost:9876/db/v1/graphs/$GID/views/analysis" -H "X-Org-Id: $ORG" -d '{}' | jq '{revision: .analysis.graph_revision, gates: .analysis.gate_quantities}'ローカル環境と本番環境の認証
開発用オーバーライドは X-Org-Id を受け付けます。外部から到達可能な環境ではAuthorization: Bearer cok_… と、運用ガイドに記載されたデプロイ統制を使用してください。