sflowを投げるほう、いわゆるexporterのプロセスを立ち上げる、という内容。いままでよくこれを試していたけども、Cumulus Linux*1はこれを使っているようなのでVMHausのインスタンスの一つに入れてみる。
apt-get install hsflowdで入らなかったので、githubからbuild。
$ sudo apt install libnfnetlink-dev libpcap-dev libvirt-dev libxml2-dev libdbus-glib-1-dev libssl-dev $ git clone https://github.com/sflow/host-sflow.git $ cd host-sflow $ make FEATURES="HOST"
$ sudo make install PLATFORM=`uname`; \ MYVER=`./getVersion`; \ MYREL=`./getRelease`; \ cd src/$PLATFORM; make VERSION=$MYVER RELEASE=$MYREL install make[1]: Entering directory '/home/naoki86star/github.com/host-sflow/src/Linux' $FEATURES is [] from undefined $XTGTS is [] install -d /usr/sbin install -m 700 hsflowd /usr/sbin install -d /etc install -m 644 scripts/hsflowd.conf /etc install -d /lib/systemd/system install -m 644 scripts/hsflowd.service /lib/systemd/system/hsflowd.service install -d /etc/init.d install -m 755 scripts/hsflowd.deb /etc/init.d/hsflowd install -d /etc/hsflowd/modules install -m 755 *.so /etc/hsflowd/modules install -d /etc/dbus-1/system.d install -m 644 scripts/net.sflow.hsflowd.conf /etc/dbus-1/system.d make[1]: Leaving directory '/home/nao/github.com/host-sflow/src/Linux' $ $ sudo make schedule PLATFORM=`uname`; \ MYVER=`./getVersion`; \ MYREL=`./getRelease`; \ cd src/$PLATFORM; make VERSION=$MYVER RELEASE=$MYREL schedule make[1]: Entering directory '/home/nao/github.com/host-sflow/src/Linux' $FEATURES is [] from undefined $XTGTS is [] systemctl daemon-reload systemctl enable hsflowd Synchronizing state of hsflowd.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable hsflowd make[1]: Leaving directory '/home/naoki86star/github.com/host-sflow/src/Linux'
とりあえず/etc/hsflowd.confで
pcap { dev = ens3 }
とインタフェースを指定してあげて起動
件のsflowtoolで動作が確認できる。VMの上で動かす場合としてのサンプリングレートの調整がノウハウになりそう。
*1:経験なし残念な感じ