ipfixをopenvswitchで動作させるには?[閉まっている]


7

IPFix経由でOpenVswitchを監視しようとしています。しかし、私は今2日間、レンガの壁に頭をぶつけています:/

ovs-vsctlのマンページによると、config-database、より正確には「ipfix」テーブルに新しいエントリを追加する必要があります。それはかなりうまくいきました、そして私はそれを正しく理解したようです:

# ovs-vsctl list ipfix
_uuid               : 2d54982b-6cc5-4a8c-845c-cc7ef701da01
external_ids        : {}
obs_domain_id       : 123
obs_point_id        : 456
sampling            : 64
targets             : ["<collector-ip>:<port>"]

次にlibIPFIXをダウンロードして、example_collectorを起動しました。しかし、何も表示されません。情報がありません。私はwiresharkを使用してそれを確認しました...

一部のGoogleリサーチはメーリングリストから電子メールを持ち出しました。

IPFIXがコレクターに送信されるようにするOpenFlowアクション

このメールによると、新しい「サンプルアクション」がありますが、それらを追加する方法に関する詳細情報は見つかりませんでした。

私の推測では、これらのOpenFlow Sample-Actionsがありません。誰でも私にそれらを追加する方法の情報を提供できますか?

/ edit: openSUSE 13.1(x86_64)でOpenVswitchバージョン1.11.0を実行しています。

IPFixを機能させるために、次のことを試しました。

# ovs-vsctl -- set Bridge s1 ipfix=@i -- --id=@i create IPFIX targets=\"10.0.0.1:4739\" obs_domain_id=123 obs_point_id=456 sampling=64
2d54982b-6cc5-4a8c-845c-cc7ef701da01

ovs-vsctl list ipfixを実行したことを確認するには(上記を参照)

同様のコマンドがsFlowを機能させるために期待どおりに機能しました。

# ovs-vsctl -- set Bridge s1 sflow=@sflow -- --id=@sflow create sflow agent=eth0  target=\"10.0.0.1:6343\" header=128 sampling=32 polling=2
0df2b92b-8a83-4a63-acc4-fecf6f8f492f

その行を入力した直後に、サンプリング結果をターゲットコンピューターに送信しました。残念ながらIPFixでは運がありません。


1
@ChristophHaefner失敗したIPFixコマンドを渡すと、ログファイルは何と言っていますか?
Ryan Foley

1
@フィズル:ヒントを寄せてくれた100万人に感謝。以前はログファイルを検索していましたが、/ var / log / openvswitch /が空だったので次に進みました。しかし、あなたのプッシュで、私はより洗練されたものを検索して、ログファイルを見つけました:/var/log/ovs-vswitchd.log!/:wiresharkのでデバッグ中にそれを見落としている必要がある「接続が拒否されました2014-01-22T10:09:コレクタに失敗した送信| 1017630 |コレクター| | WARN 04Z」そして、実際に彼が配信しようという内容だ
クリストフHaefner

回答:


5

IPFixのセットアップに使用している表現は間違いなく正しいです。

これはあなたが持っているものです:

ovs-vsctl -- set Bridge s1 ipfix=@i -- --id=@i create IPFIX targets=\"10.0.0.1:4739\" obs_domain_id=123 obs_point_id=456 sampling=64

そして、ほとんど同じがovs-vsctl manファイルで概説されています:

IPFIX

Configure bridge br0 to send one IPFIX flow record per packet sample to UDP port 4739 on host 192.168.0.34, with Observation Domain ID 123 and Observation Point ID 456:

ovs−vsctl −− set Bridge br0 ipfix=@i −− −−id=@i create IPFIX targets=\"192.168.0.34:4739\" obs_domain_id=123 obs_point_id=456

コメントセクションのログファイルに基づきます。

2014-01-22T10:09:04Z|1017630|collectors|WARN|sending to collector failed: Connection refused

コレクター(10.0.0.1)が正しく構成されていないか、何かがコレクターへの接続を妨げていると想定するのは妥当だと思います。


あなたはあなたの仮定で100%正しいです。libipfixのexample_collector(参照実装であると想定されています)を使用しているので、私はそれについて考えたことはありません。
Christoph Haefner、2014年

4739ポートでリッスンし、画面に表示されたものをダンプする小さなプログラムをすぐに作成しました。Wiresharkで再度デバッグすると、重要なことが1つあります。エクスポーターがテンプレートを送信しない:/サンプルコレクターが取得したものを拒否する理由でもある可能性があります...
Christoph Haefner

フローの収集/分析に何を使用していますか?
ライアンフォーリー

3
あなたの提案をありがとう、私はそれを調べます。OpenVswitchがudp:4739で送信している間、libipfixのexample_collectorがtcp:4739でリッスンしています。フィルター "tcp.port == 4739"を追加していたので、wiresharkには表示されませんでした...最初に一度送信され、wiresharkを数回停止してスキャンを再開したため、テンプレートがありませんでした保存せずに。
Christoph Haefner、2014年

1
@ChristophHaefner、良い質問をありがとうございます。必要に応じて、もう一度質問することを検討してください
マイクペニントン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.