THWACK logo
THWACK
  • Sign In
  • Search
  • Community
    Community

    Find all you need to begin your THWACK journey, including documentation, missions, blogs, community groups, events, and media.

    Command Central
    • Getting Started
    MVP Program
    • MVP Program
    Monthly Mission
    • Puzzle Party
    Blogs
    • Community Announcements
    • Product Blog
    Groups
    • DevOps Discourse
    • Data Driven
    • See All Groups
    Events
    • SolarWinds User Group
    • THWACKcamp
      • ↪ 2024: On Demand
    • Bracket Battle
    Media Vault
    • Movies & Mainframes
    • TechPod
    • THWACK Tech Tips
    • THWACK Livecast
    • SolarWinds Lab Archive
    • THWACKcamp Archive
    • See All Media
  • Products
    Products

    Find the best place to learn and ask questions about your SolarWinds products.

    Observability
    • Observability Solutions
    • SolarWinds Observability SaaS
    • SolarWinds Observability Self-Hosted
    • SolarWinds Platform
    Network Management
    • Network Performance Monitoring
    • NetFlow Traffic Analyzer
    • Network Configuration Manager
    • IP Address Manager
    • User Device Tracker
    • VoIP & Network Quality Manager
    • Log Analyzer
    • Engineer's Toolset
    • Network Topology Mapper
    • Kiwi CatTools
    • Kiwi Syslog Server
    • ipMonitor
    Application Management
    • AppOptics
    • Loggly
    • Papertrail
    • Pingdom
    • DevOps
    IT Security
    • Access Rights Manager
    • Identity Monitor
    • Security Event Manager
    • Patch Manager
    • Serv-U FTP & MFT
    IT Service Management
    • SolarWinds Service Desk
    • Web Help Desk
    • DameWare Remote Support
    • DameWare Remote Everywhere
    • DameWare Mini Remote Control
    System Management
    • Server & Application Monitor
    • Virtualization Manager
    • Storage Resource Monitor
    • Server Configuration Monitor
    • SolarWinds Backup
    • Web Performance Monitor
    Database Management
    • Database Performance Analyzer
    • SQL Sentry
    • Database Performance Monitor
    • Database Mapper
    • Task Factory
  • Content Exchange
    Content Exchange

    Find downloadable files and templates other users have built and found useful to share with others.

    SolarWinds Platform
    • Alerts
    • Custom HTML
    • Custom Queries
    • Modern Dashboards
    • Reports
    • Scripts
    Server & Application Monitor
    • API Pollers
    • Application Monitor Templates
    Database Performance Analyzer
    • Custom Alerts
    • Custom Metrics
    • Custom Queries
    Server Configuration Monitor
    • Policies
    • Profiles
    Network Performance Monitor
    • Device Pollers
    • Universal Device Pollers
    Network Configuration Manager
    • Config Change Scripts
    • Device Templates
    • Firmware Upgrade Templates
    • Policy Documents
    SQL Sentry
    • Advisory Conditions
    Web Help Desk
    • Style Sheets
  • Resources
    SolarWinds Customer Portal Customer Portal

    Create individual user accounts for your team, manage your licenses, download your SolarWinds software, create and track support tickets, and more.

    SolarWinds Academy Academy

    A one-stop-shop for world-class training for SolarWinds products through on-demand videos, and instructor-led classes. All SolarWinds Academy content is included with every software purchase.

    SolarWinds Customer Success Support

    Get help when you need it from a world-class support team, available to assist with technical product issues 24 hours a day, seven days a week, 365 days a year.

    SolarWinds Partner Portal Partner Portal

    Accelerate SolarWinds Partners’ ability to drive digital and IT transformation for customers with powerful tools, resources, and increased profit potential.

  • Free Tools & Trials
  • Store
The SolarWinds Platform
  • Products
The SolarWinds Platform
SolarWinds Platform API SWQL Studio
  • Newsroom
  • Forums
  • SolarWinds Platform API
  • Content Exchange
  • What We're Working On
  • Feature Requests
  • More
  • Cancel
  • New
  • -SolarWinds Platform API
    • About the SolarWinds Information Service (SWIS)
    • +Setting up a Python Development Environment
    • +Using PowerShell 7+ and Visual Studio Code
    • -SolarWinds Query Language (SWQL) Basics
      • +What is the SolarWinds Query Language?
      • SWQL Studio
      • Query Basics in SWQL Studio
      • Query Construction in SWQL Studio
      • Navigation Properties
      • Architect
    • +Data Presentation Examples
    • Additional Resources
    • Glossary

SWQL Studio

SolarWinds understands that not everyone is a programmer or a database administrator.  Every individual comes to the SolarWinds solutions in their own unique way: be they a network engineer, a systems administrator, a virtualization specialist, or a storage aficionado.  That doesn’t change the fact that your monitoring data is critical to making informed business decisions.

Currently, many people are probably wondering why we didn’t begin this chapter talking about SWQL Studio. We could have done so, but the inherent problem with SWQL Studio is that it is a data-tool first and does not enforce best practices (mandatory aliasing, formatting with parenthesis, checking Boolean logic, etc.) Therefore, the authors elected to ground this chapter in the practical recommendations before moving onto the tools to assist.

A Data Tool for Non-DBAs

SWQL Studio is an open-source project maintained by SolarWinds which provides a graphical data navigator for the SolarWinds Platform API.  It can be downloaded from GitHub and runs on most modern Windows operating systems.

We do NOT recommend you install SWQL Studio on the SolarWinds Platform server(s). In the event that SWQL Studio requires a computer reboot to finish an update, this will take down your SolarWinds monitoring for an unimportant patch. It is primarily used as a client-based tool.

After installation, you’ll be asked to authenticate with a server of your choosing.  Enter the server’s name or IP address, your username and password and click Connect.

Authentication in SWQL Studio can take many forms, but the two most used are “Orion (v3)” and “Orion (v3) AD.”  Orion (v3) is for basic Orion logins where you enter a username and password.  “Orion (v3) AD” uses your current domain credentials and sends those to the server for validation.  This behavior is like Windows Integrated Authentication.

The object explorer on the left will contain all the relevant data points where you can retrieve data.  Expand, your server, then the Orion namespace, then the Orion.Nodes entity, and finally, the Unmanage verb.  This will show each type of identifier in your data set.

Your specific namespaces, entities, and counts may not match to that of another Orion installation.  This is by design.  The number of entries is dependent on the installed version of your server.  However, the definition of the namespaces and entities will be common.  (Orion.Nodes is always Orion.Nodes regardless of the version installed).

Data Source

You can think of your data source as the monitoring database, but it’s more than just a single database – it encompasses the data among all the connected SQL databases running your SolarWinds Orion platform products.

Namespaces

Namespace is a programming term which contains multiple element definitions.  For the purposes of our discussion, it’s safe to think of namespaces as collections of like entities.

Entities

In database parlance, one can think of entities as tables.  They behave much the same way, but their underlying construction is different.  Unlike traditional database tables, entities in the Orion API only support SELECT queries.  Creation, updates, and deletion are either handled by verbs or other mechanisms.  Entities will commonly (but erroneously) be called “tables” – we have no preference among the pages in this book but will do our best to use the term ‘entity.’

Any entity which is represented with a strikethrough is considered deprecated.  This means that as of your current build of the SolarWinds Platform, that entity still exists, but will be removed in a subsequent version.

Properties

Quite simply, properties are the fields that are returned when you query an entity.  You’ll find people referring to them by either name for the same reasons that entities are called tables – because it’s a term for a concept with which people are already familiar.Special Properties

During your exploration you will probably come across two special properties.  The first will be the primary key (or keys) which help uniquely identify the record in the entity.   The second is rarer, but still exists.  Any property which is formatted with a strike-through is a deprecated property.  As previously stated, these are rare, but they have occurred over the lifetime of the API.  If you have a query that is currently utilizing a deprecated property, it will need to be updated.  Refer to the in-product documentation (typically below the Object explorer) for the updated property to use.

Inherited Properties

Grouped with properties are Inherited Properties.  These are values which are inherited from another entity or from another constructor to alter the output.  They are not automatically selected when you create a new query using the right-click menu on an entity to create a query.  The most important inherited property to notice is URI (Uniform Resource Indicator).  This is a string unique to a specific entity within your entire monitoring infrastructure and is used in multiple verbs and functions.

Navigation Properties

The chain link icon indicates a Navigation Property.  These are properties which do not exist in this entity, but where a connection exists to another, related entity.  These are frequently used as a replacement for various JOIN operations in queries.  The important thing to notice is the name of the Navigation Property, which will always be in the format “NavPropName (Entity).”  Using the above example, Orion.VIM.Nas has a navigation property Hosts (Orion.VIM.Hosts).  When a query is made against the Orion.VIM.Nas entity, you can simultaneously request properties about the host by using the Hosts keyword followed by the property from the Orion.VIM.Hosts entity.

Fundamentally, this is identical to building a JOIN between the two entities on a primary key but eliminates the need to know the primary key or the inheritance direction.  This is covered more in depth in Decreasing JOINs - the Power of Navigation Properties .

Verbs

We all heard that verbs are “action words” and that’s no different for the Orion API.  The verbs are where you take an action on one of your monitored elements.  There are verbs to manage and unmanage elements, mute them, change settings, and more.  After you are comfortable with building your own SWQL queries, investigating verbs should be your next step.

Verb Parameters

Verbs and ParametersVerbs require parameters to define the work to be done, the target, timespans, settings, and other details.  These are important to review within the SWQL Studio explorer because the data types and order are important.  For the verbs exposed via the Orion API, the parameters are strictly typed and ordered.

Search

At the top of the object explorer, there is a search field.  This will search across all existing elements and filter for only to elements where the name matches your search term (either as parent entries or child objects).  To clear the current filter, remove any typed text from the search field.

  • SWQL Studio
  • SolarWinds Query Language (SWQL)
  • Share
  • History
  • More
  • Cancel
Related
Recommended

SolarWinds solutions are rooted in our deep connection to our user base in the THWACK® online community. More than 200,000 members are here to solve problems, share technology and best practices, and directly contribute to our product development process.

SolarWinds Customer Success Center Certification SolarWinds Lab Link Customer Portal
About THWACK SolarWinds Blog Federal & Government Edit Settings Free Tools & Trials
Legal Documents Terms of Use Privacy California Privacy Rights Security Information
©2021 SolarWinds Worldwide, LLC. All Rights Reserved.