My life was a one-track record on repeat, tirelessly playing the same tune over and over. New nodes added to the network means new nodes to monitor. The manual, arduous tasks of clicking through monitoring tool menus, selecting appropriate polling agents, configuring appropriate properties, and validating node status can lead a man to madness. There must be a better way!
When I first heard that I could “easily” script and automate some tasks in SolarWinds, I stared askance, knowing good and well this wouldn’t be easy, if it worked at all. A couple of years later, and several hundred more managed nodes in the pocket, I figured it’s time to revisit this possibility. Although the SolarWinds Orion SDK has been around for a few years, documentation is limited and content is heavily reliant on the THWACK community. However, dig deep enough, and you’ll find a wealth of useful information! I learned that “easy” is relative, and given the number of examples SolarWinds provides in their SDK, it’s really not all that bad.
My journey toward understanding the SolarWinds API and SDK developed alongside a partnership with NetworkManagementSoftware.com. I wrote a series of articles for their site, with the goal of bringing more attention to this realm of SolarWinds. The more people that use it, the greater the community, the quicker the development. It’s a win for all!
If you’re at all interested, here is the current list of articles in the series:
- This article covers some basics of the SolarWinds Orion API & SDK, why you would use it, and how to get it. I also look at some general concepts regrading APIs, REST and JSON. Nothing too advanced here, as I’m still learning these topics myself.
- This article covers some basic usage of the SolarWinds Query Language (SWQL) Studio, and querying Orion pollers with cURL and a REST client, showcasing the interaction with SolarWind’s API.
- This article looks at RESTful API interactions via Python. I look at the example Python scripts in the SDK, do some basic dissection, and build upon it.
Have I seen value?
Of course! In fact, I’ve already developed a script that takes in a spreadsheet of nodes, with the custom values and adds them one-by-one to Orion NPM, configures the appropriate SNMPv3 creds, then enables them for configuration management. Check out the add_nodes.py script in my orion repo.
What’s to come?
This isn’t the end-all-be-all. In fact, I’ve barely scratched the surface. I’m hoping to develop more scripts to enhance and automate my day-to-day. If you’re interested, along the same path, or already an expert, I welcome your input and constructive criticism!