The SolarWinds Platform SDK is a set of tools, published on GitHub, that you can use to interface with the SolarWinds Platform API. The API is not specific to any one SolarWinds Platform module; it's the infrastructure that all of those products run on.
Each time you use an SolarWinds Platform product, you interact with the API -- it's open and waiting for requests that come from within the products (for example, when you add a node for SAM monitoring). The API is already running on your Main Polling Engine, as well as any Additional Polling Engines (APEs) or Additional Web Servers.
SolarWinds provides the SolarWinds Platform SDK as a tool to enhance the flexibility and ease of manipulating certain aspects of the SolarWinds 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.
New to the SolarWinds Platform SDK and API? Read Intro to API, SDK, & SWQL on THWACK, or watch Orion SDK 101: Intro to PowerShell and the Orion API.
Just as SAM can be used in many ways by different members of an organization, you can use the SolarWinds Platform SDK for a variety of tasks, depending on what's available in your environment and how you use the SolarWinds Platform to interact with other systems. In this topic, we'll discuss how to use the API Poller feature to interact with the SolarWinds Platform SDK
Some ways to use the SolarWinds Platform SDK include:
- Provide SolarWinds Platform data to external teams.
- Assign SAM application monitor templates to nodes.
- Create groups and dependencies in the SolarWinds Platform.
- Deploy SolarWinds Platform agents to target nodes.
Note the following recommendations for using the SDK:
- Experiment with the SolarWinds Platform SDK in a non-production instance of SolarWinds Platform.
- Back up your SolarWinds Platform database frequently.
The SolarWinds Platform SDK is a powerful tool that can impact SolarWinds Platform data. Users should be well-versed in SQL queries with a background in programming. SolarWinds does not provide pre- or post-Sales support on any SolarWinds Platform SDK customizations, including code. Do not run untested PowerShell scripts against a production instance.
See the SolarWinds Platform SDK wiki to learn more about the API. Here are some highlights:
- API requests should include the following details:
- Authentication: Use your SolarWinds Platform 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.
SolarWinds Platform SDK terminology
If you're new to the SolarWinds Platform 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 SolarWinds Platform 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 SolarWinds Platform 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 SolarWinds Platform SDK, where issues are tracked. If you have questions, post them in the SolarWinds Platform 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 SolarWinds Platform database for specific network information. For syntax and query examples, see Use SWQL in the SolarWinds Platform.
SolarWinds Platform 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 SolarWinds 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 SolarWinds Platform is embodied as a Windows service called SWIS. This service supports communication between the SolarWinds Platform server, the SolarWinds Platform database, SolarWinds Platform modules like SAM and NPM, and Additional Polling Engines (APEs). You can also use SWIS to access the SolarWinds Platform when working with various scripting and programming technologies
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 SolarWinds Platform SDK, see:
- Intro to API, SDK, & SWQL (THWACK product blog)
- SolarWinds Platform SDK 101: Intro to PowerShell and the SolarWinds Platform API (video; 45:36)
- SolarWinds Platform SDK Advanced Training - SolarWinds Academy Training Class
- There's an API for That: Introduction to the SolarWinds SolarWinds Platform SDK (video; 30:00)
- Port 1777: Introduction to the SolarWinds API (video; 28.26)