Quantcast
Channel: THWACK: Discussion List - All Communities
Viewing all 17187 articles
Browse latest View live

want to set up NOC view

$
0
0

I created several new groups with a filter based on what is in the Department field of the custom properties

i.e.

Accounting

IS Dept

Human Resources

etc.

They all show up in the Manage Groups screen

 

I am creating a new NOC view. When I go to look for these resources to add them to the view, I only see an All Groups resource and not the individual groups.

I want to put the separate groups in different columns, not in one column.

How do I add each separate group to different columns?

 

Here are the versions I am running in case that makes a difference

Orion Platform 2018.4 HF2, IPAM 4.8.1, SAM 6.7.1, VMAN 8.3.1, Toolset 11.0.7, NetPath 1.1.4, NPM 12.4, NTA 4.5.0, UDT 3.3.2, WPM 2.2.3

 

How do I go about doing this.

Thanks


Solar-Putty window not opening properly in GNS3

$
0
0

Every time I try to open Solar-Putty on GNS3, the window stretches across my 15" laptop screen. I can't see the top or bottom of the window.

 

See the attached screenshot. When I use Putty, the window opens up fine. I noticed that m hutton mentioned this issue 4 months ago (Solar-Putty window size on opening) .

 

Has anyone found a solution for this? Thanks.

SFTP on Serv-U/CentOS

$
0
0

Hello,

 

I'm having some issues setting up users to connect to Serv-U via SFTP. Any help would be greatly appreciated.

 

What I've done so far:

 

  1. Created a Serv-U Domain
  2. Set the following limits...
    1. require secure connection before login: yes
    2. ssh auth type: pubkey only
    3. http strict transport security: yes
  3. Created user for domain
  4. Connected via FTPS successfully for user/domain
  5. Created directory for ssh keys under domain home directory, copy pubkey from user machine to file 'user.pub'
  6. Go to 'User > Manage Keys > Add Key' and set name and path to 'user.pub'. Save.

 

When attempting to login I just get a username/password error/permission denied error. I'm I missing something here? Thanks for any advice!

Bandwidth utlization report on an interface

$
0
0

I have not been able to figure this out.  How can i run a report on the bandwidth utilization on a specific port on a specific switch on a specific time frame without having to custom script something?  Thanks

Calendar in WHD

$
0
0

I am new to WHD and I apologize for all of the questions.   Does anyone actively use the Calendar in WHD?   All that I have figured out is that the calendar basically shows you Open tickets and that is all.

My Techs were hoping that the calendar would link with Outlook but I found out that it does not.   Does anyone know if there is a way to have it remind you of a specific ticket without having to open the calendar.

Ex.  Like outlook would do with their reminder feature.

DPA showing a high wait query with all info except query text

$
0
0

We are using DPA version 12.0.3083.  We are tracking a performance issue an hour earlier and found a few queries having some wait time.  Using the drill-down, we are able to see the query context except one.  This particular one would only show 'Sql Statement not available'.   From other DPA info, we know it is a query from our web server but why it can't show the query context.  Can someone shred some light on this?   This doesn't happen often to us.  In fact, we haven't encountered this 'sql statement not available' for a long while.

C# using net.tcp connection

$
0
0

I'm looking for a quick concise way to connect to SolarWinds via the Orion SDK.  I've read that the best way to connect is via net.tcp, but can't find a simple example.

 

var client = new InforemationServiceClient("NetTcpBinding_InformationService"

                    ,string.Format("net.tcp://{0}:17778/SolarWindw/InformationService/v3/OrionBasic",hostname);

 

// I've tried using the connection syntax given for https, but the connection fails and the program exceptions...

// need to run queries against numerous tables.under IPAM

var result = client.QueryXml("SELECT IPAddress FROM IPAM.IPNode WHERE IPAddress NOT LIKE NULL",NULL);

 

Any help greatly appreciated.

My Orion Deployment bulk diagnostics gathering across all APE's simultaneously rocks.

$
0
0

I ran into a minor issue deploying hotfixes today--easily corrected, but SW asked for the diagnostics.

 

Instead of having to RDP to every one of the engines and manually collect & upload the diagnostics individually, I got them all from the NPM My Orion Deployment page.  Select any or all pollers, select the custom diagnostics you need or just grab it all.

 

And it's all stored to one spot on the Main Instance.

 

Another Easy Button for SolarWinds 12.4.

 

 


Solution Design for 350+ Labs

$
0
0

Hi Folks,

 

I have to monitor 350+ computer labs spread geographically throughout the country, following are the details...

1.     Each lab has 10 desktop computers

2.     Each computer gets Private IP address from DHCP server running on CPE device.

3.     basic requirement is that computer is ON/OFF.

4.     If PC is ON, is it within the Lab or getting on from any other location than the Lab it belongs

5.     Monitoring on central location on a single server.

6.     Cost is a major consideration.

 

The idea I have to deploy NMS solution in each Lab and on central site. Synchronize the database of each site to a single database on central site and present/publish on the NMS application with site tag/name?

Please share your thoughts so I can finalize design. Thanks in advance.

Create Date and Time on a report writer report

$
0
0

How does one put the report create date and time on the report output on a report created in report writer. The web report seems to do it even the preview in report writer does something but the actual report out does not place a report date and time on the report.

 

Thanks

LEM does not show Client Source IP when reading Kerio Control Logs

$
0
0

Hi guys

i have an issue regarding Kerio Logs when reading those. when i ssh to appliance and read logs i see Kerio is sending logs correctly (at least at it own way) but when i confiure Connector for Kerio Control and want to watch for events there is a big problem. All the Detection IPs are Kerio IP itelf and field related to Machin IP or Client IP is empty. however in SSH i can see which computer or IP addres tried that specific URL. may you help me please ?

 

thanks in advance

Mohammad    

vman 8.1 integrated with Sam and NPM , vcenter credentials not working

$
0
0

Newly installed vman 8.1 integrated with Sam 6.5  and NPM 12.2

 

, vcenter credentials not working

 

Output:

Test failed. Cannot login with selected Vcenter or ESX host Credential

 

 

According to the vmware administrator he also tried other valid credentials.

Power Control Unit Status APC ups NPM 12.4

$
0
0

Hi

 

How do I  bulk disable all those pollers !!

I hate when solarwinds AUTO enable new features

Alert acknowledge API

$
0
0

Hi,

How to acknowledge solarwinds alerts through API.

Custom SQL Alert on a different Condition/Table

$
0
0

The new log manager product logs to the table dbo.events messages like "Message from syslog dropped since 1.1.1.1 is not monitored on engine xxxxxxx"

 

1 - People with view limitations wont see this event as the node might be theirs, but they are not admins

2 - People dont tend to look at the events list like they do Active Orion Alerts.

3 - when this is true, we wont get node alerts because messages are being dropped.

 

My solution - to create a Custom Orion alert to tell us when this message is seen, as the event message shows the source IP the syslog/trap has been dropped from. Whichever admin then is assigned the alert, has the responsibility to fix it.

 

We can use an SQL query like the below to filter these messages in the events table. the EventID appears to be 6600, and we can filter for the words "traps" or "syslog". We can then also run this, for example every 4/6 hours to tell us if we have had any messages dropped.

the problem is that the top level "Set up your SQL condition" does not allow you to choose any table, only a pre-defined list.

 

I have read about doing a "join" but we can't join on a table for nodes, as the node is probably not known (thats why the message is dropped).

 

Does anyone have an idea how I could make this SQL query run and generate an alert with any records that are true within the Orion alert? 

 

SELECT * FROM [dbo].[Events] where EventType = 6600 AND EventTime > DATEADD (minute, -480, Sysdatetime()) AND Message LIKE '%Syslog%'


Advanced Reporting part 2: Making Web-Based Reports Do Your Bidding

$
0
0

As I mentioned in my last post (Advanced Reporting Part 1: Re-Creating the "All Alerts" Resource With Extras ), I was asked by a customer to help them create a screen that showed the active alerts, could be sorted by custom fields, and had an “acknowledge” button onscreen for the NOC to use. In the course of creating a solution, I realized that the skills needed to address this need weren’t particularly complex or specialized, but they relied on the monitoring engineer to be familiar with certain fundamental aspects of the Orion® Platform that not everyone has had a chance to explore. And so, in this post (and in the two that come after this), I’m going to dive into each one of those techniques. Just so you have a map, they are:

  1. Making customizations to the data that feeds a web-based report (you are here)
  2. Adding HTML links to the data returned in a report, so items are clickable
  3. Creation an “action” column in a report that lets you perform a management task, such as acknowledging an alert

 

The Magic Word is “SWQL”

When I speak of customizing reports, I’m not focusing on the cosmetic items like the title, colors, logos, etc. I want to get at the data. While there are a host of pre-existing views, tables, and Orion objects that you can pull into a report simply by selecting them (and I strongly recommend you have a look, via all the pre-built reports that you get upon installation of Orion and each SolarWinds module), the true power of the Orion Platform has always been the ability to pull information directly from the database and display it however you want. All it takes is a little know-how.

 

As I mentioned in the last post, I started with the “All Active Alerts” report, then customized it to my needs. I believe this is the best way to begin most projects because it usually gets you further ahead than you would if you’d started from scratch.

 

Going to the Reports, All Reports menu, I found my starting report and opened it to see what it looked like.

 

Taking this as my starting point, I knew there were a few things I wanted to do:

  1. Add my custom property for node importance
  2. Sort the report by the importance value
  3. Get rid of the grouping

 

Of course, I don’t want to directly edit this report because I may want to fall back to the original at some point, so instead of clicking “Edit Report,” I go back to the report list and click the “Manage Reports” link in the upper-right corner. Then I find my report again, select it, and click “Duplicate and Edit.”

 

Now we’re ready to get to work. Of course, you should change the title of the report first thing, along with other essentials like the logo, footer, etc. But the meat-and-potatoes of the work is the tiny little “edit” button that rests next to the “For” drop-down.

 

Clicking this will bring up the “Add Content” window, and you’ll be automatically dropped into the query editor. There are other options—static device selection and a dynamic query builder that strongly resembles the system used to create alerts. But we’re going to focus on SWQL because that’s one of the most useful (and often least-appreciated) skills a monitoring specialist can develop.

 

From within that window, you can include additional tables, add fields, and more. There’s only one problem: there’s no explorer, let alone a “test” option, so you have no way of knowing if any of your edits are going to work.

 

Or do you?

 

The Entrance to the Chamber of SWQL Secrets

...lies through SWQL Studio.

 

Now, many will say that the dynamic query builder is the way to go, and I won’t argue that it’s a good start for many projects. But there are still limitations to the query builder, including the inability to pull in data from other tables, and that’s precisely what we need here.

 

Without a web-based tool, where does a monitoring specialist turn? To the Orion Software Developer’s Kit (SDK). This free set of tools can be downloaded from GitHub (https://github.com/solarwinds/OrionSDK) and has a large and active forum on the THWACK® community (https://thwack.solarwinds.com/community/resources/orion-sdk) with plenty of how-to guides and tutorials to get you started.

 

Now if your first thought is that the SDK is meant for, well, “developers,” you wouldn’t be wrong. But the fact is that it’s a great tool for any SolarWinds aficionado to have in their toolkit because it includes the SWQL Studio, which lets you interactively (and safely) explore the entire Orion database and schema.

 

 

As long as you have a grasp of SQL query basics, you can use the SWQL Studio as a jumping-off point to create far more powerful alerts, reports, and resources.

 

In this example, we’re going to take the existing “All Alerts” query and add the “importance” custom property to the output.

 

Getting connected in SWQL Studio is just a matter of inputting the name or IP of your primary Orion polling engine along with the username and password you normally use to log in through the web portal.

 

 

Now the first thing I want to do is make sure I know where those darn custom properties are. If you’ve used SolarWinds tools for a few years, then you know they’ve moved from the main Nodes table into their own table.

 

I didn’t use any magic tricks here. I just kept clicking and searching until I found something that said “custom properties” on it. To be certain it had the information I wanted (i.e., the “Importance” custom property”), I right-clicked the table and clicked “Generate Select Query,” then the “Run” button to see the data.

 

 

Scrolling through the columns, I found the “Importance” column and verified the data, so I knew I had found what I needed.

 

  1. Now... how to get that into the Alerts query?

 

The SWQL Two-Step Tango

First things first, I needed to pull the query out of the existing All Alerts report. This didn’t prove difficult at all, as I just duplicated the existing report (because I’ve worked in IT for more than 15 minutes, so I know to make backup copies of everything), click the “Edit” link next to the data source drop-down, et voila! There’s my query.

 

 

I can cut and paste that into the SWQL Studio just to see how it runs.

 

Now, the next step really leans on your existing SQL knowledge. You should see that the Custom Properties table uses NodeID as its key field. The question is whether that data exists in any of the tables that the original All Alerts report uses. To figure that out, I found each of the tables in the All Alerts query and did that same “Generate Select Query” action to see what fields were there.

 

 

Wouldn’t you know it, the Orion.AlertObjects table includes a “Related NodeID” field, which works perfectly for us. Now I can add the table source to the bottom of the All Alerts query with this line:

 

INNER JOIN Orion.NodesCustomProperties (nolock=true) NodeCP 
ON AlertObjects.RelatedNodeID = NodeCP.NodeID

 

Then add the “Importance” field to the list of fields being collected:

 

SELECT DISTINCT
NodeCP.Importance, AlertActive.AlertActiveID,
AlertObjects.AlertObjectID, AlertConfigurations.Name,

 

Once I verify that everything works in SWQL Studio, I can copy and paste it back into the Customized All Alerts report in my Orion Portal.

 

But that’s only half (OK, more like three-quarters) of the battle. Just because I’m pulling that field into the data source doesn’t mean it’s going to show. Now I have to use the “Edit Table” button to add the new field.

 

And move it to the first column position.

Now I’m able to customize the report display by removing the grouping (that’s just a personal preference of mine) and sort the results first by importance, then by alert name, and finally by node name.

 

When I run it, I have the report I wanted (at least so far).

The Mostly Un-Necessary Summary

Hopefully you’re now a bit more comfortable with the techniques to add fields to reports (even somewhat complex ones like this). Stay tuned for the next post, where I’ll show you how to add HTML elements into the query output, so that things like the Node name are clickable and can take you to the Node Details page (or elsewhere).

Advanced Reporting Part 1: Re-Creating the "All Alerts" Resource With Extras

$
0
0

A customer recently reached out to me with an interesting request: they needed a screen for their NOC that listed active alerts, with the “Acknowledge” option available, which was sorted by a custom property (in this case, the importance of the server).

 

While the first two items (open alerts and the acknowledge button) are already present in the default Alerts & Activity, Alerts menu option (which takes you to the “All Active Alerts” page). You can see an example of this in the online demo: https://oriondemo.solarwinds.com/Orion/NetPerfMon/Alerts.aspx

 

But the need to sort by a custom property throws a wrench into things. It shouldn’t, but it does. The All Active Alerts page is a resource, not a report. There’s no option to edit this object or include additional elements.

 

The next logical option is to create a report. There, we’d be able to add more fields. In fact, the “All Active Alerts” report, included in all Orion® installations, is a perfect starting place (again, here is a sample from the online demo: https://oriondemo.solarwinds.com/Orion/Report.aspx?ReportID=116&ReturnTo=aHR0cHM6Ly9vcmlvbmRlbW8uc29sYXJ3aW5kcy5jb20vb3J…).

 

However, the challenge you quickly run into is that there’s no “acknowledge” button that can be included in a report.

 

This describes the situation my customer was in, and why they’d reached out to me. They asked, “Do you know anyone on the development team who could make this happen?”

 

In short, I did know someone who could make it happen: me. Now that’s not to say I’m some magical developer unicorn who flies in on my hovercraft, dumps sparkle-laden code upon a problem, and all is solved. In fact, I’m not much of a programmer at all. Nobody will ever weep with joy at the sublime and elegant beauty of my code. In fact, the most complimentary thing anyone’s ever said about something I wrote was “Well, it ran. That time.” (And their tone implied they weren’t quite sure HOW it ran in the first place.)

 

Now, I think of myself less as a DevOps unicorn and more of a DevOps ferret—a creature that scrabbles around, seeking out hidden corners and openings, and delves into them to see what secret treasures they hold. Often, all you come out with is a rusty tin can or a dead mouse. But every once in a while, you find a valuable gem.

 

And in this case, my past ferreting through the Orion Platform’s dark corners had left me with just the right stockpile of tricks and tools to provide a solution.

 

While I’m going to delve into the specifics over the next 3 days, I want to provide an overview here, along with enough of a shorthand that you may be able to use this as the starting point for your own needs.

 

First: there’s no need to do all the hard work. I’ve posted my version of this report here: Report: All Active Alerts with Acknowledge action, ready for you to download and adapt. Remember that famous T.S. Eliot quote,

 

“Immature poets imitate; mature poets steal.”

 

And therefore, I advise you, much like Abbie Hoffman, to “Steal This Report.”

 

I’ve posted the SWQL code below, as well. A few notes about the specifics of what this report is doing/expecting:

  • It is largely based on the default “All Active Alerts” report. I do not mean to imply in any way that I was the author of that wonderful resource
  • It pulls a Node custom property named “importance,” which is intended for sorting of the actual report
  • In addition to the “Acknowledge Alert” link, the name of the object that triggered the alert is clickable as well

 

The SWQL Query

SELECT DISTINCT
NodeCP.Importance, 
'<A HREF="'+AlertObjects.EntityDetailsURL+'" target=”_blank">'+Nodes.Caption+'</a>' AS NodeName,
'<A HREF="/Orion/Netperfmon/AckAlert.aspx?AlertDefID='+tostring(AlertObjects.AlertObjectID)+'" target="_blank">ClickToAck</a>' AS AcknowledgeIt,
AlertActive.AlertActiveID, AlertObjects.AlertObjectID, AlertConfigurations.Name, AlertConfigurations.Severity, AlertConfigurations.ObjectType,
 AlertObjects.EntityUri, AlertObjects.EntityType, AlertObjects.EntityCaption,
ToLocal(AlertActive.TriggeredDateTime) AS TriggeredDateTime, AlertObjects.LastTriggeredDateTime, AlertActive.TriggeredMessage AS Message,
AlertActive.AcknowledgedDateTime, AlertActive.Acknowledged AS Acknowledged, AlertActive.AcknowledgedBy, AlertActive.AcknowledgedNote,
Case 
When Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/86400)>0 Then 
ToString(ToString(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) +0.0)/86400))+'d '+
ToString(Floor(((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) - 86400*(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/86400))) + 0.0)/3600))+'h '+
ToString(Floor(((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) - 3600*(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/3600))) + 0.0)/60))+'m ')
When Floor(((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) - 86400*(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/86400))) + 0.0)/3600)>0 Then 
ToString(ToString(Floor(((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) - 86400*(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/86400))) + 0.0)/3600))+'h '+
ToString(Floor(((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) - 3600*(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/3600))) + 0.0)/60))+'m ')
When Floor(((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) - 3600*(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/3600))) + 0.0)/60)>0 Then 
ToString(ToString(Floor(((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) - 3600*(Floor((SecondDiff(AlertActive.TriggeredDateTime,GetUtcDate()) + 0.0)/3600))) + 0.0)/60))+'m ')
Else ''
End AS ActiveTime
FROM Orion.AlertObjects (nolock=true) AlertObjects
INNER JOIN Orion.AlertActive (nolock=true) AlertActive ON AlertObjects.AlertObjectID=AlertActive.AlertObjectID
INNER JOIN Orion.AlertConfigurations (nolock=true) AlertConfigurations ON AlertConfigurations.AlertID=AlertObjects.AlertID
INNER JOIN Orion.NodesCustomProperties (nolock=true) NodeCP ON AlertObjects.RelatedNodeID = NodeCP.NodeID
INNER JOIN Orion.Nodes (nolock=true) Nodes ON AlertObjects.RelatedNodeID = Nodes.NodeID
Order By AlertConfigurations.Name, AlertObjects.EntityCaption

WHD 12.7 RC

$
0
0

We are pleased to announce the release candidate for Web Help Desk, which is available for download in your customer portal if you are eligible.  Each release candidate is a fully tested and supported version of the product and you can upgrade current production servers.  The documentation, including release notes can be found here - WHD 12.7 RC Documentation - SolarWinds Worldwide, LLC. Help and Support

 

Your Feedback Counts!

I'm incredibly interested in your feedback, and what's even better is that when you participate by downloading and installing the RC, you get thwack points. More importantly your feedback shapes our products. Post your thoughts, questions and concerns into the RC forum and not only will you be able to get some SolarWinds swag, but we the WHD team will be watching for input to make the product better and better. In addition, sometimes you'll come up with a brand new feature ideas that we would want to consider for a future version. The best place to capture those ideas would be Web Help Desk Feature Requests

swql question for Active Alerts on Volumes

$
0
0

Can someone help me out with some swql please.  I am getting an error mismatch input 'Orion' expecting 'SELECT' in From Clause.  Here is the actual script I am using:

 

Select n.Node.Capture, n.Node.StatLED, n.Node.PRIMARY_ROLE, AlertDefinitions.Name, AlertStatus.AlertDefID, AlertHistory.Description, ALERTSTATUS.TRIGGERTIMESTAMP, Volumes.DetailsUrl, Volumes.StatusLED, Volumes.VolumeSpaceAvailable, Volumes.VolumeSize, Volumes.VolumePercentUsed

 

From (Orion.AlertDefinitions INNER Join alertstatus on (Orion.AlertDefinitions.alertdefid = AlertStatus.AlertDefID) inner join volumes on (Orion.Volumes.Fullname = AlertStatus.objectname) inner join nodes on (Orion.Volumes.nodeid = nodes.nodeid) inner join AlertHistory on (Orion.AlertHistory.TimeStamp = ALERTSTATUS.TRIGGERTIMESTAMP) inner join AlertHistory on (Orion.AlertHistory.DisplayName = ALERTSTATUS.OBJECTNAME))

 

Where alertdefinitions.objecttype = 'volume'

 

 

Order by Node.Primary_Role, node.Capture, Node.StatLED, AlertDefinitions.Name, ALERTSTATUS.OBJECTNAME, ALERTSTATUS.TRIGGERTIMESTAMP, Volumes.DetailsUrl, round((Volumes.VolumeSpaceAvailable / 1024 / 1024  ),1), Volumes.VolumetypeIcon, Volumes.VolumePercentUsed, Volumes.StatusLED

Bandwidth utlization report on an interface

$
0
0

I have not been able to figure this out.  How can i run a report on the bandwidth utilization on a specific port on a specific switch on a specific time frame without having to custom script something?  Thanks

Viewing all 17187 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>