Quantcast
Channel: THWACK: Popular Discussions - Orion SDK
Viewing all 3719 articles
Browse latest View live

SWQL Queries - Merging two tables

$
0
0

Hi all,

I have difficulty in using SWQL (since i don't have any background in SQL at all ).

 

I would like to merge two different table,where there is one common column (InterfaceID), but the queries have to display InterfaceID which only have Comments "WAN vrf" on the second table..

Found some similar topic in google but for SQL, so i try below syntax :

 

SELECT NodeID, InterfaceID, Caption, FullName, Alias, IfName

FROM Orion.NPM.Interfaces

 

UNION SELECT InterfaceID, Comments

FROM Orion.NPM.InterfacesCustomProperties

WHERE Comments='WAN vrf'

 

however when i try above, it return with mismatched input 'SELECT' expectin '('

 

I'm not really sure how to correct the syntax. Appreciate much for any help here.

 

Thanks and regards

Adi


Powershell scripts to automatically unmanage\remanage a node using the Orion SDK

$
0
0

First, I'll share the script. Then, I'll explain why we need it and how it helps us in our environment.

To use the script you must have the Orion SDK installed on the monitored node.

 

Take the text below, paste in Powershell ISE and save it as a PS1.

------------------------------------ Start PS1 -----------------------------------------------------------------

 

# 2014-07-21 Node Unmanage script for SolarWinds SDK Powershell

# by Joe Dissmeyer | Thwack - @JoeDissmeyer | Twitter - @JoeDissmeyer | www.joedissmeyer.com

# This script will unmanage a single node in the Orion database. First, it finds the node number in the Orion database, then it will unmanage it for 99 years.

# This script assumes you are running it LOCALLY from an already managed node AND that the machine has the Orion SDK v1.9 installed on it.

# If the machine is not already managed in SolarWinds this script will fail without warning.

# Replace ORIONSERVERNAME with the appropriate values.

# ORIONSERVERNAME = Your Orion poller instance. (Ex. 'SOLARWINDS01.DOMAIN.LOCAL'). Single quotes are important.

 

# Load the SolarWinds Powershell snapin. Needed in order to execute the script. Requires the Orion SDK 1.9 installed on the machine this script is running from.

Add-PSSnapin SwisSnapin

 

 

# SolarWinds user name and password section. Create an Orion local account that only has node management rights. Enter the user name and password here.

$username = "SWnodemanagement"

$password = "MyP@44w0$d"

 

# This section allows the password to be embedded in this script. Without it the script will not work.

$secstr = New-Object -TypeName System.Security.SecureString

$password .ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$secstr

 

# The actual job

$ORIONSERVERNAME = 'SWServer1.domain.local'

$nodename = $env:COMPUTERNAME

 

$swis = Connect-Swis -Credential $cred -host $orionservername

$nodeid = Get-SwisData $swis "SELECT NodeID FROM Orion.Nodes WHERE SysName LIKE '$nodename%'"

$now =[DateTime ]:: Now

$later =$now.AddYears(99)

Invoke-SwisVerb $swis Orion.Nodes Unmanage @("N: $nodeid ", $now ,$later , "false")

 

------------------------------------ End PS1 -----------------------------------------------------------------

 

 

 

And now the Remanage script. Again, save as a .PS1 file.

------------------------------------ Start PS1 -----------------------------------------------------------------

 

# 2014-07-21 Node Remanage script for SolarWinds SDK Powershell

# by Joe Dissmeyer | Thwack - @JoeDissmeyer | Twitter - @JoeDissmeyer | www.joedissmeyer.com

# This script will remanage a single node in the Orion database.

# This script assumes you are running it LOCALLY from an already managed node AND that the machine has the Orion SDK v1.9 installed on it.

# If the machine is not already managed in SolarWinds this script will fail without warning.

# Replace ORIONSERVERNAME with the appropriate values.

# ORIONSERVERNAME = Your Orion poller instance. (Ex. 'SOLARWINDS01.DOMAIN.LOCAL'). Single quotes are important.

 

 

# Load the SolarWinds Powershell snapin. Needed in order to execute the script. Requires the Orion SDK 1.9 installed on the machine this script is running from.

Add-PSSnapin SwisSnapin

 

 

# SolarWinds user name and password section. Create an Orion local account that only has node management rights. Enter the user name and password here.

$username = "SWnodemanagement"

$password = "MyP@44w0%d"

 

 

# This section allows the password to be embedded in this script. Without it the script will not work.

$secstr = New-Object -TypeName System.Security.SecureString

$password .ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$secstr

 

 

# The actual job

$ORIONSERVERNAME = 'SWServer1.domain.local'

$nodename = $env:COMPUTERNAME

 

 

$swis = Connect-Swis -Credential $cred -host $orionservername

$nodeid = Get-SwisData $swis "SELECT NodeID FROM Orion.Nodes WHERE SysName LIKE '$nodename%'"

$now =[DateTime ]:: Now

$later =$now.AddYears(99)

Invoke-SwisVerb $swis Orion.Nodes Remanage @("N: $nodeid ", $now ,$later , "false")

 

------------------------------------ End PS1 -----------------------------------------------------------------

 

Explanation:

My company had a very unique need to monitor our enterprise Windows application that runs not only on standard desktop PCs, but also runs on mobile tablets connected to WiFi access points. These tablets run the standard Windows 7 Professional OS so it makes it easy to set up application monitoring in SolarWinds SAM for these machines. However, the problem comes at the end of the day when these tablets are turned off and placed in their charging docks for the night. As you can imagine, this creates an administrative nightmare (not to mention an email alert flood) in SolarWinds when this happens.

 

SolarWinds Orion NPM and SAM is designed to always keep an eye on a node or application that is entered in it's database. It is not designed to monitor an application or node only "part of the time" --- well, at least it isn't designed for this purpose out of the box. So instead, we have to create a workaround that will suit our needs. What we needed to do was figure out how to automatically "unmanage" these Windows tablet PCs in SolarWinds when they are shut down for the night, but also automatically "re-manage" them once they boot up. This is where the script comes into play.

 

The idea is to take the Unmanage script and apply it as a shut down script in Group Policy, then take the Remanage script and apply it as a boot up script in Group Policy.

Here is why this works for us:

The business is supposed to gracefully shut down the tablet by clicking Start > Shut down. If not, then an email alert triggers that informs us that the application is down on the machine.

If the tablet goes offline in the middle of the day for any reason, we will receive an email alert about that node.

When the machine is shut down properly, the node is automatically unmanaged in SolarWinds.

When the machine boots up and someone logs into the machine, the node is automatically remanaged in SolarWinds.

 

But here is an even better use for these scripts --- Scheduled Server Maintenance! How many times have we, server administrators, had to patch Windows Servers during scheduled maintenance hours? Normally you would have to go into SolarWinds and unmanage the node first BEFORE rebooting as not to trigger an email alert. Well with these scripts you wouldn't have to worry about that as much since this would be automatic.

 

Final notes:

Of course, this is just one way to go about auto-managing nodes in SolarWinds. There are some alternatives to doing this using the Orion SDK and Powershell which is to, instead, use the built-in .NET properties in Powershell 2.0 to access the Orion SQL database directly, find the node ID, and unmanage it in that manner. For those that are interested in how do to this without the Orion SDK, let me know and I'd be happy to elaborate.

Orion SDK with PowerShell - manage/unmanage multiple nodes

$
0
0

I've been able to script unmanaging and managing nodes in powershell. However, for 400+ nodes, this ends up taking quite a while. Via script, it takes about 7 minutes to unmanage the nodes and over 10 minutes to remanage them. Doing this from the website takes about 25 seconds and no more than a minute, respectively. My guess is that the website somehow group updates the database instead of doing it one at a time. Anyone else seen this or have any idea how to do more than one node at a time? Below is sample code for how I am unmanaging a single node:

 

Invoke-SwisVerb $swis Orion.Nodes Unmanage @("N:$nodeid",$start,$end,"false")

 

Thanks for any advice you have!

SolarWinds to Service-Now Integration

$
0
0

SolarWinds & Service-Now

=====================

We’re trying to do the following (option 1 is our preferred while option 2 is a fallback):

1)

A) SolarWinds generates alert

B) SolarWinds uses a “webservice/api/sdk/other tool” to “communicate with/connect to” with the appropriate information so ServiceNow can open a ticket with the appropriate categorization, priority, whether it is internally or externally managed (ticket assignment changes depending), etc.

C) ServiceNow will communicate to the “response team” that there is a new ticket that must be addressed

D) ServiceNow will “communicate with/connect to” SolarWinds to acknowledge the alert and to record the ServiceNow ticket in to the acknowledgement notes

E) SolarWinds will register alert and set alert to acknowledged status and will include the ServiceNow ticket number

*END*

 

2)

A) SolarWinds generates alert

B) SolarWinds sends email notification to ServiceNow – email will need to be in appropriate form to be “absorbed”

C) ServiceNow “absorbs” email and generates a ticket with the appropriate categorization, priority, whether it is internally or externally managed (ticket assignment changes depending), etc.

D) ServiceNow “responds” to email with acknowledgement and ticket number

E) SolarWinds registers the response and sets the alert to acknowledged status and will include the ServiceNow ticket number

*END*

 

At this time, we’re looking for foundational materials to help us get started and determine the easiest/best way to perform one of these options and we’re hoping SolarWinds support can give us some pointers on where to researching documentation and what documentation may exist. Our hope is this is a relatively straight forward activity since it seems like it would be fairly standard that companies would want their monitoring and ticketing systems to interact. We have been rather ineffectually researching SolarWinds documentation and Thwack for roughly a week and have been unable to find the “start here” materials. We understand that the referenced SDK is not supported and we will have to use Thwack as support, however, at this point, we don’t have enough information to understand whether the SDK is our best/only option. We see in the release notes that there is the VBClient, etc. however it is unclear if this is the proscribed technique or just *A* technique.

 

Thanks in advance for your feedback and guidance!

CreateLimitation not working

$
0
0

Hi,

 

For internal use i have created a gui where my colleagues can create accounts and assign groups of nodes to that account without having to login via the admin panel.
This has been in use for roughly a year now, but recently, as in today, a issue has come up where the create limitation function called via rest suddenly stopped working correctly.

 

Example of the data for the rest call :

 

            $action = 'https://exampleserverip:17778/SolarWinds/InformationService/v3/Json/Invoke/Orion.Limitations/CreateLimitation';

            $data = [18, null, [$assignmentId], null, $accountId];

 

 

This creates a group of groups limitation for a specified account.

When i check on the admin panel is see that under the account the limitation gets correctly created. But when i login with the created user all the nodes are visible.

When i simply edit and save the limitation via the admin panel without changing anything the account can only see the nodes that are in the limitation.

I know that there is a delay when creating the limitation via rest before the changes applies, but my colleagues made a account before lunch and when they returned the limitation was still not applied

 

The strange thing is that deletelimitation and updatelimition both work fine.

 

I'm a bit stuck now so i don't know if anyone has a idea what the issue may be?

NCM Account Limitations using SWISv3

$
0
0

Hi all,

 

We are using the API to retrieve some node data from NPM with an Orion account limited by an account limitation (based on a Node custom property)

Testing in SWQL studio everything works for Orion.Nodes entity:

However, the same does not apply for NCM.Nodes or Cirrus.Nodes where every node is visible to the (limited) user account:

 

NCM.Nodes:

Cirrus.Nodes:

 

Has anyone came across this before? SolarWinds does not support the API so we've hit a dead end here.

How do I download PowerOrion?

$
0
0

Pardon my density (destiny?), the Wiki mentions PowerOrion, but I cannot seem to find the files PowerOrion.psm1 and PowerOrion.psd1 files on GitHub. Where can I download them?

Is supported The Orion SDK by the maintenance contract??

$
0
0

Hi everyone!

 

Is supported The Orion SDK by the maintenance contract??

 

 

All the best!!


SDK - NTA 4.0 relative time query format

$
0
0

I am trying to figure out how to query against any Orion.Netflow.Flows for last x days. The wiki on github does have a page for the 4.0 entity model but only lists how to do absolute time periods. There is an old thread that lists the 3.8 way to do it but I'm trying to do this in 4.0+.

 

Thanks.

IPAM + PowerShell

$
0
0

Greetings,

 

Used the following to get an available IP:How to use the IPAM API and get "Free IP Address"

 

Getting an error while trying to update any information:

Set-SwisObject : Operation not supported on IPAM.IPNode

 

While using the following:

 

$ip = Get-SwisData $swis 'SELECT TOP 1 I.DisplayName FROM IPAM.IPNode I WHERE Status=2 AND I.Subnet.DisplayName = ''1.1.0.0/24'''

$ipobject = Get-SwisObject -Uri (Get-SwisData $swis ('SELECT Uri from IPAM.IPNode where IPAddress = ''' + $ip + '''')) -SwisConnection $swis

 

$customProps = @{

  Description="TACOS";

}

 

Set-SwisObject -Uri $ipobject.Uri -SwisConnection $swis -Properties $customProps

 

Anyone trying to reserve IPs???

List Resources By C# Orion SDK?

$
0
0

For example in NMS web console:

1. Go Under Node Management.

2. Click List Resources to get a checklist of interfaces.

 

Can I have same operation from C#?

 

Regards

Orion SWQL Orion.PollNow feature?

$
0
0

Quick question for you and probably an easyish question but what does this do? (pollnodes) and can i use it through powershell to poll x nodes at anytime?

also what do the blue icons mean?

 

Cheers, Thwacksters

IPAM + PowerShell

$
0
0

Greetings,

 

Used the following to get an available IP:How to use the IPAM API and get "Free IP Address"

 

Getting an error while trying to update any information:

Set-SwisObject : Operation not supported on IPAM.IPNode

 

While using the following:

 

$ip = Get-SwisData $swis 'SELECT TOP 1 I.DisplayName FROM IPAM.IPNode I WHERE Status=2 AND I.Subnet.DisplayName = ''1.1.0.0/24'''

$ipobject = Get-SwisObject -Uri (Get-SwisData $swis ('SELECT Uri from IPAM.IPNode where IPAddress = ''' + $ip + '''')) -SwisConnection $swis

 

$customProps = @{

  Description="TACOS";

}

 

Set-SwisObject -Uri $ipobject.Uri -SwisConnection $swis -Properties $customProps

 

Anyone trying to reserve IPs???

Orion.PerformanceCounters

$
0
0

I'm trying to extract the raw performance information using the Orion API. I've tried SWQL Studio but I get the following error:

 

SolarWinds.Data.Query.ParserException: The parameter(s) 'Category' are missing for entity Orion.PerformanceCounters

 

Using the following query:

 

SELECT CategoryName, InstanceName, CounterName, RawValue FROM Orion.PerformanceCounters

List Resources By C# Orion SDK?

$
0
0

For example in NMS web console:

1. Go Under Node Management.

2. Click List Resources to get a checklist of interfaces.

 

Can I have same operation from C#?

 

Regards


Nodes with Interfaces that are unknown

$
0
0

Hello Thwack!

 

I was going over my nodes and have found a bunch where under Traffic & Percent Utilization of Each Interface the status says UNKNOWN.  I tried repolling and rediscovering node and that does not restore it.  I started removing the nodes out of Orion and adding them back and it has worked but I am hoping there is some other way to do this.  Thanks!

Error with REST/JSON while trying to unmanage node

$
0
0

I've been trying to work out a POSH script that can unmanage a node. I've successfully created one that can change a custom property here and i'm using that as my base.

 

I can unmanage the node via the Orion Web Console with the account that i'm using.

 

I have the Orion SDK 2.0.50 installed on my orion server. I'm really waning to get this working without having to install the SDK on my monitored nodes.

 

I get an error while trying to invoke the request within the SWQL. Here is a screenshot. Not sure where to go from here.

2015-11-17_0957.png

 

I've tried to pull JSON examples from these articles but i'm still getting stumped.

Powershell scripts to automatically unmanage\remanage a node using the Orion SDK

REST API in PowerShell

REST · solarwinds/OrionSDK Wiki · GitHub

Powershell scripts to automatically unmanage\remanage a node using the Orion SDK

$
0
0

First, I'll share the script. Then, I'll explain why we need it and how it helps us in our environment.

To use the script you must have the Orion SDK installed on the monitored node.

 

Take the text below, paste in Powershell ISE and save it as a PS1.

------------------------------------ Start PS1 -----------------------------------------------------------------

 

# 2014-07-21 Node Unmanage script for SolarWinds SDK Powershell

# by Joe Dissmeyer | Thwack - @JoeDissmeyer | Twitter - @JoeDissmeyer | www.joedissmeyer.com

# This script will unmanage a single node in the Orion database. First, it finds the node number in the Orion database, then it will unmanage it for 99 years.

# This script assumes you are running it LOCALLY from an already managed node AND that the machine has the Orion SDK v1.9 installed on it.

# If the machine is not already managed in SolarWinds this script will fail without warning.

# Replace ORIONSERVERNAME with the appropriate values.

# ORIONSERVERNAME = Your Orion poller instance. (Ex. 'SOLARWINDS01.DOMAIN.LOCAL'). Single quotes are important.

 

# Load the SolarWinds Powershell snapin. Needed in order to execute the script. Requires the Orion SDK 1.9 installed on the machine this script is running from.

Add-PSSnapin SwisSnapin

 

 

# SolarWinds user name and password section. Create an Orion local account that only has node management rights. Enter the user name and password here.

$username = "SWnodemanagement"

$password = "MyP@44w0$d"

 

# This section allows the password to be embedded in this script. Without it the script will not work.

$secstr = New-Object -TypeName System.Security.SecureString

$password .ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$secstr

 

# The actual job

$ORIONSERVERNAME = 'SWServer1.domain.local'

$nodename = $env:COMPUTERNAME

 

$swis = Connect-Swis -Credential $cred -host $orionservername

$nodeid = Get-SwisData $swis "SELECT NodeID FROM Orion.Nodes WHERE SysName LIKE '$nodename%'"

$now =[DateTime ]:: Now

$later =$now.AddYears(99)

Invoke-SwisVerb $swis Orion.Nodes Unmanage @("N: $nodeid ", $now ,$later , "false")

 

------------------------------------ End PS1 -----------------------------------------------------------------

 

 

 

And now the Remanage script. Again, save as a .PS1 file.

------------------------------------ Start PS1 -----------------------------------------------------------------

 

# 2014-07-21 Node Remanage script for SolarWinds SDK Powershell

# by Joe Dissmeyer | Thwack - @JoeDissmeyer | Twitter - @JoeDissmeyer | www.joedissmeyer.com

# This script will remanage a single node in the Orion database.

# This script assumes you are running it LOCALLY from an already managed node AND that the machine has the Orion SDK v1.9 installed on it.

# If the machine is not already managed in SolarWinds this script will fail without warning.

# Replace ORIONSERVERNAME with the appropriate values.

# ORIONSERVERNAME = Your Orion poller instance. (Ex. 'SOLARWINDS01.DOMAIN.LOCAL'). Single quotes are important.

 

 

# Load the SolarWinds Powershell snapin. Needed in order to execute the script. Requires the Orion SDK 1.9 installed on the machine this script is running from.

Add-PSSnapin SwisSnapin

 

 

# SolarWinds user name and password section. Create an Orion local account that only has node management rights. Enter the user name and password here.

$username = "SWnodemanagement"

$password = "MyP@44w0%d"

 

 

# This section allows the password to be embedded in this script. Without it the script will not work.

$secstr = New-Object -TypeName System.Security.SecureString

$password .ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$secstr

 

 

# The actual job

$ORIONSERVERNAME = 'SWServer1.domain.local'

$nodename = $env:COMPUTERNAME

 

 

$swis = Connect-Swis -Credential $cred -host $orionservername

$nodeid = Get-SwisData $swis "SELECT NodeID FROM Orion.Nodes WHERE SysName LIKE '$nodename%'"

$now =[DateTime ]:: Now

$later =$now.AddYears(99)

Invoke-SwisVerb $swis Orion.Nodes Remanage @("N: $nodeid ", $now ,$later , "false")

 

------------------------------------ End PS1 -----------------------------------------------------------------

 

Explanation:

My company had a very unique need to monitor our enterprise Windows application that runs not only on standard desktop PCs, but also runs on mobile tablets connected to WiFi access points. These tablets run the standard Windows 7 Professional OS so it makes it easy to set up application monitoring in SolarWinds SAM for these machines. However, the problem comes at the end of the day when these tablets are turned off and placed in their charging docks for the night. As you can imagine, this creates an administrative nightmare (not to mention an email alert flood) in SolarWinds when this happens.

 

SolarWinds Orion NPM and SAM is designed to always keep an eye on a node or application that is entered in it's database. It is not designed to monitor an application or node only "part of the time" --- well, at least it isn't designed for this purpose out of the box. So instead, we have to create a workaround that will suit our needs. What we needed to do was figure out how to automatically "unmanage" these Windows tablet PCs in SolarWinds when they are shut down for the night, but also automatically "re-manage" them once they boot up. This is where the script comes into play.

 

The idea is to take the Unmanage script and apply it as a shut down script in Group Policy, then take the Remanage script and apply it as a boot up script in Group Policy.

Here is why this works for us:

The business is supposed to gracefully shut down the tablet by clicking Start > Shut down. If not, then an email alert triggers that informs us that the application is down on the machine.

If the tablet goes offline in the middle of the day for any reason, we will receive an email alert about that node.

When the machine is shut down properly, the node is automatically unmanaged in SolarWinds.

When the machine boots up and someone logs into the machine, the node is automatically remanaged in SolarWinds.

 

But here is an even better use for these scripts --- Scheduled Server Maintenance! How many times have we, server administrators, had to patch Windows Servers during scheduled maintenance hours? Normally you would have to go into SolarWinds and unmanage the node first BEFORE rebooting as not to trigger an email alert. Well with these scripts you wouldn't have to worry about that as much since this would be automatic.

 

Final notes:

Of course, this is just one way to go about auto-managing nodes in SolarWinds. There are some alternatives to doing this using the Orion SDK and Powershell which is to, instead, use the built-in .NET properties in Powershell 2.0 to access the Orion SQL database directly, find the node ID, and unmanage it in that manner. For those that are interested in how do to this without the Orion SDK, let me know and I'd be happy to elaborate.

Using Orion Credential Set for SNMPv3 when Adding Node through SDK

$
0
0

I see that you can use Orion Credential Sets when configuring a Node to use SNMPv3 although I have never tried it.  I am not seeing that an "Orion.Nodes property" exists for this in SDK.

 

Is there a way to relate the SNMPv3 configuration to a Credential Set when adding a Node using SDK?

 

 

 

THANKS

Interface aggregate chart (swql)

$
0
0

Hi guys,

 

I'm trying to essentially recreate the Interface Aggregate Chart via the API, but am not having much luck (though I though for a while that I was). My query is

 

SELECT DisplayName, Description, DateTime, InAveragebps, OutAveragebps, TotalBytes,

  TotalPackets, Averagebps, OutPercentUtil, InPercentUtil, PercentUtil, OutMinbps, OutMaxbps, InMinbps, InMaxbps

    FROM Orion.NPM.InterfaceTraffic WHERE InterfaceID=".$interfaceId." AND DateTime > GetUtcDate()-1

 

The problem is - all the data that comes back shows the same value for Min/Max/Avg for In and Out (ie. In Min = In Max = In Avg). How should I tweak this swql to get what I'm after?  Also - for the mods, you guys should consider putting together a 'cookbook' of potentially common queries and distribute it with your SDK

 

This is an example of the chart:

interfaceAggregateChart.gif

 

Thanks!

Viewing all 3719 articles
Browse latest View live


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