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

Orion SDK Information

Please go here for the most updated Orion SDK information.

Thank you for your interest in the SDK.

You can download the SDK 1.10 here (SDK 1.9 here / SDK 1.8 here / SDK 1.7 here / SDK 1.6 here / v1.5 here / SDK v1.4 here)

What's new in SDK v1.9?

  • New chapter added documenting the new NTA 4.0 Entity Model with typical query examples.
  • New sample script for adding a Windows node for monitoring using WMI.
  • Bugfixes to SWQL Studio and the PowerShell cmdlets.

What’s new in SDK v1.8?

  • New sample PowerShell script:
    • CopyNodes
  • Additional documentation:
    • list of functions supported by SWQL
    • the RETURN XML RAW/AUTO clause
  • Schema reference docs for updated for product releases

What’s new in SDK v1.7?

  • Update documentation reflecting technical changes made in Orion Platform 2013.1, NPM 10.5, SAM 5.5, and IPAM 4.0 (summarized in a new "What is new" chapter in Technical Reference document instal
  • Documentation for the REST/JSON endpoint for the Information Service
  • Improvements and bug fixes in SDK tools
  • New sample scripts demonstrating:
    • Using UDT to shut down a switch port
    • Connecting to the Information Service from Python

What’s new in SDK v1.6?

  • Updated documentation reflecting technical changes made in Orion Platform 2012.2, NPM 10.4, and SAM 5.0 (summarized in a new "What is new" chapter in Technical Reference document installed)
  • Improvements in SDK tools, including bulk update and bulk delete capability for SwisPowerShell.
  • New sample scripts demonstrating:
    • Downloading a network device configuration file using NCM
    • Management of SAM application monitoring

What's new in SDK v1.5?

  • Updated documentation reflecting technical changes made in Orion Platform 2012.1, NPM 10.3 (summarized in a new "What is new" chapter in Technical Reference document installed)
  • Improvements in SDK tools
  • New samples demonstrating the other SWIS API use. in particular, PowerShell samples demonstrating:

Adding a node

Adding an interface

Discovering interfaces

Setting a custom property

Configuring Orion Groups

This package contains:

  • SWQL Studio: An application for browsing the Information Service schema and running queries.             
  • Orion SDK.pdf: The documentation for the SDK. Includes an explanation of the purpose of the SolarWinds Information Service, a description of its query language, SWQL, and walkthroughs of the VBClient and JavaClient sample applications.             
  • VBClient:A sample application written in Visual Basic.NET that connects to SWIS over HTTPS, finds the most-recently-triggered unacknowledged alert, and acknowledges it. A project file is provided for building this sample in Visual Studio 2008.
  • JavaClient: A sample application written in Java that connects to SWIS over HTTPS, finds the most-recently-triggered unacknowledged alert, and acknowledges it. A project file is provided for loading this sample in Eclipse. There is also a build.xml file for building the sample with Ant.
  • PerlClient: A sample application written in Perl that connects to SWIS over HTTPS, and contains example calls of SWIS API.
  • PowerShell samples: A set of PowerShell sample scripts containing example calls of SWIS API.
  • SwisInvoke.exe: A tool for invoking SWIS verbs (commands) from the Windows command line.
  • Reference documentation for the SWIS schema: In HTML format.         
  • SWIS Snapin for Windows PowerShell:A component that provides cmdlets you can use to access SWIS from Windows PowerShell, including querying data and invoking verbs. This requires a manual installation step to use. See the Orion SDK.pdf document for details on this

A couple of notes regarding the SDK.

  1. All support will be handled via the thwack SDK forum, which can be found here.
  2. If you call customer service regarding an SDK issue or question you will be directed to thwack, so please do not call customer support.

SolarWinds Orion SDK Team

137 Replies

We're working on an SDK update for NPM 11.5/SAM 6.2 that will include documentation on how to query the new alerting system. Orion.AlertStatus provides a view into the new alerting system, but it doesn't support all of the new features like Severity.

Until then, you can use the existing SDK to query the new entities that do provide the full view into the new alerting system. The relevant ones are Orion.AlertActive, Orion.AlertObjects, and Orion.AlertConfigurations. SWQL Studio can show you the properties of these entities.

You can get the currently outstanding alerts with a query like this:

SELECT TriggeredMessage, TriggeredDateTime, aa.AlertObjects.EntityCaption, aa.AlertObjects.AlertConfigurations.Severity

FROM Orion.AlertActive aa

tdanner‌, any updates on the docs for the 11.5/SAM 6.2 (new alerting system) for SWQL?  Perhaps the documentation is bundled into the existing v1.10 package ?

0 Kudos

Documentation for the new alerting entities has been posted at https://github.com/solarwinds/OrionSDK/wiki/Alerts.

(The SDK is moving to Github - see Orion SDK moving to Github.)

Hi,

Couple of questions regarding the forthcoming NPM 11.5 / SAM 6.2 releases:

1. How long after these releases will an updated SDK be

2. Can you give a clue to some of the new/updated features

many thanks

Mark

0 Kudos

Hi,

1. Currently released SDK 1.10 is fully compatible with upcoming NPM 11.5/SAM/... releases.

2. The functionality (Verbs, CRUD) is part of the products (Orion Platform, NPM, SAM). SDK just provides interface to use that, so it's quite hard to provide such info here from SDK point of view and is good to check the Metadata.* (Verb, Entity) entities to discover whether the functionality you need is available.

H.

0 Kudos
Level 11

Hi,

I couldn't see like "What's new in SDK v1.10?". Is there any information about v1.10?

0 Kudos

1.10 is a small SDK update. A few bug fixes to the tools and updating the HTML schema documentation for the product releases since last summer.

Level 7


Hi ,

May i know how solarwinds can trigger other system once detect the server fail ?

send out the email or can call exe file? or any other way like activemq?

0 Kudos

You can send email and run external programs from an alert trigger action. We don't have direct support for activemq, but you could write a simple script to push the alert details to your queue and make that script an alert trigger action.

0 Kudos

Hi tdanner,

When the email will be sent (trigger condition) , by who , configurable ?

Would you please explain more about alert trigger action?

Does this action be auto triggered in solarwind system when the server fail?

Thanks.

0 Kudos

Yes, these things are configurable. I recommend you check out the Advanced Alerts section in the Administrator Guide:

http://www.solarwinds.com/documentation/en/flarehelp/orionplatform/#orioncoreagusingorionadvancedale...

0 Kudos
Level 12

Hiya guys

i've been trying to get some code working, its from the original code, I'm trying to get the AP's over another part of the Orion database -create actual nodes so these can be monitored.

from:

[wireless_AccessPoints].name and IPAddress fields

To:

[nodes].caption and SysName

Name properties from the wireless table needs to be copied to the properties of the caption and SysName fields but not sure how to accomplish this.

There is no properties to copy over so I can remove the   $nodePropsToCopy = @("AgentPort"........)

Where the code says:

    # Make an in-memory copy of the node

    Write-Host "Copying" $sourceNode.Name "(" $sourceNode.IPAddress ")"

   # Write $SourceNode.Name to $TargetNode.caption / sysname

I was going to insert the copying there as its in a for loop.

im using NPM 11.0.1

can anyone help

0 Kudos

Hi,

Just be on the same page, you wanted to copy all the nodes from one database to another using the copynodes script but you need to replace Caption and SysName with Name and IPAddress of Orion.Packages.Wireless.AccessPoints for all the nodes. Correct?

In that case, in the copynodes.ps1 make the below mentioned changes

1) Replace the below mentioned query (only partial query) in place of

# Fetch all properties of the source node
$sourceNodeProps = Get-SwisObject $source $sourceNode.Uri

replace with

# Fetch all properties of the source node

$sourceNodeProps = Get-SwisData $source "SELECT NODES.ACCESSPOINTS.NAME AS CAPTION, NODES.ACCESSPOINTS.IPADDRESS AS SYSNAME, ... (ADD ALL OTHER PROPERTIES FROM NODES EXCEPT CAPTION AND SYSNAME)

FROM Orion.Nodes Where NodeID = @nodeid" @{nodeid=$sourceNode.Nodeid}

This change should copy all the nodes with Caption and Sysname taken from Orion.Packages.Wireless.AccessPoints. Please let me know if any clarification or changes.

0 Kudos

Hi Thanks for your quick reply

They are both in the same Orion database but just different tables the tables being From [Wireless_AccessPoints]  and to [Nodes] The reason for copying the properties from:

[Wireless_AccessPoints].Name  To[Nodes]. Caption and SysName 

and

[Wireless_AccessPoints].IPAddress to [Nodes].IPAddress

Is because there are no equal properties in both tables.

IE there is no Caption or SysName property in the [Wireless_AccessPoint] table

0 Kudos

Hi,

Still not sure why do you need to update IPAddress and Caption of Orion.Nodes as it may affect the functionality.

but provided below the PS script which takes the Name and IPAddress from Wireless_AccessPoint for matching nodeid and update Caption and IPAddress with this. You cannot update properties of Wireless_AccessPoint via SDK.

$nodedetails = Get-SwisData $swis "select Uri, nodeid, caption, ipaddress from orion.nodes"

foreach ($nodedetail in $nodedetails) {

    # Get Name and IPAddress from WIress_AccessPoints
    $wirelessDetail = Get-SwisData $swis "select name, ipaddress from Orion.Packages.Wireless.AccessPoints where nodeid = @nodeid" @{nodeid=$nodedetail.nodeid}  

    if ($wirelessDetail -ne $null) {
        # Update Node
        $nodedetail.Uri|Set-SwisObject $swis -Properties @{Caption=$wirelessDetail.name; ipaddress=$wirelessDetail.ipaddress;}
    }
}
0 Kudos

Thank you and sorry I didnt explain very well.

I want to be able to create new nodes in [nodes]  from the [wireless_AccessPoint] table.

There are no equal properties in both except IPAddress which i can copy over to the Node table and copy the Name contents to SysName and Caption.

I hope that's clearer as to what i'm trying to achive and thank you again for the above code.

0 Kudos

Hi,

To add a node via SDK, you can view the sample @"C:\Program Files (x86)\SolarWinds\Orion SDK\Samples\PowerShell\CRUD.AddNode.ps1"

Instead of hard coding the values, you can get the values from wireless_AccessPoint using Get-SwisData and use it in the create script.

Just adding IPAddress and Caption will not make the node creation complete. It will not be polled properly. In order to create a node properly, the below mentioned properties should be filled with proper value.

    "EntityType":"Orion.Nodes",

    "IPAddress":"10.10.1.1", Sample

    "IPAddressGUID":"044648a4-0000-0000-0000-000000000000", Sample

    "Caption":"",

    "DynamicIP":"false",

    "EngineID":"1",

    "Status":"1",

    "UnManaged":"false",

    "Allow64BitCounters":"false",

    "SysObjectID":"",

    "MachineType":"",

    "VendorIcon":"",

    "ObjectSubType":"SNMP",

    "SNMPVersion":"2",

    "Community":"public",

    "RediscoveryInterval":"5",

    "PollInterval":"120",

    "StatCollection":"10",

    "BufferNoMemThisHour":"-2",

    "BufferNoMemToday":"-2",

    "BufferSmMissThisHour":"-2",

      "BufferSmMissToday":"-2",

      "BufferMdMissThisHour":"-2",

      "BufferMdMissToday":"-2",

      "BufferBgMissThisHour":"-2",

      "BufferBgMissToday":"-2",

      "BufferLgMissThisHour":"-2",

      "BufferLgMissToday":"-2",

      "BufferHgMissThisHour":"-2",

      "BufferHgMissToday":"-2"

Level 16

Hi

Is there roadmap or "what we working on" to the SDK ?

Sure like to know what is next on 2.0

/SJA

We don't have a published "what we are working on" for the SDK. What are you interested in?

0 Kudos

create, update, delete operations for the IPAM and UDT products

Orthogonality of operations across all Orion objects.

i.e. if I can read an object (e.g. a [UDT] port) then I ought to be able to create, update, or delete it.

The same for an [IPAM] IP address, or subnet.

0 Kudos

Richard,

what you mentioned is implemented on the product side (IPAM/UDT). SDK just provides interface for working with CRUD, Verbs, etc... New SDK versions are mostly about bug fixes, documentation updating and new implementation for product needs (e.g. new types of parameters, connections, ...). As well as the the verbs, also the CRUD operations must be implemented on the product side. In case you're interrested in something special, raise the ticket or thread in the product space.

Thanks.

0 Kudos