Docker のモニタリング
Instana Docker のコンテナを自動的に検出して監視し、メタデータ(ラベル)、メトリクス、および検出された各コンテナ内で実行されているサポート対象のテクノロジーに関するリアルタイムの情報を提供します。
詳細については、 「対応技術」 をご覧ください。
各コンテナーの正常性をモニタリングし、問題のアラートを受信するとともに、サービス・ディスカバリー を有効にして、すべてのコンテナー情報を活用することもできます。
サポート情報
Docker センサーが現在の環境と互換性があるかどうかを確認するには、以下のサポート情報セクションをご確認ください:
対応バージョンとサポート方針
このセンサーは、以下のバージョンの Docker に対応しています:
- Docker 23.0
- Docker 25.0
- Docker 26.x
- Docker 27.x
以下の表は、最新のサポート対象バージョンとサポート方針を示しています:
| テクノロジー | サポート・ポリシー | 最新技術バージョン | サポートされる最新バージョン |
|---|---|---|---|
| Docker | 45 日間 | 29.6.0 | 29.5.0 |
サポートポリシーに関する詳細については、 「センサーのサポート戦略」 を参照してください。
インストール
インストール手順の詳細については、Docker へのエージェントのインストールを参照してください。
メトリック収集
メトリクスを表示するには、 Instana のユーザーインターフェースのサイドバーで 「Infrastructure」 を選択し、監視対象の特定のホストをクリックします。すると、収集されたすべてのメトリクスと監視対象のプロセスが表示されたホストダッシュボードが表示されます。
デフォルトでは、Docker メトリックは 10 秒ごとに収集されます。 この間隔は、エージェント構成ファイル <agent_install_dir>/etc/instana/configuration.yml内で構成できます。
com.instana.plugin.docker:
stats: true
interval: 10
コンテナのCPUおよびメモリ使用状況の概要を確認するには、インフラストラクチャマップで 「メトリクス概要 」オプションを有効にしてください。 また、ダイナミック・フォーカス 機能を使用して、コンテナーのコンテキスト内でインフラストラクチャーの一部を識別し、分離することもできます。
Docker のコンテナダッシュボードには、コンテナの設定とパフォーマンス指標が表示されます。
実行中のコンテナーの詳細情報を表示するには、コンテナー情報の取得をクリックします。 表示される情報は、 docker inspect コマンドの実行と同じです。
構成データ
| 構成 | 説明 |
|---|---|
| 画像 | Docker イメージ名。 |
| コマンド | |
| 作成日 | コンテナー作成時のタイム・スタンプ。 |
| 開始済み | コンテナー開始時のタイム・スタンプ。 |
| ID | コンテナー ID。 |
| 名称 | コンテナー名。 |
| ネットワーク・モード | コンテナーに構成されているネットワーク設定。 |
| ストレージ・ドライバー | 構成されているストレージ・ドライバー。 |
| Docker バージョン | 使用されている Docker のバージョン。 |
| コンテナ・ラベル | コンテナーに適用されているラベル。 |
| ポート |
パフォーマンス・メトリック
Docker Engine API を使用して、パフォーマンス・メトリックは /containers/{id}/stats エンドポイントから返されます。
CPU 合計 %
CPU 使用率の合計。 測定された現行の KPI 値が表示されます。
データ・ポイント: 値は、cpu_stats オブジェクトで返される total_usage キーから収集されます。
メモリー使用率
合計メモリー使用率 (パーセンテージ)。 測定された現行の KPI 値が表示されます。
データ・ポイント: 値は、memory_stats オブジェクトで返される usage および limit の各キーの商として計算されます。
CPU
選択された期間にわたる合計、カーネル、およびユーザーのメトリックが、[0、100]% の範囲の正規化された値とともにグラフに表示されます。
データ・ポイント: 値は、cpu_stats オブジェクトで返される total_usage、usage_in_kernalmode、および usage_in_usermode の各キーから収集されます。
選択された期間にわたるスロットルのカウントと時間の値がグラフに表示されます。
データ・ポイント: 値は、cpu_stats オブジェクトで返される periods および throttling_time の各キーから収集されます。
メモリー
選択された期間にわたる使用率、RSS、およびキャッシュのメトリックとメモリー使用率がグラフに表示されます。
データ・ポイント: 値は、memory_stats オブジェクトで返される usage、total_rss、および total_cache の各キーから収集されます。 メモリー使用率は、パーセンテージで表示される派生メトリックです。
選択された期間にわたるアクティブな匿名、アクティブなキャッシュ、非アクティブな匿名、および非アクティブなキャッシュのメトリックがグラフに表示されます。
データ・ポイント: 値は、memory_stats オブジェクトで返される active_anon、active_file、inactive_anon、および inactive_file の各キーから収集されます。
ブロック I/O
選択された期間にわたる読み取りおよび書き込みの値がグラフに表示されます。
データ・ポイント: 値は、blkio_stats オブジェクトで返される blkio.io_service_bytes キーから収集されます。
ネットワーク
選択された期間にわたるネットワークの RX (受信) と TX (送信) のバイト、エラー、パケット、およびドロップのメトリックがグラフに表示されます。
データ・ポイント: すべての値は、network オブジェクトで返される rx_dropped、rx_bytes、rx_errors、rx_packets、tx_dropped、tx_bytes、tx_errors、および tx_packets の各キーから収集されます。
特定の Docker ランタイム・メトリックの詳細については、Docker 資料を参照してください。
正常性シグニチャー
センサーごとに、着信メトリックに対して継続的に評価され、ユーザーへの影響に応じて問題またはインシデントを提起するために使用される正常性シグニチャーのキュレーション済み知識ベースがあります。
組み込みイベントは、エンティティのヘルスシグネチャの異常に基づいて課題やインシデントをトリガーし、 カスタムイベントは、任意のエンティティの個々のメトリクスのしきい値に基づいて課題やインシデントをトリガーします。
Docker センサーの組み込みイベントに関する情報については、組み込みイベントのリファレンスを参照してください。
Docker ログセンサーの設定
デフォルトでは、 Docker センサーではログの収集が無効になっています。 ログ記録を有効にするには、 Docker ログセンサーを設定する必要があります。 ただし、 Docker のログセンサーにはいくつかの制限があります。 詳細については、 「 Docker ログセンサーの制限事項」 を参照してください。
Docker のログ収集を有効にする
ログの収集を有効にするには、以下の手順を実行してください:
Instana ライセンスのアドオンを入手してください。 ライセンスを確認するには、先に 「ライセンスおよび利用権の要件」 をご覧ください。
次の例に示すように、 エージェント設定ファイルで Docker ログセンサーを設定し、ログの収集を有効にしてください:
com.instana.plugin.docker: logs: enabled: true次の例は、利用可能な設定オプションとそのデフォルト値を示しています:
com.instana.plugin.docker: logs: enabled: true unixSocket: "/var/run/docker.sock" maxBufferSize: 16777216 minBatchSize: 1024 minBatchWithholdCount: 2 sendInterval: 1 socketTimeout: 600 maxLineLength: 16384次の表に、設定オプションとその説明を示します:
構成オプション 説明 デフォルト値 unixSocketDocker デーモンのソケットへのパス。 "/var/run/docker.sock"maxBufferSize内部バッファの最大サイズ(バイト単位)。 これは、読み取り中にセンサー内部のメモリに保存できるログメッセージデータの量を制御します。 16777216minBatchSizeサーバーに送信されるメッセージバッチの最小サイズ(文字数)。 メッセージのバッチは、少なくともこのサイズに達するまで送信されません(再送信回数の制限まで minBatchWithholdCount)。1024minBatchWithholdCountバッチが小さすぎるという理由で保留される回数の上限(その後、そのバッチは送信される)。 ログのバッチサイズが minBatchSize, より小さい場合、そのログはすぐには送信されません。 たとえデータ量が minBatchSize, 未満であっても、試行回数がこの値を超えると、最終的にはデータが送信されます。 2sendIntervalログバッチの送信試行間隔(秒単位)。 1socketTimeoutタイムアウトになるまでのソケット接続確立にかかる時間(秒単位)。 600maxLineLengthログ内の1行あたりの最大文字数。 この長さは文字単位で測定されるため、実際に使用されるバイト数はエンコーディングによって異なります。 16384
ログの収集を有効にすると、 Instana のUIでログを確認できるようになります。 詳細については、 「 Docker のログの確認」 を参照してください。
Docker のログ収集を無効にする
Docker のログ記録を再度無効にするには、次のいずれかの方法を使用してください:
エージェントの設定ファイルで、フラグ
enabledfalseを に設定してください:com.instana.plugin.docker: logs: enabled: falseエージェントの設定ファイルからその
logsセクションを削除してください。
重複ログの回避
エージェントの AutoTracing 関数は、コンテナ内のアプリケーションからトレースログを自動的に収集するため、トレースログと Docker ログの両方を有効にすると、ログが重複してしまいます。 この問題を回避するには、どちらか一方のみを有効にしてください。
アプリケーショントレースログには、アプリケーショントレースと関連付けられるという利点がありますが、 Docker のログにはその利点がありません。 しかし、アプリケーショントレースは および WARNING レベルの ERROR ログのみを収集するのに対し、 Docker ログセンサーは、すべてのレベルのログを含め、ログ出力ストリーム全体を収集します。
Docker のログを表示する
Docker のログを確認するには、以下の手順を実行してください:
- Instana のUIにあるナビゲーションメニューから、 「ログ」 をクリックします。
- 「ログの分析」 をクリックします。
- 「Analytics ログ」ダッシュボードの 「フィルター 」フィールドに、 Docker コンテナフィルターを追加します。
Docker ログセンサーによって収集されたすべてのログを確認できます。
Streams
Docker のログセンサーは、 Dockerstdoutstderr コンテナからストリームとを収集します。
Docker のログセンサーの制限事項
Docker ログセンサーには、以下の制限があります:
- コンテナのログを収集するには、 Docker デーモンが実行されている必要があります。
- Docker のログセンサーは、コンテナ技術としてContainerdを使用している Docker 環境からのログを収集しません。 これらのコンテナを監視するには、 Containerd センサー を使用してください。