Created when SolarWinds NPM was first offered as a separate module for the Orion Platform, the Orion Software Development Kit (SDK) is a powerful API that you can interact with via the API Poller feature. Just as SAM can be used in a multitude of ways by different members of an organization, the Orion SDK can be used for a variety of tasks, depending on what's available in your environment and how you use the Orion Platform to interact with other systems.
SolarWinds provides the Orion SDK as a tool to enhance the flexibility and ease of manipulating certain aspects of the Orion Platform. The SDK offers direct access to portions of the SolarWinds Information Service (SWIS) using SQL-like queries in SolarWinds Query Language (SWQL). It allows for higher-level operations than would be allowed when making changes in SQL, returning results similar to what SWQL or SWIS tools return.
Some ways to use the Orion SDK include:
- Provide Orion data to external teams.
- Produce custom dashboards for executives (see SolarWinds Lab #69).
- Automate maps (SolarWinds Lab #8).
- Assigning Application Templates to Nodes
- Creating Groups and Dependencies
- Deploying Agents
The Orion SDK is a powerful tool that can impact your Orion Platform data. Before using it, you should be well-versed in SQL queries and have a background in programming. SolarWinds does not provide pre- or post-sales support on any customizations, including code, using the Orion SDK.
Note the following recommendations for using the SDK:
- Experiment with the Orion SDK in a non-production instance of Orion.
- Back up your Orion database frequently.
- Do not run untested PowerShell scripts against a production instance; see also Use SAM in PowerShell.
See the Orion SDK wiki to learn more about the API. Here are some highlights:
- API requests should include the following details:
- Authentication: Use your Orion account credentials.
- Authorization: Read-only requests don't require extra permissions, but you'll need Node Management rights to create, update, or delete data.
- The API lives on port 17778, uses HTTPS, and requires that you add /SolarWinds/InformationService/v3/Json/ portion after the host:port section.
To learn about additional SolarWinds APIs, see Useful SAM APIs.
Orion SDK terminology
If you're new to the Orion SDK, the following definitions for basic terms may be helpful:
- Software Development Kit (SDK). An SDK is a set of tools and libraries, provided by vendors, that allow others to more easily consume their API. You can download the Orion SDK from GitHub at https://github.com/solarwinds/OrionSDK. It includes documentation, code samples, and tools like SWQL Studio, a GUI you can use to build custom SWQL queries and browse through available data.
You don't need to deploy the Orion SDK to use SAM's API Poller feature, but the included SWQL Studio app may be helpful.
The GitHub site is the main resource for the Orion SDK, where issues are tracked. If you have questions, post them in the Orion SDK forum on THWACK instead of contacting SolarWinds Support. That forum is frequented by SolarWinds staff and THWACK MVPs, as well as other customers that can provide feedback.
- SolarWinds Query Language (SWQL): SWQL (rhymes with "pickle") is a proprietary, read-only subset of SQL that you can use to query your Orion database for specific network information. For syntax and query examples, see Use SWQL in the Orion Platform.
- Orion API: In software development terms, an Application Programming Interface (API) is an access point that allows one piece of software to access another. In a multi-tier system that is engineered to have its web, polling, reporting, and coordination communicate via separate layers, an API allows different parts of a system to be developed independently. The Orion Platform is that type of system (also called N-tier architecture), and you can use SWQL to read data through the API, as well as add, delete, or update data.
- SolarWinds Information Service (SWIS). The implementation of the API within the Orion Platform is embodied as a Windows service called SWIS. This service supports communication between the Orion server, the Orion database, Orion Platform modules like SAM and NPM, and Additional Polling Engines (APEs). It is also via SWIS that various scripting and programming technologies can be used to access the Orion Platform.
- CRUD: SWIS supports the ability to Create, Update, and Delete SolarWinds (CRUD) objects so you can add nodes, add interfaces to nodes, and manage many other processes programmatically. can add nodes, add interfaces to nodes,
To learn more about the Orion SDK, see:
- Intro to API, SDK, & SWQL (THWACK product blog)
- Orion SDK Advanced Training - SolarWinds Academy Training Class
- There's an API for That: Introduction to the SolarWinds Orion SDK (video; 30:00)
- SolarWinds SWIS API Programming Class - SolarWinds Lab #39 (video; 37:13)
- Port 1777: Introduction to the SolarWinds API (video; 28.26)