アプリの死活監視テンプレート
exaBase StudioのSideAppの動作ログを、外部のロギングシステムにEndpoint経由で送付する機能です。StreamlitによるSideAppから使われることを前提としています。
LOGを安定して取得すること、外部システムでロギングし死活監視や障害切り分けのためのシーケンスログを保管することを想定しています。
概要
想定ユーザー
- Studioで構築するアプリケーションの死活監視を行いたいユーザー。
- Studioで構築するアプリケーションのシーケンスログを外部からモニタリングしたいユーザー。
テンプレート動作
- 入力
- Environment variables
sa1
SideAppのEnvironment variablesとして、LOG_ENDPOINTID
を設定し、値に "死活監視Entity" のIDを設定する。本アセット単体で動作確認する場合は変更不要。
- ログの送信
sa1
SideAppのInjectionファイル/app/src/app.py
で、LifeDeathLogger
インスタンスのstart_worker
メソッドを呼び出し、ログをEntityに送信され続けるようにする。ログのメッセージを更新するには、start_worker
の返り値のメソッドset_message
を実行する。本アセット単体で動作確認する場合は変更不要。
- Environment variables
- Output
/sequence
EndpointにGETリクエストを送るとログを取得できる。レスポンスのJSONは、例えば下記のような形式。{
"data": {
"life_and_death_log": "2024/08/23 13:41:04, logging_counter:12548, last_message_from_app:app_log:2024/08/23 12:08:00, 223"
}
}
- Function
- シーケンスログをEntityに送り、Endpointからログを取得できるようにする。
- シーケンスログをEntityに送り、Endpointからログを取得できるようにする。