Advanced Reporting part 5: What Have We Learned?
At the start of this week, I began posting a series of how-to blogs over in the NPM product forum on building a custom report in Orion. If you want to go back and catch up, you can find them here:
- Part 1: Advanced Reporting Part 1: Re-Creating the &quot;All Alerts&quot; Resource With Extras
- Part 2: Advanced Reporting part 2: Making Web-Based Reports Do Your Bidding
- Part 3: Advanced Alert Reporting part 3: Hyperlinks in Data Output
- Part 4: Advanced Alert Reporting part 4: Creating an Acknowledge Link Where Once There Was None
- The sample report: Report: All Active Alerts with Acknowledge action
It all started when a customer reached out with an “unsolvable” problem. Just to be clear, they weren’t trying to play on my ego. They had followed all the other channels and really did think the problem had no solution. After describing the issue, they asked, “Do you know anyone on the development team who could make this happen?”
As a matter of fact, I did know someone who could make it happen: me.
That’s not because I'm a super-connected SolarWinds employee who knows the right people to bribe with baklava to get a tough job done. (FWIW, I am and I do, but that wasn’t needed here.)
Nor was it because, as I said at the beginning of the week, “I’m some magical developer unicorn who flies in on my hovercraft, dumps sparkle-laden code upon a problem, and all is solved.”
Really, I’m more like a DevOps ferret than a unicorn—a creature that scrabbles around, seeking out hidden corners and openings, and delving into them to see what secret treasures they hold. Often, all you come out with is an old wine cork or a dead mouse. But every once in a while, you find a valuable gem, which I tuck away into my stash of shiny things. And that leads me to the first big observation I recognized as part of this process:
Lesson #1: IT careers are more often built on a foundation of “found objects”—small tidbits of information or techniques we pick up along the way—which we string together in new and creative ways.
And in this case, my past ferreting through the dark corners of the Orion Platform had left me with just the right stockpile of tricks and tools to provide a solution.
I’m not going to dig into the details of how the new report was built, because that’s what the other four posts in this series are all about. But I *do* want to list out the techniques I used, to prove a point:
- Know how to edit a SolarWinds report
- Understand basic SQL queries (really just select and joins)
- Have a sense of the Orion schema
- Know some HTML fundamentals
Honestly, that was it. Just those four skills. Most of them are trivial. Half of them are skills that most IT practitioners may possess, regardless of their involvement with SolarWinds solutions.
Let’s face it, making a loaf of bread isn’t technically complicated. The ingredients aren’t esoteric or difficult to handle. The process of mixing and folding isn’t something that only trained hands can do. And yet it’s not easy to execute the first time unless you are comfortable with the associated parts. Each of the above techniques had some little nuance, some minor dependency, that would have made this solution difficult to suss out unless you’d been through it before.
Which takes me to the next observation:
Lesson #2: None of those techniques are complicated. The trick was knowing the right combination and putting them together.
I had the right mix of skills, and so I was able to pull them together. But this wasn’t a task my manager set for me. It’s not in my scope of work or role. This wasn’t part of a side-hustle that I do to pay for my kid’s braces or feed my $50-a-week comic book habit. So why would I bother with this level of effort?
OK, I'll admit I figured it might make a good story. But besides that?
I’d never really dug into Orion’s web-based reporting before. I knew it was there, I played with it here and there, but really dug into the guts of it and built something useful? Nah, there was no burning need. This gave me a reason to explore and a goal to help me know when I was “done.” Better still, this goal wouldn’t just be a thought experiment, it was actually helping someone. And that leads me to my last observation:
Lesson #3: Doing for others usually helps you more.
I am now a more accomplished Orion engineer than I was when I started, and in the process I’ve (hopefully) been able to help others on THWACK become more accomplished as well.
And there’s nothing complicated about knowing how that’s a good thing.