NetFlow設定ファイル生成ツール
New RelicのktranslateでNetFlowデータを収集するための設定ファイルを生成します。
NetFlowデバイス設定
NetFlowを送信するデバイスの識別情報を設定します。デバイス名でフローデータを識別したい場合に使用します。
デバイス名 | device_name | device_ip | description | user_tags | 操作 |
---|---|---|---|---|---|
デバイス1 |
|
||||
デバイス2 |
|
📋 パラメータ設定について
device_name 任意
NetFlowデータに表示されるデバイスの識別名です。英数字、アンダースコア(_)、ハイフン(-)のみ使用可能。
例: edge-router, core-switch-01
device_ip 任意
NetFlowを送信するデバイスのIPアドレスです。フローデータの送信元を識別するために使用します。
例: 10.10.1.254, 192.168.1.1
description 任意
デバイスの説明や用途を記載します。管理しやすくするための情報です。
例: エッジルーター, コアスイッチ
user_tags 任意
デバイスに付与する追加属性です。NetFlowメトリクスに含まれ、分析やフィルタリングに使用できます。
例: environment=production, team=network
💡 NetFlow設定のポイント
- 設定ファイルはオプション:NetFlowはデバイス設定ファイルなしでも動作し、送信元IPアドレスで識別されます。
- デバイス名による識別:device_nameを設定することで、IPアドレスではなく分かりやすい名前でフローデータを識別できます。
- user_tagsは複数設定可能で、environment、team、location等の分類に使用します。
- flow_only: trueが自動的に設定され、NetFlowデータのみが処理されます。
🚀 NetFlow監視コンテナ起動手順
ktranslateでNetFlowデータを収集・監視するための手順です
📋 サポートされるフロータイプ
ktranslateでサポートされるNetFlowプロトコルの一覧です。-nf.source
パラメータで指定します。
フロータイプ | -nf.source値 | デフォルトポート | 説明 |
---|---|---|---|
Auto (推奨) | auto |
9995 | NetFlow v5/v9, sFlow, IPFIX自動検出 |
NetFlow v5 | netflow5 |
9995 | AppFlow, Argus, cflowd, J-Flow, NetStream, RFlow含む |
NetFlow v9 | netflow9 |
9995 | 標準NetFlow v9プロトコル |
sFlow | sflow |
6343 | sFlowプロトコル |
IPFIX | ipfix |
4739 | IP Flow Information Export |
Cisco ASA | asa |
9995 | Cisco ASA専用フロー |
Cisco NBAR | nbar |
9995 | Cisco NBAR専用フロー |
Palo Alto Networks | pan |
9995 | PAN専用フロー |
💡 ヒント: auto
を使用すると、単一のコンテナで複数のフロータイプを自動検出できます。特定のプロトコルのみを使用する場合は、対応する値を指定してください。
1
環境変数の設定
New Relicの認証情報を設定します
export NEW_RELIC_API_KEY="your_license_key" export NR_ACCOUNT_ID="your_account_id"
2
設定ファイルの準備(オプション)
設定管理タブで生成したYAMLファイルを保存します
# 設定ファイルを netflow-base.yaml として保存(オプション) # NetFlowは設定ファイルなしでも動作します
3
コンテナ起動
NetFlow監視コンテナを起動します
4
動作確認
コンテナの起動状態とログを確認します
コンテナ状態確認
docker ps | grep ktranslate-netflow
ログ確認
docker logs ktranslate-netflow
New Relicでの検索
# 基本的なフローデータ検索 SELECT * FROM KFlow LIMIT 100 # フロー統計の確認 SELECT count(*) as 'Flow Records', sum(in_bytes) as 'Total Bytes', sum(in_pkts) as 'Total Packets' FROM KFlow WHERE instrumentation.name = 'netflow-events' SINCE 1 hour ago # トップトーカー(送信元別) SELECT src_addr, sum(in_bytes) as 'Bytes' FROM KFlow WHERE instrumentation.name = 'netflow-events' FACET src_addr LIMIT 10 SINCE 1 hour ago
5
デバイス設定
NetFlowを送信するデバイスの設定例
Cisco IOS設定例
# NetFlow v9設定 ip flow-export version 9 ip flow-export destination <ktranslate-server-ip> 9995 ip flow-export source <source-interface> ip flow-export template timeout-rate 1 # インターフェースでNetFlowを有効化 interface <interface-name> ip flow ingress ip flow egress
Cisco Meraki設定例
# Meraki Dashboard設定 # Network-wide > General > Reporting # NetFlow reporting: Enabled # NetFlow collector IP: <ktranslate-server-ip> # NetFlow collector port: 9995
Juniper設定例 (J-Flow)
# Flow monitoring設定 set services flow-monitoring version9 template ipv4 set services flow-monitoring version9 template ipv4 flow-active-timeout 60 set services flow-monitoring version9 template ipv4 flow-inactive-timeout 10 # Export設定 set forwarding-options sampling instance sample-ins family inet output flow-server <ktranslate-server-ip> port 9995 set forwarding-options sampling instance sample-ins family inet output flow-server <ktranslate-server-ip> version9 template ipv4
Fortinet FortiGate設定例
# NetFlow設定 config system netflow set collector-ip <ktranslate-server-ip> set collector-port 9995 set source-ip <fortigate-source-ip> set active-flow-timeout 1 set inactive-flow-timeout 15 end # インターフェースでNetFlowを有効化 config system interface edit "<interface-name>" set netflow-sampler tx set netflow-sampler rx next end
Palo Alto Networks設定例
# Network > Network Profiles > NetFlow Profile # Name: netflow-profile # Template Refresh Rate: 1800 # Active Timeout: 30 # Inactive Timeout: 10 # Device > Server Profiles > NetFlow # Name: netflow-server # NetFlow Profile: netflow-profile # Server: <ktranslate-server-ip>:9995
🔧 トラブルシューティング
NetFlowデータが受信されない
ネットワークやデバイス設定の問題
- 送信元デバイスのNetFlow設定を確認
- ファイアウォールでUDP 9995が開放されているか確認
- ネットワーク経路でUDPパケットが通るか確認
- デバイスからktranslateサーバーへの疎通確認
フローレコードが不完全
テンプレートやサンプリングの問題
- NetFlowテンプレートが正しく送信されているか確認
- サンプリングレートが適切に設定されているか確認
- フローのタイムアウト設定を確認
- デバイスのNetFlowバージョンを確認
パフォーマンスの問題
大量のフローデータによる負荷
- サンプリングレートを調整して負荷を軽減
- フローのアクティブ/非アクティブタイムアウトを調整
- ktranslateコンテナのリソース制限を確認
- 複数のコレクターに負荷分散を検討