ガイド付きインストール プロセスを使用してネットワーク フロー モニタリング エージェントをインストールすることも、エージェントを手動でインストールすることもできます。このドキュメントでは、このインストール プロセスを開始するための前提条件と、インストール オプションの段階的な説明について説明します。
前提条件
始める前に、 New Relic アカウントにサインアップする必要があります。エージェントを手動でインストールすることを選択した場合は、以下も必要です。
ネットワーク フロー収集用のエージェントをデプロイするには、 dockerコンテナーを使用することをお勧めします。 使用するには、次のものが必要です:
- Linux ホストにインストールされたDocker
- コマンドライン経由で新しいコンテナを起動する機能
Podman コンテナを使用してエージェントをリリースする場合は、次のものが必要です。
- LinuxホストにインストールされたPodman
- コマンドライン経由で新しいコンテナを起動する機能
Linux を使用してエージェントをサービスとしてインストールする場合は、次のものが必要です。
対応するネットワークフローデータの種類
ネットワーク フロー モニタリングは、4 つの主要なタイプのネットワーク フロー データとその派生データをサポートします。エージェントを実行するときに、 -nf.source
オプションを使用して監視するメジャー タイプを指定できます。
ヒント
NetFlow v5
、 NetFlow v9
、 sFlow
、およびIPFIX
テンプレートのコレクションはすべて、単一エージェントで-nf.source.=auto
を使用して処理できます。これは、実行時にnr1.flow
引数を使用する場合のデフォルト設定として有効になります。
ネットワークフロータイプ | auto で有効になりますか?
| -nf.source value
|
---|
AppFlow | ✓✓ | auto | netflow5
|
アーガス | ✓✓ | auto | netflow5
|
シスコ ASA | | asa
|
Cisco NBAR | | nbar
|
cflowd | ✓✓ | auto | netflow5
|
IPFIX | ✓✓ | auto | ipfix
|
J-Flow | ✓✓ | auto | netflow5
|
NetFlow v5 | ✓✓ | auto | netflow5
|
NetFlow v9 | ✓✓ | auto | netflow9
|
ネットストリーム | ✓✓ | auto | netflow5
|
パロアルトネットワークス | | pan
|
RFロー | ✓✓ | auto | netflow5
|
sFlow | ✓✓ | auto | sflow
|
ネットワーク フロー収集をいつスケールする必要がありますか?
大規模なネットワーク フローを収集するための戦略を計画するときは、次の項目を考慮する必要があります。
ktranslate
エージェントは一度に 1 つのジョブのみを実行できます。SNMP 収集を実行しているエージェントは、ネットワーク フローをリッスンすることもできません。ktranslate
エージェントは、一度に 1 つのリスニング ポートでのみ受信ネットワーク フローをリッスンできます (デフォルト: 9995
)。複数のポートを開く必要がある場合は、それぞれに専用のエージェントが必要で、実行時に-nf.port構成オプションを使用してポートを変更します。- デフォルトの
-nf.source=auto
構成では、コンテナが複数の標準フロー タイプをリッスンできます。Cisco ASA、Cisco NBAR、パロ アルト ネットワーク テンプレートなどの他のタイプのフロー データを解析する必要がある場合は、それぞれ独自のエージェントが必要になります。 - New Relic では、1 秒あたり 2000 フロー (1 分あたり 120,000 フロー) ごとに 1 CPU を推奨します。複数のエージェントを水平方向に拡張して負荷を分散するか、少数のより大きなエージェントを垂直方向に拡張して管理を統合するかは、個人の好みの問題です。
ネットワークフローデータ監視の設定
ほとんどのユースケースでは、ネットワーク フロー データの監視をセットアップするためのガイド付きインストールをお勧めします。セットアップがカスタム構成でより高度な場合は、手動でインストールすることをお勧めします。
ネットワーク フロー エージェントの手動インストールについて読む前に、エラーを避けるためにガイド付きインストール プロセスの使用を検討してください。
Dockerがインストールされている Linux ホストで、次のいずれかを実行して ktranslate イメージをダウンロードします。
Dockerハブ:
$docker pull kentik/ktranslate:v2
Quay.io :
$docker pull quay.io/kentik/ktranslate:v2
snmp-base.yaml
ファイルをdockerユーザーのローカル $HOME
ディレクトリにコピーし、次のコマンドを実行して コンテナーを破棄します。
$id=$(docker create kentik/ktranslate:v2)
$docker cp $id:/etc/ktranslate/snmp-base.yaml .
snmp-base.yaml
ファイルを編集し、次の構造を持つdevices
辞書キー内にネットワーク フロー デバイスを追加します。
device_name: flow_device1
重要
ネットワーク フローも送信する SNMP データ デバイスをすでに監視している場合は、フロー テレメトリが New Relic 内の適切なエンティティに関連付けられるように、両方の設定ファイルでdevice_name
の値が同一であることを確認する必要があります。 UI。
次のコマンドでktranslate
を実行し、ネットワーク フローをリッスンします。
$docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always --net=host \
>-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
>-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
> -snmp /snmp-base.yaml \
> -nr_account_id=$YOUR_NR_ACCOUNT_ID \
> -service_name=$CONTAINER_SERVICE \
New Relic UI でネットワーク フロー データを調査します。
Podman がインストールされているホストで、次のコマンドを実行してktranslateイメージをダウンロードします。
Dockerハブ:
$podman pull docker.io/kentik/ktranslate:v2
snmp-base.yaml
ファイルを Podman ユーザーのローカル$HOME
ディレクトリにコピーし、次のコマンドを実行してコンテナを破棄します。
$id=$(podman create kentik/ktranslate:v2)
$podman cp $id:/etc/ktranslate/snmp-base.yaml .
snmp-base.yaml
ファイルを編集し、次の構造を持つdevices
辞書キー内にネットワーク フロー デバイスを追加します。
device_name: flow_device1
重要
ネットワーク フローも送信する SNMP データ デバイスをすでに監視している場合は、フロー テレメトリが New Relic 内の適切なエンティティに関連付けられるように、両方の設定ファイルでdevice_name
の値が同一であることを確認する必要があります。 UI。
次のコマンドでktranslate
を実行し、ネットワーク フローをリッスンします。
$podman run -d --name ktranslate-$CONTAINER_SERVICE --userns=keep-id --restart unless-stopped --pull=always --net=host \
>-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
>-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
> -snmp /snmp-base.yaml \
> -nr_account_id=$YOUR_NR_ACCOUNT_ID \
> -service_name=$CONTAINER_SERVICE \
ヒント
ルートレス Podman コンテナーは 1024 未満のポートにバインドできません。 ネットワーク フローがデフォルト (9995) ではなく 1024 未満のポートで送信される場合は、次のコマンドを使用してパケット リダイレクトを処理するiptables
ルールを作成する必要があります。
$sudo iptables -t nat -A PREROUTING -p udp --dport $srcPort -j REDIRECT --to-port 9995
New Relic UI でネットワーク フロー データを調査します。
- パッケージマネージャーに応じて、以下のいずれかのコマンドを使用してインストールします。
ktranslate
Yum:
$curl -s https://packagecloud.io/install/repositories/kentik/ktranslate/script.rpm.sh | sudo bash && \
> sudo yum install ktranslate
Apt:
$curl -s https://packagecloud.io/install/repositories/kentik/ktranslate/script.deb.sh | sudo bash && \
> sudo apt-get install ktranslate
ktranslate
で使用される環境変数を定義します:
$sudo tee "/etc/default/ktranslate.env" > /dev/null <<'EOF'
$NR_ACCOUNT_ID=$YOUR_NR_ACCOUNT_ID
$NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY
$KT_FLAGS="-snmp /etc/ktranslate/snmp-base.yaml \
> -service_name=$CONTAINER_SERVICE \
$sudo chown ktranslate:ktranslate /etc/default/ktranslate.env
既存のsnmp-base.yaml
設定ファイルがない場合は、次のように作成します。
snmp-base.yaml
ファイルを編集し、次の構造を持つdevices
辞書キー内にネットワーク フロー デバイスを追加します。
device_name: flow_device1
snmp-base.yaml
ファイルに変更を適用するには、 ktranslate
サービスを再起動します。
$sudo systemctl restart ktranslate
New Relic UI でネットワーク フロー データを調査します。
指標を見つけて使用する
ktranslate
コンテナからエクスポートされたすべてのネットワークフローログは、 New RelicEventAPIを介してKFlow
名前空間を使用します。現在、これらはこの統合から入力されるデフォルトのフィールドです。
属性 | タイプ | 説明 |
---|
application
| 弦 | このフローレコードでトラフィックを生成するプログラムのクラス。これは、 l4_dst_port とl4_src_port の最小の数値から導き出されます。一般的な例には、 http 、 ssh 、およびftp が含まれます。 |
device_name
| 弦 | このフローレコードのサンプリングデバイスの表示名。 |
dst_addr
| 弦 | このフローレコードのターゲットIPアドレス。 |
dst_as
| 数値 | ターゲットの[自律システム番号]( https://www.iana.org/assignments/as-numbers/as-numbers.xhtml)このフロー記録については。 |
dst_as_name
| 弦 | ターゲットの[自律システム名]( https://www.iana.org/assignments/as-numbers/as-numbers.xhtml)このフロー記録については。 |
dst_endpoint
| 弦 | このフローレコードのターゲットIP:Port タプル。これは、 dst_addr とl4_dst_port の組み合わせです。 |
dst_geo
| 弦 | わかっている場合は、このフローレコードのターゲット国。 |
in_bytes
| 数値 | 入力フローレコードのために転送されたバイト数。 |
in_pkts
| 数値 | 入力フローレコードのために転送されたパケットの数。 |
input_port
| 数値 | If_Index このフローレコードのソースにあるインターフェイスの値。
|
l4_dst_port
| 数値 | このフローレコードのターゲットポート。 |
l4_src_port
| 数値 | このフローレコードの送信元ポート。 |
output_port
| 数値 | If_Index このフローレコードの宛先にあるインターフェイスの値。
|
protocol
| 弦 | このフロー レコードで使用されるプロトコルの表示名。[IANA プロトコル番号の数値]( https://www.iana.org/assignments/ ) から派生します。プロトコル番号/プロトコル番号.xhtml)。 |
provider
| 弦 | この属性は、 ktranslate からのさまざまなデータソースを一意に識別するために使用されます。ネットワークフローログの値は常にkentik-flow-device になります。 |
sample_rate
| 数値 | サンプリングデバイス構成、またはktranslate のsample_rate 引数のいずれかによって適用されるサンプリングレート。 |
src_addr
| 弦 | このフローレコードのソースIPアドレスです。 |
src_as
| 数値 | ソース [自律システム番号]( https://www.iana.org/assignments/as-numbers/as-numbers.xhtml)このフロー記録については。 |
src_as_name
| 弦 | ソース [自律システム名]( https://www.iana.org/assignments/as-numbers/as-numbers.xhtml)このフロー記録については。 |
src_endpoint
| 弦 | このフローレコードのソースIP:Port タプル。 src_addr とl4_src_port の組み合わせです。 |
src_geo
| 弦 | わかっている場合は、このフローレコードのソース国。 |
tcp_flags
| 数値 | このフローレコードのTCPフラグ。 |
timestamp
| 数値 | このフローレコードがNewRelicEventAPIによって受信された時刻(Unix秒単位)。 |
このドキュメントはインストールの役に立ちましたか?
次は何ですか?
ネットワーク フロー データを補完するために、いくつかの追加エージェントをセットアップできます。