ログ検索
Loki を使用してログを検索します。左側の「ログ管理」には、ログの取得元に応じた 2 つのパネルがあります。
| パネル | 取得元 | 用途 |
|---|---|---|
| コンテナーコンソール | Docker コンテナーの stdout/stderr(Alloy で収集) | MySQL、Redis、Kafka など、ミドルウェアや基盤コンテナーのログ調査 |
| サービスログ | HAP/HDP マイクロサービスの構造化 JSON ログ(serilog から直接送信) | 業務処理の呼び出しや例外スタックの調査、電話番号/ユーザー ID/traceID などによる検索 |
どちらのパネルにも、上部にキーワード検索(全文検索、大文字と小文字を区別しない)と複数選択の絞り込みリストがあります。表示期間はデフォルトで過去 1 日間です。右上で変更できます。
コンテナーコンソール
「コンテナー」リストでコンテナー名(script-app-1、milvus-etcd など)を選択すると、そのコンテナーの最近の stdout を表示できます。キーワード検索と組み合わせて目的のログを探してください。

サービスログ
「サービスログ」では、HAP/HDP の各マイクロサービスが serilog から Loki に直接送信した構造化ログを検索します。
まだ連携していない場合
「サービスログ」を表示するには、HAP/HDP サービス側でログの書き込みを明示的に有効にする必要があります。有効にしていない場合、このパネルにはログが表示されません。 手順は サービスログの連携 を参照してください。
高度な検索:LogQL
集計、統計、正規表現などを使う複雑な検索では、Grafana Explore(左下の Grafana アイコン → Explore)を開き、LogQL を直接記述します。
{service_name="smssenderservice", detected_level="error"} # SMS サービスのすべての error ログ
{hostname=~".+"} |~ "(?i)13800138000" # 全 マイクロサービスで電話番号を検索
sum(rate({hostname=~".+"}[5m])) by (service_name) # サービスごとの直近 5 分間のログレート
構文は LogQL 公式ドキュメントを参照してください。
補足
ログの保持期間はデフォルトで 30 日間(ENV_LOKI_RETENTION=720h)です。ops.yaml または ConfigMap で変更できます。ディスク容量に制約がある場合は、S3/MinIO バックエンドの利用を推奨します。