I recently started learning about Sumo Logic and playing around with it’s log aggregation capabilities. I thought it would be cool to create a PowerShell Module to work against the APIs, as Sumo Logic takes an interesting approach to log aggregation.
If you start looking at automated deployment and use of Sumo Logic in an environment from the beginning, then you need to get used to their API. Without doing so, especially in an agentless deployment, would mean that you better get used to manually entering servers as new log sources in Sumo’s web portal.
Since nobody would want to do it that way — and PowerShell has the means to make an API easily accessible — I started working on a PowerShell Module.
It is in it’s early stages, but before I actually create a release version, I wanted to make sure that a handful of items were addressed:
- There are currently four separate APIs that Sumo has been working on, all of which you can find documentation about on GitHub. I want the first v1.0 release of the module to really master one API: the Collector Management API. This seems to be the most important item, as it manages what data is being Sumo Wrestled into the cloud for visual consumption. The other APIs are pretty much saying, “Now that you have data here, what would you like to do with it?”
- I want comment-based help to be fully implemented for every script function. I was originally wanting to look at developing the help files that would allow for integration with Update-Help, but the creation/management of that type of help seemed more daunting than originally expected (mostly because of a lack of tools). Maybe in a later release of the module?
- I want each script function to interact with the API as similarly as possible. This will make it easier to apply enhancements in code across all functions, and also create a standard for error-checking across the module.
Right now, these aren’t really addressed. I decided to throw v0.1 of this module on GitHub, and tell the Sumo Logic community about it right away. Why? If Andy Anderson has already created a PowerShell Module that really helps him out, but has never shown the world, maybe he will notice my module’s infancy and contribute? That, or maybe he’ll laugh and wait to see what I come up with? Maybe getting involved in the community early on could result in an overall better development of the tools — resulting in feedback loops, contributors, and dare I say it: happy admins?!
Check out SumoTools on GitHub: ScriptAutomate/SumoTools
I’ll go more in-depth into it’s use in future blog articles.