本文へスキップ

Kubernetes

Kubernetesコンテナとコンテナ内部のアプリケーションのログを収集するには、以下を確認してください。

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

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

エージェント設定の確認

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

WhaTapモニタリングサービスの初期画面でプロジェクトを選択し、プロジェクトメニューのログ > ログ設定メニューを選択します。エージェントの設定とログモニタリング活性化セクションのエージェント設定の確認タブの手順を参照してください。

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

Kubernetes ログノードエージェントのセットアップ

クバネティスコンテナからログを収集するにはエージェント設定確認タブでログ設定を適用するボタンをクリックしてください。

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

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

クバネティスログアプリケーションエージェント設定

  1. エージェント設定の確認タブの下のnumber 1 エージェント設定メニューアイコン エージェント設定ボタンを選択してください。

  2. アプリケーションエージェント設定メニューに移動し、number 2 オプション作成ウインドウで手動入力を選択してください。

  3. 次のエージェント設定コマンドで、キーlogsink_enabled`trueをnumber 3入力ウィンドウに入力してください。

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

ノート
  • Javaアプリケーションログ収集の詳細については、次の文書を参照してください。

  • Pythonアプリケーションログ収集の詳細については次の文書を参照してください。

  • Goアプリケーションログ収集の詳細については、次の文書を参照してください。

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

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

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

ログモニタリングを開始する

  • アイコントグルボタンをオンにすると、ログモニタリンが有効になります。アクティブ化した日から15日間無料でお試し頂けます。
  • アイコントグル ボタンをオフにするとログモニタリンが無効になります。ログは保存されなくなります。
ノート

権限

エージェントのインストール後、プロジェクトに修正権限がある場合にのみログモニタリングを有効化することができます。 権限の詳細については、次の文書を参照してください。

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

Kubernetesに関する各種ログを確認できます。WhaTap Kubernetesが提供するモニタリングカテゴリは次のとおりです。設定によって重複したログ内容が保存される場合がありますので、必ず重複がないかを確認してください。

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

containerStdOutログフィルターの設定

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

Kubernetesログで必要な情報を選別するためのフィルタリングオプションを案内します。 フィルタリングにより、許可または除外するログを設定できます。 エージェント設定メニューでオプション作成方式で直接入力を選択します。

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で始まるコンテナのログは除外されます。