本文へスキップ

Kubernetes

Kubernetesコンテナおよびコンテナ内のアプリケーションのログを収集するための設定方法を案内します。

エージェントのアップデート

Kubernetesエージェント1.1.35バージョン以降で使用可能です。アップデート方法は次の文書を参照してください。

エージェント設定の確認

ホーム画面 > プロジェクト選択 > ログ > ログ設定

  1. WhaTapモニタリングサービスの初期画面でプロジェクトを選択した後、ログ > ログ設定 メニューに移動してください。

  2. ログモニタリングを開始する タブの エージェント設定およびログモニタリングの有効化 にある 1. エージェント設定の確認 の案内を参考にして、エージェント設定を確認してください。

コンテナログ収集の有効化

Kubernetesコンテナでログを収集するには、1. エージェント設定の確認ログ設定を適用 ボタンをクリックしてください。

コンテナの内部アプリケーションログ収集の有効化

Java 2.1.1、Python 1.2.2以降のバージョンで利用可能です。Kubernetesコンテナ上で実行されるアプリケーションのログを収集するには、以下を参考にしてください。

  1. ログ > ログ設定 > ログモニタリングを開始する タブに移動してください。

  2. 1. エージェント設定の確認 の下部にある エージェント設定メニューアイコン エージェント設定 ボタンをクリックしてください。

  3. エージェント設定 で、オプション作成 のオプション選択ドロップダウンリストから 直接入力 をクリックしてください。

  4. エージェント設定コマンドのキー logsink_enabled と値 true を入力欄に入力してください。

    logsink_enabled=true 
  5. 適用ボタンを選択します。Kubernetesコンテナ内のアプリケーションからログを収集できます。

ノート
  • Javaアプリケーションのログ収集に関する詳細は、次のドキュメントを参考にしてください。

  • Pythonアプリケーションのログ収集に関する詳細は、次のドキュメントを参考にしてください。

  • Goアプリケーションのログ収集に関する詳細は、次のドキュメントを参考にしてください。

ログモニタリングの活性化

ホーム画面 > プロジェクト選択 > ログ > ログ設定

ログモニタリングを開始するセクションのログモニタリングを有効にするタブのトグルボタンで、WhaTapログモニタリングの有効または無効にできます。

  • アイコン ログモニタリングの有効化:トグルボタンをオンにするとログモニタリングが有効になり、有効化した日から15日間は無料でお試しいただけます。
  • アイコン ログモニタリングの無効化:トグルボタンをオフにするとログモニタリングが無効になり、以降ログは保存されません。
ノート

ログモニタリングの有効化権限

エージェントをインストールした後、プロジェクトに対して編集権限を持つユーザーのみがログモニタリングを有効化できます。 権限の詳細については、次のドキュメントを参照してください。

Kubernetesログモニタリングのカテゴリガイド

Kubernetesに関するさまざまなログを確認できます。WhaTap Kubernetesでは、モニタリングカテゴリを提供しています。

注意

設定によって重複したログ内容が保存される場合があるため、重複がないか必ず確認してください。

カテゴリ説明
#K8sEvent
  • Kubernetesで発生したイベントがデフォルトで保存および作成されるログ
  • ユーザー設定に関係なく基本作成
#WhatapEvent
  • WhaTapイベント設定によって発生したイベントが格納されるログ
  • ユーザー設定に関係なく、デフォルトで作成されます
containerStdout
  • コンテナ標準出力ログ
  • ユーザー設定時に作成
  • ノードエージェントにlogsink_enabled=true設定を追加したした場合
AppLog
  • コンテナ内アプリケーションログ
  • ユーザー設定時に作成
  • アプリケーションエージェントにlogsink_enabled=true設定の追加時

containerStdOutログフィルターの設定

ホーム画面 > プロジェクト選択 > 管理 > エージェント設定

Kubernetesログで必要な情報を選別するためのフィルタリングオプションを案内します。 フィルタリングにより、許可または除外するログを設定できます。

  1. 管理 > エージェント設定 に移動してください。

  2. プロジェクトデフォルト タブで、オプション作成 方式から 直接入力 をクリックしてください。

Kunernetesログフィルタの設定

ログネーミングのルール

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_*

inframonitoringネームスペースに存在するすべてのコンテナが収集対象として特定されます。

特定の単語を含むPodを除く

  • 許容 log_filter_allow_list *_*_*

  • 除外 log_filter_deny_list *prod*_*_*

すべてのコンテナが収集対象として特定されますが、podNameprodが含まれているログは除外されます。

特定の単語を含むPodログの収集

  • 許容 log_filter_allow_list *prod*_*_*

podNameprodが含まれるPodのログのみが収集されます。

マルチネームスペースログの収集と特定の単語を含むPodを除く

  • 許容 log_filter_allow_list *_infra_*、*_monitoring_*

  • 除外 log_filter_deny_list *prod*_*_*

inframonitoringネームスペースのログが収集され、podNameprodが含まれているログは除外されます。

コンテナ名内の特定の単語で始まるコンテナログを除外

  • 許容 log_filter_allow_list *_*_db-*

すべてのネームスペースでcontainerNamedbで始まるコンテナのログは除外されます。