cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post

Advanced Reporting part 5: What Have We Learned?

Level 17

typewriter-2242164_1280.jpg

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:

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 unicorna 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 waywhich 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.

33 Comments
MVP
MVP

Thanks for the recap, as well as another great week of information! Now, throw your keyboard out the window and give your fingers a vacation, adatole

Level 13

Excellent series adatole​.  I've used the web reporting a bit, now I've got some more tools to add to my stash that will no doubt be useful at some point in the future.  Thanks.

Level 15

Thanks for this excellent series Leon Adato Expert

I have been an Orion user for quite some time but just now getting into using SWIS and the API. This was extremely helpful in putting all the pieces together.

Level 13

Thanks for posting this article.  I think we should all bookmark this one and make it mandatory reading for us SW admins. 

Level 14

adatole​,

As always, great series of posts! I would like to ask one questions however. There are lots of awesome examples just like this one posted by all the talented folks out there, but when a Head Geek has to take out of there creative schedules to blog about stuff like this it seems a little "odd." I say "odd" because you are a SolarWinds Head Geek, shouldn't you have the Dev team build this stuff directly into Orion so that folks less SWQL savvy than yourselves can use it? I speak for myself and many others, there is a tremendous amount of great custom ideas out there like this one, but they never seem to make it into the native product. Monitoring is not my primary role, so SWQL is not on my learning path, but that doesn't make all the fantastic cool stuff folks come up with any less valuable to the rest of us.

I know Solarwinds staff sifts through the cool custom creations, and I know not everything can be added, but is there possibly a way to add this custom stuff to the "feature request" selection process so we can vote on the stuff to get added??

D

Level 17

You bring up some good points which, because of the nearness of the hour to Shabbat, I will endeavor to answer briefly. I am pinging cobrien​ and aLTeReGo​ to join in as they see fit.

First, there is no way to take every customization and make it part of the core product. Development time and budget isn't infinite, and so we have to prioritize things based on what the largest number of customers need. That's what the Feature Request and voting system is for.

Second, I guarantee you that if we DID include that report in the main product, the very next message I'd get is "why doesn't it do _____". We are, by our very nature, curious creatures who love to push the limits.

Third, and most importantly, this series of posts wasn't at all about creating a single <thing> but about the skills that went into creating it - SWQL, HTML, and understanding how the web-based report builder works. None of those can be built into the product any more than they already are, because the whole point of them is to allow people to create new and different things as the fancy strikes them. My posts were meant to show how a small set of basic skills could be combined to create something that is useful.

Finally, I've only been a Head Geek for 5 years. But I've been doing monitoring for 20+, and worked in IT for 30+. I do this, not because it's somehow distracting me from my work, but because it's an essential part of my work and the reason I love what I do. Working on tweaks like this and having conversations like these is what feeds my passion and gives me stories to build into future articles, episodes of lab, ebooks, etc.

I can appreciate that SWQL isn't part of your primary role right now, which is why I posted the whole report for download. Hopefully with just a little tweaking, you can get it into a shape that you like. And if not, there's always consultants standing by to do some of that for you while you focus on higher-priority work. But for now, you know that things like this ARE possible, which means when you need something like this you'll know where to start.

Have a great weekend!

Level 11

Hey,  I know a few consultants

MVP
MVP

Thanks adatole another amazing write up for some of the fundamental features in Orion that a majority of the regular users don't get to see

Out of interest is there any reason why you made this a report rather than a Custom Table or even a Custom SWQL Query? As the original scope was for the NOC to view it so I assume it would need to be replicated onto a Custom Table within the view?

Level 17

I think my only reason for going this route was because there was a report already in-place, and it's easy to create a view with a report to push to a NOC screen. However, now that the SWQL logic is all there, creating a custom resource as a table or SWQL object isn't much of a leap, is it?

A recent story on N.P.R. reminded me of the graphic at the head of this article.   The story was called "Notes From A Public Typewriter", a book published in March of 2018, available at Amazon in hard copy or Kindle.

And like a brief typewritten note shared in that book, I read between the lines of your publications, adatole​, and conclude you're possibly made of similar stuff, working on variations on this same theme:

pastedImage_0.png

Product Manager
Product Manager

deverts  wrote:

adatole ,

As always, great series of posts! I would like to ask one questions however. There are lots of awesome examples just like this one posted by all the talented folks out there, but when a Head Geek has to take out of there creative schedules to blog about stuff like this it seems a little "odd." I say "odd" because you are a SolarWinds Head Geek, shouldn't you have the Dev team build this stuff directly into Orion so that folks less SWQL savvy than yourselves can use it? I speak for myself and many others, there is a tremendous amount of great custom ideas out there like this one, but they never seem to make it into the native product. Monitoring is not my primary role, so SWQL is not on my learning path, but that doesn't make all the fantastic cool stuff folks come up with any less valuable to the rest of us.

I know Solarwinds staff sifts through the cool custom creations, and I know not everything can be added, but is there possibly a way to add this custom stuff to the "feature request" selection process so we can vote on the stuff to get added??

D

Are there some specific reports you'd like to see included out of the box? While we endeavor to provide general purpose reports which will appeal to a broad set of customer needs, there is always room for improvement. While we don't expect out customers to learn SWQL or even SQL, there are occasions when a highly custom report is needed, and so we provide an extremely open and powerful reporting infrastructure to support those needs, of which SQL and SWQL are a part of. As a result, Orion provides a far more powerful and flexible reporting infrastructure than most competitors I've encountered, which allows customers to build virtually any report they can imagine.

If you have ideas on out-of-the-box reports which would provide value to most/all users of the product, please feel free to post these to the product ideation (feature request) forums. To your point, we don't typically get many of these requests as our friends in the Report Guru​ forum generally do a fantastic job assisting people with their reports. Those often times then end up posted here on Thwack in the Content Exchange.

I really like the baker analogy. I usually tell my clients, I can show you how it works, you already have the tools you need.

but I can also be your bakery-shop and you tell me what you want. And sometimes they even start baking their own breads after a few „over the shoulder looking sessions“

Level 9

I believe this is the same report I received from adatole​​ a couple of months ago, whom I can't thank enough. And, the moment our NOC saw the report and me telling them to give us feedback for any suggestions or concerns, they went back to me with a lot of them.  After a couple of hours tinkering and figuring out, it eventually led mo to creating/replicating them into a Custom SWQL Query together with other Custom widgets, thus creating their almost-perfect NOC dashboard.

MVP
MVP

Hi sploy

And I suspect therein lies the basis for this series, to show people the basic concept of what is achievable within SolarWinds with just a little bit of customisation. Would you mind sharing a screenshot of your revised screen? I made some changes for my own testing purposes as well:

pastedImage_0.png

Level 14

adatole​ and aLTeReGo​,

Please don't take any of the comments I've made as negative, they were only meant to suggest an improvement process. I use the Content Exchange, and I review the Report Guru forum regularly for additional cool stuff to add; I just thought a "Feature Request" type voting system might help provide a prioritized list of cool customizable reports to add to the "box."

aLTeReGo​,

To answer the question, "Are there some specific reports you'd like to see included out of the box?" I'm in desperate need of a working 95th Percentile report for bandwidth utilization. Yes, I'm a network engineer; hence the lack of SQL/SWQL ability. Then again, I stumbled on this Feature Request that would also be a great value:

You folks took away ReportWriter and left us with reports we can't modify to our needs and in most cases can't easily recreate, like the 95th Percentile (especially in 12.1).

And again, please know none of this was meant to be negative. Everything everyone provides is greatly appreciated and needed, I was just offering a suggestion.

D

Level 17

No negativity taken or inferred. You asked some good questions that were worth addressing. And thank you, especially, for following up with aLTeReGo​ on what you'd like to see. That's our meat-and-potatoes here in the office.

Level 17

The one and the same. It was such a fun conversation, and such an engaging idea, that I had to do a write-up about it. I'm glad that it got the creative juices flowing over on your side as well.

Level 13

Really like this series.

Level 9

Hi dgsmith80​,

No not at all. And to give a little background to it, first I had to create 1 Custom SWQL query for each of the Server Tier that we have.

Then, I had to do away with the "Acknowledge" link because our NOC preferred clicking on the alert name to check more information like previous SNow tickets or other Actions taken by the previous shift as written on the Alert Notes.

Next, if you notice the column "Caption" under Tier 4 is a little dynamic depending on the Class of the Object whether it is a Node or just a Component of a Node. Thing is, I can't seem to figure out how to make them into HTML links instead of just plain text. I was able to do it in the Reports but not here.

and last, just wanted to share more of what we have (could be helpful especially to those who are starting out), is the Alert Custom Property "WorkInstructions", where we placed the URL Link of the corresponding procedure or KB that our NOC needs to use.

pastedImage_3.png

Level 15

@ adatole and @ aLTeReGo,

What would be very helpful in the All Alerts Resource or in Message Center would be the addition of the Alert Notes field, and an Execute Alerts Action function. That way our NOC could review the message prior to further

actions such as making a ticket.

The reason the NOC needs to review these is sometimes the outage is due to a scheduled change, or it could be a circuit down.

In this case the circuit down event also will trigger down events from all downstream nodes like switches, access points etc.

The NOC really only needs to perform actions (make ticket) for the circuit event, and simply acknowledge all the other events.

It would be great if NPM had this functionality right out of the box.

MVP
MVP

I know what you mean, in the Alerts panel itself the alert shows "AlertEntity on RelatedNode". But we already have the RelatedNodeCaption (with link) and the EntityCaption (with link) so it would just be replication.

Level 9

Well, I had to put those 2 columns back for the reason that I can't find a way, just yet, how to present the Caption as links.  

MVP
MVP

I assume you've used some sort of CASE Logic for that as well, but could you not do something like this:

TOSTRING('<A HREF="'+AlertObjects.EntityDetailsURL+'" target=”_blank">'+AlertObjects.EntityCaption+'</a>')+ ' On' + ('<A HREF="'+Nodes.DetailsURL+'" target=”_blank">'+Nodes.Caption+'</a>') AS [Object],

Level 17

First, I'm not disagreeing that having the notes fields could be helpful.

BUT... your example forces me to ask why you don't have parent-child downstream suppression turned on, so that you just flat-out don't GET those downstream alerts.

Right?

Product Manager
Product Manager

Great feedback deverts. If you aren't already participating in the NPM 12.5 beta, I'll encourage you to do so. I think you'll be pleased with the progress we've already made.

MVP
MVP

Super cool series

Level 14

I do so wish I could participate in that beta! But I'm struggling to convince folks we need to upgrade beyond 12.1. Since there is no NTA data migration path and folks don't want to lose the historical data, I'm having a hard time figuring out how to get up-to-date with all the latest cool stuff and still provide some historical capability. It's really been a tough discussion.

D

MVP
MVP

You can upgrade to NPM 12.4 and stay on NTA 4.2.3 that's still an option.

Level 14

Absolutely a fair statement!! However, why upgrade if you can't upgrade everything for all the cool new features. But I've also been considering that option.

D

Level 14

I've made an entire career from having a head full of nuggets of information.  On their own they are largely useless but from time to time they gel together, cause the 40W bulb to dimly glow and allow me to fix something.  It's usually something that lots of other people have tried and failed to fix so it makes me look good.  I don't dispel that illusion.  Keep up the great work.

Product Manager
Product Manager

I would recommend standing up a temporary  instance of NTA using your old fastbit database so people can still reference that older data and monitor it for the month using SAM's AppInsight for IIS. That should give you visibility into how often that data is really accessed. I think you'd be surprised how little it's accessed.

I have really enjoyed this series.  Thanks,

Level 13

Thanks for the article. I hadn't seen the series so will look forward to catching up on those.

About the Author
In my sordid career, I have been an actor, bug exterminator and wild-animal remover (nothing crazy like pumas or wildebeasts. Just skunks and raccoons.), electrician, carpenter, stage-combat instructor, American Sign Language interpreter, and Sunday school teacher. Oh, and I work with computers. Since 1989 (when you got a free copy of Windows 286 on twelve 5¼” floppies when you bought a copy of Excel 1.0) I have worked as a classroom instructor, courseware designer, desktop support tech, server support engineer, and software distribution expert. Then about 14 years ago I got involved with systems monitoring. I've worked with a wide range of tools: Tivoli, Nagios, Patrol, ZenOss, OpenView, SiteScope, and of course SolarWinds. I've designed solutions for companies that were extremely modest (~10 systems) to those that were mind-bogglingly large (250,000 systems in 5,000 locations). During that time, I've had to chance to learn about monitoring all types of systems – routers, switches, load-balancers, and SAN fabric as well as windows, linux, and unix servers running on physical and virtual platforms.