The Orion SDK is a set of tools, published on GitHub, that you can use to interface with the SolarWinds Orion API. The API is not specific to any one Orion Platform product, such as SAM; instead, it's the infrastructure that all of those products run on. Each time you use an Orion Platform product, you're also interacting with the API -- it's open and waiting for requests that come from within the products (for example, when you add a node). The API is already running on your Main Polling Engine, as well as any Additional Polling Engines (APEs) or Additional Web Servers (AWS).
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.
Just as SAM can be used in many ways by different members of an organization, you can use the Orion SDK 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. In this topic, we'll discuss how to use the API Poller feature to interact with the SDK
Some ways to use the Orion SDK include:
- Provide Orion Platform data to external teams.
- Produce custom dashboards for executives (see SolarWinds Lab #69).
- Automate maps (SolarWinds Lab #8).
- Assign SAM application monitor templates to nodes.
- Create groups and dependencies.
- Deploy Orion agents.
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.
The Orion SDK is a powerful tool that can impact 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 Orion SDK customizations, including code.
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)