アプリの可観測性
可用性
可観測性 API は partially implemented です。現在、2 つのデータ ソースが役に立ちます。
- 手動で入力される追加専用のイベント タイムライン。そして
- libvirt によって報告される現在の VM リソース割り当て。
以下は契約のプレビューのみです。
- アクセス ログの取り込みが実行されていないため、リクエスト分析は空のロールアップ リストを返します。
- uptime-probe 構成は維持されますが、HTTP チェックを実行するスケジューラはありません。
- サンプラーが実行されていないため、リソース サンプルは空です。そして
- アプリログストリーミングは実装されていません。
完成した可観測性ダッシュボードはありません。保存されたプローブ構成は、エンドポイントがチェックされたことを証明するものではありません。
現在の REST サーフェス
ルートは /api/app-gateway の下にあります。
| 方法 | パス | 今日それが証明すること |
|---|---|---|
GET | /analytics/{slug}?days=7 | 契約に到達可能です。 rollups は空であることが予想されます。 |
PUT | /probes/{slug} | プローブ構成が検証され、保存されました。 |
GET | /probes/{slug} | 保存された設定を読み取ることができます。実行時ステータスは未設定のままです。 |
DELETE | /probes/{slug} | 保存されている設定が削除されました。 |
POST | /events/{slug} | 呼び出し元が提供したイベントが追加されました。 |
GET | /events/{slug}?limit=100 | 保存されたイベントは、新しいものから順に読み取ることができます。 |
GET | /metrics/{slug}?vm_name={name} | 現在の割り当てが返される場合があります。 samplesは空いています。 |
プローブ構成
PUT /api/app-gateway/probes/my-app
Content-Type: application/json
{
"path": "/healthz",
"interval_s": 60,
"expected_status": 200,
"timeout_s": 5,
"enabled": true
}現在の読み取りは次のようになります。
{
"config": {
"path": "/healthz",
"interval_s": 60,
"expected_status": 200,
"timeout_s": 5,
"enabled": true
},
"last_run_at": null,
"last_status": null,
"last_http_status": null,
"consecutive_failures": 0
}null ランタイム フィールドは重要な信号であり、チェックは実行されていません。スケジューラーが出荷されるまで、外部モニターを使用して可用性アラートを通知します。
イベント
イベントは API を通じて書き込まれる永続的な記録であり、自動的に完了する監査証跡ではありません。デプロイメント、チェックポイント、ドメイン、およびウォーカー フックはまだ保留中であるため、呼び出し元は、明示的な追加なしでこれらのアクティビティが表示されると想定してはなりません。
イベント メタデータを呼び出し元が提供するデータとして扱います。秘密をそこに置かないでください。
リソースの割り当て
一致する VM が libvirt から利用できる場合、メトリック ルートは割り当てられた vCPU、メモリ、ディスクをレポートできます。時系列やアプリケーションレベルの健全性はまだ報告されていません。割り当ては容量構成であり、アプリケーションがその容量を使用した、または存続したという証拠ではありません。
操作ガイド
取り込みとワーカー ループがデプロイされるまで:
- 稼働時間のために外部 HTTP モニターを使用します。
- オペレータ管理のメカニズムを使用してアプリケーション ログを収集します。
- 実際の利用には libvirt またはホスト テレメトリを使用します。そして
- プレビュー イベント リストのみに依存するのではなく、インシデント レコードにタイムスタンプとソース証拠を添付します。
この機能は、再起動しても安全な取り込み、プローブ、サンプリング、およびログ ストリームのワーカーがエンドツーエンドの障害テストと回復テストに合格した後にのみ、準備完了として提示できます。