mesverrum · Observability Architect · ✭✭✭✭✭

Comments

  • The way I have been doing this for years is just to set up SSRS and embed those reports in my orion system. Downside is that you basically throw away the native reporting and have to do everything in SQL. Plus side is that once you are good in SQL/SSRS you can make dynamic reports that are so much better than anything you…
  • add something like join orion.npm.interfaces int on int.interfaceid=i.interfaceid for all the columns you want to pull from orion.interfaces just put them in the select areas as int.columnname, for custom properties it would be int.customproperties.propertyname Have you installed SWQL studio on your orion server yet? its…
  • Haha we offer a class on it -Marc Netterfield Loop1 Systems: SolarWinds Training and Professional Services * LinkedIN: Loop1 Systems * Facebook: Loop1 Systems * Twitter: @Loop1Systems
  • The custom alert area you are working on is to allow you to create custom conditions for alerts within the solarwinds db directly, you wouldn't use this to query a remote system. System databases are definitely accessible, but you don't set them up as custom alerts, you are looking at the wrong place entirely. You need to…
  • And this is a success center article from SW on how to modify the default example to only alert on power supplies, just as further reference material. Success Center
  • At the end of the day the mute function was built explicitly for the purpose of not alerting on an object, so you are working against the designed purpose of the feature. I can think of lots of sql trickery that would accomplish the goal by misdirecting the "object" of the alert to some other entity, but thats all goofy…
  • If you load up swql studio there is a section called metadata, I don't recall exactly which tables in there would be the ones you need but there are lists of objects and it they have columns for create update read etc that let you know if the api will accept that kind of command for those objects. There's also tables…
  • Since I have some time to spare today I stripped out the parts from my query that prevented you from being able to use it in excel. Populate your datasource like so: So the key thing is that you generally can't do any type of data aggregation in the query itself when using custom tables, you have to feed the full data set…
  • Saying they don't support the api is a weak cop out since the problem still manifests when you disable the sensors in the gui. I wouldn't let them get away with closing the ticket on that.
  • I just created a custom alert query for someone else about an hour ago that would probably work for this use case as well It seems that Solarwinds haven't joined the appropriate tables on the backend to make poller based alerts act on their parent node but you can use a custom swql alert on a node instead of on the poller.…
  • I think the person at support may have misunderstood what you are asking for, you can't use the syntax with the ${swisentity...} that you described to get what you want, but the ultimate effect you want is definitely within the capabilities of the alerting engine. Keep at it with what blsanner​​ is showing you here, I know…
  • Also default interface collection is only every 9 minutes, so changing that to 1/5 minutes would be a pretty significant bump to your polling load. Especially if you combined that change with longer retention periods. I have plenty of clients who do that kind of thing but you need to plan/budget for it on your sql backend.
  • Actually I looked at it some more and realized there is no verb for it, but you can just directly create and update the values in that section. When I manually modified the thresholds in the GUI for metric 1 and 2 it actually leaves the thresholds as null values though, but they do show up correctly when I looked at…
  • To be honest with Orion it is one of the strengths/curses. You can roll your own anything so you aren't limited to just using the tool the way the devs thought you would. Down side is that you end up mucking around a lot reinventing parts of the program that you wish they had done your way in the first place. EVERY chance…
  • The custom query doesn't let you embed html directly, but there is a SWQL function that makes things clickable, but the content of the field would need to have all your html stripped off it from <a href=http:///blah.blah>name</a> to just http://blah.blah Then insert a new line between 3 and 4 that says…
  • The limitation only exists if the nodes cannot be reached from the main poller because the alerting services only exist on the main poller. You could potentially get around it by updating your script to just tunnel through the APE? The script file on the main server just launches a remote session on the ape which then…
  • To get that kind of interactivity you would most likely need to build an aspx resource and load that into your web console, or put something together in javascript. To learn how the tables are laid out you will probably want to download and install the solarwinds SDK, GitHub - solarwinds/OrionSDK: SDK for the SolarWinds…
  • I don't build alerts on groups, I build alerts on the individual items in the group that have a problem. If a group is in warning because one of the nodes is down, why would I not just alert on the node being down? You can just include a custom sql variable on a node alert that lists any groups it is a member of as part of…
  • Apparently on the traffic table it would be i.traffic.InAveragebps, i.traffic.OutAveragebps If you are ever debugging queries like this it's very worthwhile to install the SDK on your orion server so you can just take a look at the table names and spot check things. It also has autocomplete for column names that can help a…
  • If you load a query onto the dashboard it runs every time the page is loaded/refreshed, default is 5 minute page refresh in the Web Settings. The orion.traps table is joined to the nodes table by default, all you have to do is tell your query to pull the data over. So a simple example going from the nodes info to the…
  • but it looks like your <ip guid> method is solid too so thats probably best.
  • Now I have to slice all the custom SQL out of my view exporter/importer tool to just use the native commands you added. work work work
  • This specific script relies on you having created two custom properties on the volumes ahead of time, from the post VolumeSizePercentageChangeTrigger Floating Point Percent Change to be used as a Trigger condition (default = 50.00) VolumeSizeChangeRateIntervalInMinutes Int Interval (in minutes) to "look back" in time for…
  • In the interim the older custom chart resource does still allow aggregation and would provide the functionality you describe. There is no dataset that i have come across that you can display in perfstack that couldn't also be created using the older function, but perfstack undoubtedly looks cooler while doing it.
  • Another workaround to this issue is that the group/container dynamic rules end up in the database as straight SQL queries, I've done it in the past where I just create a placeholder dynamic query and then edit the db directly to make the query say anything I want without the limitations of the UI, including joiing to any…
  • Good to know, when we input the list would we be using a comma as the delimiter?
  • Doable with a custom SQL/SWQL alert, but not in the gui.
  • I figured it out, dumb. NCM has a different nodes table than the main orion modules use, i looked at that table and they have different names for some things, for example they call the Caption as NodeCaption, i tested that and it worked Any of these should work from the contextnode. syntax NodeID, CoreNodeID, EngineID,…
  • So this is probably going to get a bit in the technical weeds. I've done a LOT of business hours custom reports and they can be a big problem due to the performance considerations for clients with larger environments or longer retention periods. A simple way to get a sense of scale the problem here is to maybe take a look…
  • Yeah I would just export out all the server engineers nodes and that column, tell them to fill out the spreadsheet, then when I get it back disable the restriction and import their list, then turn it back on and it will include all their values. This also has the added benefit of offloading almost all the work to them.…