The sFlow-RT analytics engine is well suited to deployment as a Docker microservice since the application is stateless and presents network and system analytics as a RESTful service.
The following steps demonstrate how to create a containerized deployment of sFlow-RT.
First, create a directory for the project and edit the Dockerfile:
mkdir sflow-rt cd sflow-rt vi DockerfileAdd the following contents to Dockerfile:
FROM centos:centos6 RUN yum install -y java-1.7.0-openjdk RUN rpm -i http://www.inmon.com/products/sFlow-RT/sflow-rt-2.0-1072.noarch.rpm EXPOSE 8008 6343/udp CMD /etc/init.d/sflow-rt start && tail -f /dev/nullBuild the project:
docker build -t sflow-rt .Run the service:
docker run -p 8008:8008 -p 6343:6343/udp -d sflow-rtAccess the API at http://docker_host:8008/ to verify that the service is running.
Update July 22, 2016: sFlow-RT can now be run from Docker Hub, see sflow/sflow-rt for instructions.
Now configure sFlow agents to send data to the docker_host on port 6343: