Kubernetes
Kubernetesコンテナとコンテナ内部のアプリケーションのログを収集するには、以下を確認してください。
エージェントのアップデート
Kubernetesエージェント1.1.35バージョン以降で使用可能です。アップデート方法は次の文書を参照してください。
エージェント設定の確認
ホーム画面 > プロジェクト選択 > ログ > ログ設定
WhaTapモニタリングサービスの初期画面でプロジェクトを選択し、プロジェクトメニューのログ > ログ設定メニューを選択します。エージェントの設定とログモニタリング活性化セクションのエージェント設定の確認タブの手順を参照してください。
コンテナログ収集の有効化
クバネティスコンテナからログを収集するにはエージェント設定確認タブでログ設定を適用するボタンをクリックしてください。
コンテナの内部アプリケーションログ収集の有効化
Java 2.1.1、Python 1.2.2バージョン以降から可能です。Kubernetesコンテナ上で実行されているアプリケーションのログを収集するには、次を参照してください。
-
エージェント設定の確認タブの下の エージェント設定ボタンを選択してください。
-
アプリケーションエージェント設定メニューに移動し、 オプション作成ウインドウで手動入力を選択してください。
-
次のエージェント設定コマンドで、キー
logsink_enabled
と値`trueを入力ウィンドウに入力してください。logsink_enabled=true
-
適用ボタンを選択してください。Kubernetesコンテナ内のアプリケーションからログを収集できます。
ログモニタリングの活性化
ホーム画面 > プロジェクト選択 > ログ > ログ設定
ログモニタリングを開始するセクションのログモニタリングを有効にするタブのトグルボタンで、WhaTapログモニタリングの有効または無効にできます。
- トグルボタンをオンにすると、ログモニタリンが有効になります。アクティブ化した日から15日間無料でお試し頂けます。
- トグル ボタンをオフにするとログモニタリンが無効になります。ログは保存されなくなります。
権限
エージェントのインストール後、プロジェクトに修正権限がある場合にのみログモニタリングを有効化することができます。 権限の詳細については、次の文書を参照してください。
Kubernetesログモニタリングのカテゴリガイド
Kubernetesに関する各種ログを確認できます。WhaTap Kubernetesが提供するモニタリングカテゴリは次のとおりです。設定によって重複したログ内容が保存される場合がありますので、必ず重複がないかを確認してください。
カテゴリ | 説明 |
---|---|
#K8sEvent |
|
#WhatapEvent |
|
containerStdout |
|
AppLog |
|
containerStdOutログフィルターの設定
ホーム画面 > プロジェクト選択 > 管理 > エージェント設定
Kubernetesログで必要な情報を選別するためのフィルタリングオプションを案内します。 フィルタリングにより、許可または除外するログを設定できます。 エージェント設定メニューでオプション作成方式で直接入力を選択します。
ログネーミングのルール
Kubernetes containerStdOutログはノードの*/var/log/containers/*パスの下位に生成されます。 次のようなネーミングルールに従っています。
<podName>_<namespace>_<containerName>-<containerId>.log
ログフィルターオプション
-
log_filter_enabled bool
既定値
false
ログフィルターの使用有無を設定します。
-
log_filter_allow_list list
許可するログの一覧を設定します。 フィルタリングの適用時に含める項目を意味します。
-
log_filter_deny_list list
除外するログの一覧を設定します。 フィルタリングの適用時に除外する項目を意味します。
ログフィルター動作
log_filter_enabled
オプションが有効になっている場合にのみ、ログフィルターが動作します。 該当オプションの値がtrue
に設定された状態で、log_filter_allow_list
およびlog_filter_deny_list
を通じてログを選択的に収集できます。
ログフィルターはブラックリストベースで動作します。 例えば、log_filter_enabled
活性化した後log_filter_allow_list
オプションに追加する項目を設定しない場合、デフォルトではすべてのコンテナーのログ収集がブロックされます。
また、ログフィルターはallowルールよりdenyルールの優先順位が高いです。 同一の項目がallowとdenyの両方に設定されている場合、denyルールが優先的に適用され、そのログは収集されません。
ログフィルターの例
単一ネームスペースログの収集
- 許容 log_filter_allow_list
*_infra_*
infra
ネームスペースに存在するすべてのコンテナが収集対象として特定されます。
マルチネームスペースログの収集
- 許容 log_filter_allow_list
*_infra_*、*_monitoring_*
infra
、monitoring
ネームスペースに存在するすべてのコンテナが収集対象として特定されます。
特定の単語を含むPodを除く
-
許容 log_filter_allow_list
*_*_*
-
除外 log_filter_deny_list
*prod*_*_*
すべてのコンテナが収集対象として特定されますが、podName
にprod
が含まれているログは除外されます。
特定の単語を含むPodログの収集
- 許容 log_filter_allow_list
*prod*_*_*
podName
にprod
が含まれるPodのログのみが収集されます。
マルチネームスペースログの収集と特定の単語を含むPodを除く
-
許容 log_filter_allow_list
*_infra_*、*_monitoring_*
-
除外 log_filter_deny_list
*prod*_*_*
infra
、monitoring
ネームスペースのログが収集され、podName
にprod
が含まれているログは除外されます。
コンテナ名内の特定の単語で始まるコンテナログを除外
- 許容 log_filter_allow_list
*_*_db-*
すべてのネームスペースでcontainerName
がdb
で始まるコンテナのログは除外されます。