|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Kubernetes ログ
概要
Kubernetes 環境では、SUSE Observability 機能は異なるポッドに分散され、各機能のログはポッドおよびコンテナごとに保存されます。最近のログには kubectl を使用してアクセスできますが、長期保存のためにはログ集約を設定することをお勧めします。
ログ用の Kubernetes ポッド
SUSE Observability のログはポッドおよびコンテナごとに保存されます。以下の表は、特定の SUSE Observability 機能に関連するログにアクセスするためのポッドを示しています。実際のポッド名には番号やランダムな文字列のサフィックス(例えば、stackstate-receiver-5b9d79db86-h2hkz)が含まれ、SUSE Observability がデプロイされた際に指定されたリリース名がプレフィックスとして含まれる場合がありますのでご注意ください。
|
ポッドに保存されたログは定期的に削除されることに注意してください。ログへの長期アクセスのためには、Kubernetes クラスター用に ログ集約 を設定することをお勧めします。 |
| SUSE Observability 機能 | ポッド上のログ |
|---|---|
API(トポロジー、チャート、設定を含む) |
|
Elasticsearch へのデータインデックス作成 |
|
データ取り込み |
|
イベントハンドラー |
|
モニタ |
|
状態伝播 |
|
同期 |
|
ヘルス状態の表示 |
|
特定のポッド上のログには kubectl logs コマンドを使用してアクセスできます。
次に例を示します。
$ kubectl logs stackstate-api-0
最近のログにアクセスする
ポッドまたはコンテナのログ
最も最近のログは、kubectl logs コマンドを使用して Kubernetes から取得できます。特定のログを取得するには、監視対象のポッドを確認してください。
次に例を示します。
# Snapshot of logs for all containers of <pod-name>
$ kubectl logs <pod-name> --all-containers=true
# Stream logs for all containers of <pod-name>
$ kubectl logs -f <pod-name> --all-containers=true
# Snapshot of logs for a specific container of <pod-name>
$ kubectl logs -c <container-name> <pod-name>
# Snapshot of logs for previous terminated container of <pod-name>
$ kubectl logs -p -c <container-name> <pod-name>
同期ログ
すべての同期ログは、ポッド stackstate-sync-<suffix> にあります。同期名を使用して、ログスナップショット内の特定のログ情報を見つけることができます。
次に例を示します。
# Logs of the synchronization for a specific Kubernetes cluster
$ kubectl logs stackstate-sync-0 | grep "Kubernetes - \<cluster-name\>"
# Logs of the Agent synchronization
$ kubectl logs stackstate-sync-0 | grep "Agent"
ログ集約
SUSE Observability ログデータの長期保存のために、Kubernetes クラスターでログ集約を設定することをお勧めします。これは、Elasticsearch、Splunk、Logz.ioなどのストレージ用のサードパーティシステムと、LogstashやFluentdなどのログシッパーを使用して行うことができます。
これを行う方法の詳細については、次を確認してください:
-
Fluentd (fluentd.org)でログを送信する
-
Elasticsearch へのログ集約 (bitnami.com)の設定に関する完全な概要