At work we use Puppet for configuration management. Recently we have decided to convert to Solarwinds for monitoring.

I loathe any sort of "true-up" process where people are trying to figure out what nodes they have and how many of them are missing from the monitoring tool.

To that end, we knew we needed to get nodes into Solarwinds automatically. Naturally Puppet would be the tool we used for that since it's already everywhere and controlling everything for us.

Since Solarwinds has an API, it made sense to use a Puppet Custom Function to reach out to Solarwinds and ask if the node was present. If it wasn't, go ahead and add it. This would also lay the groundwork for expanding on that capability such as a reconciliation of partitions to add new ones automatically without intervention from the Operations folks.

We have opensourced what we've done. While it's not a ton of code it should get a lot of people up and running. And please if you extend it, send me a pull request!