• ログイン

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

ktranslate」Dockerコンテナの管理

このページでは、NewRelicのネットワーク監視で使用されるktranslateコンテナを管理するためのオプションの概要を説明します。

コンテナの要件

ktranslate コンテナイメージには、以下のリソースをお勧めします。

ディスク

  • 100MBの利用可能なディスクスペース

CPU

  • SNMPポーリング/トラップ収集。約1,000台のデバイスに対して1CPUコアを使用
  • デバイスのフロー収集。約2,000フロー/秒(fps)ごとに1CPUコアを使用
  • Syslogメッセージの収集。1秒間に約2,000件のメッセージに対して1つのCPUコアを使用

メモリ

  • ktranslate は、一般的にメモリリソースによって制約されることはありません。ホストのメモリ量は、実行する予定のアプリケーション/コンテナの種類によって決定します。一般的には、 AWS t2.micro のように、1つのvCPUと1.0GBの利用可能なRAMを持つ小さなイメージサイズで成功しています。

ヒント

ktranslateコンテナイメージは、一度に1つの「ジョブタイプ」を実行します。たとえば、SNMPポーリングおよびトラップ収集用にデプロイされたコンテナは、フロー収集には使用されません。さらに、フロー収集用にデプロイされるコンテナーは、コンテナーごとに1つの-nf.sourceタイプに制限されます。これは、常に複数のコンテナを単一のDockerホストにデプロイするのが一般的であることを意味します。また、共通の構成ファイルを共有することもできますが、共有する必要はありません。

コンテナの更新

ktranslate コンテナ・イメージを最新に保つことは、最新のアップデートを受信し、開発ライフサイクル中に適用された様々なバグフィックスによって一般的な問題を解決するための良い習慣です。コンテナを再デプロイする際には、常に最新のイメージを使用することをお勧めします。

  1. 以下のいずれかを実行して、利用可能な最新のコンテナイメージを引き出します。

    • Docker Hub

      bash
      $
      docker pull kentik/ktranslate:v2
    • Quay.io

      bash
      $
      docker pull quay.io/kentik/ktranslate:v2
  2. 既存のコンテナのIDと名前を収集します。

    bash
    $
    docker ps -a --filter ancestor=kentik/ktranslate:v2 --format "{{.ID}} - {{.Names}}"

    出力例。

    3297b134a352 - ktranslate-snmp
    4962a854b386 - ktranslate-sflow
  3. 既存の容器の撤去

    bash
    $
    docker rm -f $CONTAINER_ID
  4. ktranslate コンテナを、 SNMP, flow data, syslog collection のいずれかからデプロイした元の設定を使用して再デプロイします。

重要

ktranslateが使用する構成ファイルは、実行時にコンテナーに適用されます。このファイルを変更するには、統合された検出ジョブを使用する場合を除いて、実行中のコンテナーを削除して再起動し、編集を適用する必要があります。

コンテナのランタイムオプション

以下は、 ktranslate コンテナイメージのDockerランタイム中に利用できる様々なオプションです。

オプション名

タイプ

必須

説明

-snmp

実行時にオプションとして渡されたDockerホストからのボリュームマウントに基づいて、Dockerコンテナ上のsnmp-base.yamlファイルへのパスを設定します。

-nr_account_id

ktranslateがデータを送信するNewRelicアカウントID。

-log_level

ktranslateのデフォルトの情報ログレベルを上書きします。使用可能なオプションは、 debuginfowarn 、またはerrorです。

-snmp_discovery

コンテナーをSNMP検出モードでセットアップして、単一の検出ジョブを実行し、提供されたYAML構成ファイルを更新して、終了するために使用されます。

-snmp_discovery_min

一定の間隔で実行するようにスケジュールされたSNMPポーリングコンテナ内に統合された検出ジョブを設定するために使用されます。この設定により、検出ジョブが実行され、提供されたYAML構成ファイルが更新され、SNMPポーリングコンテナーでSNMP収集スレッドが再起動され、検出されたデバイスのコンテナー全体を破棄/再起動する必要がなくなります。

-snmp_discovery_on_start

設定されている-snmp_discovery_minフラグと組み合わせると、ktranslateは、 -snmp_discovery_minで定義されているX分ごとに加えて、コンテナの開始時に検出ジョブをすぐに実行します。 -snmp_discovery_minが設定されていない場合、このフラグは効果がありません。

-snmp_poll_now

オンデマンドでターゲットデバイスをポーリングするようにコンテナを設定するために使用します。

-tee_logs

DockerログをktranslateからNewRelicLogsに転送します。

-metrics=jchf

ktranslateからNewRelicにヘルスメトリックを転送します。

-service_name

Dockerログのコンテナ名に追加され、NewRelicLogのさまざまなコンテナからログを分離できるようになります。

-nr_region

ktranslateのリージョナルAPIエンドポイントを設定して、テレメトリをNewRelicに転送します。オプションは、 USEU 、およびGOV (FedRAMP)です。

-max_threads

大量のデータを処理できます。送信されるネットワークフローデータの毎秒2,000フロー(fps)ごと、監視対象のSNMPデバイス1,000ごと、またはコンテナによって収集される毎秒2,000のsyslogメッセージごとに1つのCPUコアを使用することをお勧めします。デフォルトは1です。

-sample_rate

フローがNewRelicイベントに渡されるデフォルトのサンプルレート値を変更します。これにより、デバイスのフローサンプルレートのローカル構成が高速化されることはありませんが、速度が低下する可能性があります。これを1に設定すると、コンテナに送信されたすべてのフローをキャプチャできるようになります。デフォルトは1000です。

-nf.workers

ネットワークパケットの処理に使用されるワーカーの数を上書きします。送信されるネットワークフローデータの毎秒4,000フロー(fps)ごとに1つのワーカーを使用します。デフォルトは1です。

-nf.port

着信フローパケットのリスニングポートを上書きします。デフォルトは9995です。

-nf.source

✓ (フロー容器の場合)

このコンテナが処理するフローのタイプを設定します。オプションは、 ipfixnetflow5netflow9 、およびsflowです。

-application_map

ランタイム中にオプションとして渡されたDockerホストからのボリュームマウントに基づいて、Dockerコンテナ上の アプリケーションマップ ファイルへのパスを設定します。

-dns

IPアドレスのDNS解決中に使用するktranslateIP:Portを設定します。これを設定すると、 dst_host }フィールドとsrc_hostフィールドの結果に影響します。

nr1.flow

議論

✓ (フロー容器の場合)

この引数は、次のフラグを静的に設定します: compression: gzipsink: new_relicformat: new_relicmax_before_sample: 100flow_only:true

nr1.snmp

議論

✓ (SNMPコンテナの場合)

この引数は、次のオプションを静的に設定します: compression: gzipsink: new_relicformat: new_relic_metricmax_flows_per_message: 100

nr1.syslog

議論

✓ (syslogコンテナの場合)

この引数は、次のフラグを静的に設定します: compression: gzipsink: new_relicformat: new_relic_metricsyslog:"0.0.0.0:5143"

NEW_RELIC_API_KEY

環境変数

ktranslateがNewRelicAPIにデータを送信するためのNewRelicライセンスキーを保持するためにDockerランタイム中に使用する必要がある環境変数。例: -e NEW_RELIC_API_KEY=$LICENSE_KEY

HTTPS_PROXY

環境変数

Dockerランタイム中にktranslateをセットアップして、プロキシ経由でNewRelicにデータを送信するために使用できる環境変数。例: -e HTTPS_PROXY=https://user:password@hostname:port

AWS_ACCESS_KEY_ID

環境変数

ktranslateの SNMPv3構成でAWS Secrets Managerを使用するように設定するために、Dockerのランタイム中に使用できる環境変数です。ユーザーを認証するためのクレデンシャルの一部として使用されるAWSアクセスキーを指定します。

AWS_SECRET_ACCESS_KEY

環境変数

ktranslateの SNMPv3構成にAWS Secrets Managerを使用するように設定するために、Dockerランタイム中に使用できる環境変数です。ユーザーを認証するためのクレデンシャルの一部として使用されるAWSシークレットキーを指定します。

AWS_DEFAULT_REGION

環境変数

ktranslateの AWS Secrets Managerを使用するためのSNMPv3構成をセットアップするために、Dockerのランタイム中に使用できる環境変数です。このプロファイルを使用してリクエストされたコマンドのリクエストを送信するAWSリージョンを指定します。

KENTIK_PING_PRIV

環境変数

Dockerランタイム中にktranslateのresponse_timeをセットアップするために使用できる環境変数|非特権モードで使用されるデフォルトのUDPパケットの代わりに、ICMPパケットに特権モードを使用するためのping_only構成。

Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.