NetFlow
NetFlow コレクターを使用すると、NetFlow が有効になっているデバイスを視覚化して監視し、ログを Guance に収集して、さまざまな NetFlow 異常の監視と分析に役立てることができます。
NetFlow とは¶
NetFlow は、トラフィック統計の最も広く使用されている標準であり、インターフェイスに出入りするすべてのトラフィックを監視および記録するために Cisco によって開発されました。 NetFlow は、収集したトラフィック データを分析してフローとフロー レートを可視化し、トラフィックがどこから来て、どこへ行くか、そしてどのようなトラフィックがその時点で生成されているかを追跡します。ログに記録された情報は、使用状況の監視、異常検出、その他のさまざまなネットワーク管理タスクに使用できます。
現在、DataKit は次のプロトコルをサポートしています。
- netflow5
- netflow9
- sflow5
- ipfix
設定¶
前提条件¶
- NetFlow をサポートし、NetFlow が有効になっているデバイス。それぞれの機器により開封方法が異なります。公式ドキュメントを参照することをお勧めします。例: Cisco ASA で NetFlow をオンにする
DataKit インストール ディレクトリの下の conf.d/samples ディレクトリに入り、netflow.conf.sample をコピーして、netflow.conf という名前を付けます。例は次のとおりです。
[[inputs.netflow]]
source = "netflow"
namespace = "namespace"
#[[inputs.netflow.listeners]]
# flow_type = "netflow9"
# port = 2055
[[inputs.netflow.listeners]]
flow_type = "netflow5"
port = 2056
#[[inputs.netflow.listeners]]
# flow_type = "ipfix"
# port = 4739
#[[inputs.netflow.listeners]]
# flow_type = "sflow5"
# port = 6343
[inputs.netflow.tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
設定後は、DataKitを再起動します だけです。
現在、コレクタは コレクター設定を挿入するための ConfigMap メソッド を通じてオンにできます。
ログ¶
ログの例を次に示します。
{
"flush_timestamp":1692077978547,
"type":"netflow5",
"sampling_rate":0,
"direction":"ingress",
"start":1692077976,
"end":1692077976,
"bytes":668,
"packets":1588,
"ether_type":"IPv4",
"ip_protocol":"TCP",
"device":{
"namespace":"namespace"
},
"exporter":{
"ip":"10.200.14.142"
},
"source":{
"ip":"130.240.103.204",
"port":"4627",
"mac":"00:00:00:00:00:00",
"mask":"130.240.96.0/20"
},
"destination":{
"ip":"152.222.36.168",
"port":"424",
"mac":"00:00:00:00:00:00",
"mask":"152.0.0.0/8"
},
"ingress":{
"interface":{
"index":0
}
},
"egress":{
"interface":{
"index":0
}
},
"host":"MacBook-Air-2.local",
"next_hop":{
"ip":"20.104.52.139"
}
}
説明は次のとおりです。
- ルート/NetFlow ノード
| フィールド | 説明 |
|---|---|
| flush_timestamp | 報告時間 |
| type | 合意 |
| sampling_rate | サンプリング周波数 |
| direction | 方向 |
| start | 開始時間 |
| end | 終了時間 |
| bytes | 転送されたバイト数 |
| packets | 送信パケット数 |
| ether_type | イーサネットの種類(IPv4/IPv6) |
| ip_protocol | IPプロトコル(TCP/UDP) |
| device | デバイス情報ノード |
| exporter | エクスポーター情報ノード |
| source | フローsource情報ノード |
| destination | フロー宛先情報ノード |
| ingress | Ingress ゲートウェイ情報ノード |
| egress | 出口ゲートウェイ情報ノード |
| host | コレクターのホスト名 |
| tcp_flags | TCPマーク |
| next_hop | Next_Hop 属性情報ノード |
deviceノード
| フィールド | 説明 |
|---|---|
| namespace | 名前空間 |
exporterノード
| フィールド | 説明 |
|---|---|
| ip | 輸出者のIP |
sourceノード
| フィールド | 説明 |
|---|---|
| ip | 送信元IPアドレス |
| port | 送信元ポート |
| mac | 送信元MACアドレス |
| mask | 送信元ネットワークマスク |
destinationノード
| フィールド | 説明 |
|---|---|
| ip | 宛先のIPアドレス |
| port | 宛先ポート |
| mac | 宛先MACアドレス |
| mask | 宛先IPネットマスク |
ingressノード
| フィールド | 説明 |
|---|---|
| interface | ネットワークポート番号 |
egressノード
| フィールド | 説明 |
|---|---|
| interface | ネットワークポート番号 |
next_hopノード
| フィールド | 説明 |
|---|---|
| ip | Next_Hop 属性の宛先へのネクストホップ IP アドレス |
メトリクスセット¶
次のすべてのデータ収集では、デフォルトで host という名前のグローバル タグが追加されます (タグの値は DataKit のホスト名です)。構成内の [inputs.netflow.tags] を通じて他のタグを指定することもできます。
Info
Netflow によって収集されたデータは、ログ クラス (L) データに保存されます。
netflow¶
NetFlow log records built from decoded flow payloads.
| Tags & Fields | Description |
|---|---|
| host ( tag) |
Hostname. |
| ip ( tag) |
Collector IP address. |
| bytes | Number of bytes observed for this flow. Type: int | (gauge) Unit: digital,B |
| dest_ip | Flow destination IP address. Type: string | (string) Unit: N/A |
| dest_port | Flow destination port. Type: string | (string) Unit: N/A |
| device_ip | NetFlow exporter IP address. Type: string | (string) Unit: N/A |
| ip_protocol | Flow network protocol. Type: string | (string) Unit: N/A |
| message | Rendered NetFlow log message. Type: string | (string) Unit: N/A |
| source_ip | Flow source IP address. Type: string | (string) Unit: N/A |
| source_port | Flow source port. Type: string | (string) Unit: N/A |
| status | Normalized NetFlow log status. Type: string | (string) Unit: N/A |
| type | NetFlow record type. Type: string | (string) Unit: N/A |