This is used to monitor NetApp cDOT and 7mode systems and push to a Graphite enabled database.
This is based on NetApp Harvest by Christopher Madden and the docker instructions by Dan Burkland, however I wanted to make the stack components independent as in true Docker fashion (one process per container right?) and use this image as part of the stack I created here.
Since the NetApp SDK and Harvest packages are not open-source, then they cannot be included here nor can the resultant docker image be stored in a public hub.
Get yourself the NetApp closed source components and place them in this directory:
The build the image:
./build.sh
Create the Harvest role and create a Harvest user per node as shown in these files: 7mode and cDOT
Add your Graphite-compatible server, Harvest user details, and filers into netapp-harvest.conf, if you are using Grafana then you can put an API key and Grafana url in as well.
The netapp-harvest.conf is loaded as an external file, so you can change the configuration and restart the image to reload the configuration change (or log onto the container interactively and restart the harvest process, comme ci comme ça).
Make sure you have done the configuration and then do, this is using docker-compose.
./run.sh
If you don't have or don't want to use docker-compose, then you can manually run the image with:
docker run -d -v $PWD/netapp-harvest.conf:/opt/netapp-harvest/netapp-harvest.conf szukalski/netapp-harvest
Rebuild the image with newer NetApp tools.