SolarWinds Integration via Grafana Enterprise Data Source Plugin

The convergence of infrastructure monitoring and observability represents a critical frontier in modern DevOps and Site Reliability Engineering (SRE). As organizations scale across hybrid and multi-cloud environments, the ability to unify disparate data streams into a single, high-fidelity pane of glass becomes paramount. The Grafana SolarWinds data source plugin serves as this vital bridge, enabling the ingestion and visualization of telemetry from the SolarWinds Orion product family directly into Grafana dashboards. SolarWinds operates as a comprehensive network and infrastructure monitoring platform, providing the essential tools required to oversee network performance, server health, and application availability. By integrating this data into Grafana, engineering teams can move beyond siloed monitoring, instead achieving a state of correlated observability where infrastructure health metrics—such as CPU load, memory usage, and active alerts—are mapped directly against application performance indicators. This integration facilitates a proactive monitoring posture, significantly reducing the Mean Time to Resolution (MTTR) during complex incident response cycles.

Currently, the Grafana SolarWinds enterprise data source plugin is situated in a public preview stage. This designation carries significant implications for enterprise deployment strategies. Because the plugin is in public preview, Grafana Labs offers limited support, and users must be prepared for the possibility of breaking changes occurring before the feature reaches general availability. For organizations planning long-term production rollouts, it is essential to monitor the Grafana Labs release lifecycle documentation to understand the trajectory of the plugin's maturity. While the plugin is part of the enterprise-tier offerings, it is worth noting that these specialized plugins are also accessible within the Free tier of Grafana Cloud, providing an entry point for teams to evaluate the integration without immediate capital expenditure.

Architecture and Data Access via SWIS

To effectively utilize the SolarWinds data source, one must understand the underlying data access layer known as the SolarWinds Information Service (SWIS). SWIS functions as a sophisticated data access layer for the Orion product family, presenting a hybrid architecture that combines object-oriented and relational features. This abstraction layer allows users to interact with complex network objects through a simplified, SQL-based language known as the SolarWinds Query Language (SWQL).

The relationship between the data source and the SolarWinds instance is defined by the following technical characteristics:

  • SWQL implementation: The plugin supports SWQL queries through a dedicated text interface, allowing for the execution of complex queries that leverage the full power of the SolarWinds API.
  • Data Abstraction: SWIS provides a unified interface that hides the underlying complexity of the MS SQL database used by SolarWinds.
  • Query Execution: Users can utilize the query builder's Action dropdown to select the SWQL Query option, which then provides a textbox for manual query entry.
  • Schema Adherence: All queries must strictly adhere to the SWQL format accepted by the SolarWinds API to ensure successful data retrieval and prevent execution errors.

The utility of SWQL within Grafana cannot be overstated. By allowing raw SWQL input, the plugin empowers users to perform deep-drill queries into the SolarWinds database, retrieving highly specific metrics that standard visual editors might not expose. This capability is particularly critical when attempting to calculate custom saturation or latency metrics that are not available out-of-the-box.

Deployment and Installation Methodologies

Installing the SolarWinds data source plugin requires different approaches depending on whether the Grafana instance is running in a managed cloud environment or a self-managed local/on-premise installation.

Local and On-Premise Installation

For local Grafana instances, the installation is primarily managed via the Grafana Command Line Interface (CLI). This method is preferred as it ensures the plugin is correctly registered with the Grafana service.

  1. Use the grafana-cli tool to execute the installation command:
    grafana-cli plugins install grafana-solarwinds-datasource
  2. The plugin is typically installed into the default plugins directory, which is /var/lib/grafana/plugins on most Linux distributions.
  3. If the grafana-cli method is not used, the plugin can be manually installed by downloading the architecture-specific .zip file and extracting it directly into the plugin subdirectory.
  4. If a user is attempting to use a third-party or community-developed plugin, such as the etichy/grafana-swis-datasource found on GitHub, they must manually extract the zip file into the data/plugins subdirectory.
  5. If the data/plugins directory does not exist in newer Grafana versions, the user must manually create the directory.
  6. Users must be cautious when installing unsigned community plugins, as Grafana's security protocols will likely refuse to load them unless specifically configured to allow unsigned plugins via the custom.ini configuration file.

Grafana Cloud Installation

In the context of Grafana Cloud, the deployment process is managed by Grafana Labs.

  • The plugin is available for installation via the Grafana Cloud interface.
  • Users must be aware of a propagation delay: it can take up to 15 minutes for the SolarWinds data source plugin to become visible and available within the Grafana Cloud dashboard after the entitlement has been provisioned.

Configuration and Authentication Requirements

Once the plugin is installed, the configuration phase is critical for establishing a secure and functional connection to the SolarWinds instance. The plugin requires specific credentials and network connectivity to function.

Basic and Authentication Fields

To establish a connection, the following parameters must be configured within the Data Source settings:

  • URL: The hostname or IP address of the SolarWinds instance (e.g., https://<hostname>).
  • Username: A valid SolarWinds username with sufficient permissions to query the SWIS API.
  • Password: The corresponding password for the specified user.
  • TLS Configuration: If the SolarWinds instance utilizes a self-signed certificate, the administrator must manually check the Add self-signed certificate or Skip TLS certificate validation checkbox to prevent connection rejection.

Provisioning via Configuration Files

For enterprise-grade deployments, manual configuration via the UI is often replaced by automated provisioning. This ensures consistency across multiple Grafana instances and facilitates "Infrastructure as Code" (IaC) workflows. The following YAML example demonstrates how to provision the SolarWinds data source:

yaml apiVersion: 1 datasources: - name: SolarWinds type: grafana-solarwinds-datasource url: https://<hostname> username: <username> secureJsonData: password: <password>

In this configuration, the secureJsonData block is used to ensure that the sensitive password remains encrypted within the Grafana database, rather than being stored in plain text within the provisioning file.

Advanced Visualization and Dashboarding

The ultimate goal of the SolarWinds integration is the creation of meaningful, actionable dashboards. While the plugin does not currently support a visual query editor, the ability to use the Explore view and custom variables allows for highly dynamic visualizations.

Dashboard Capabilities

Advanced dashboards can leverage the MS SQL data underlying SolarWinds to create a holistic view of the infrastructure. Key visualization components include:

  • Geomaps: Utilizing the SolarWinds data to display network device response times geographically, with customizable thresholds.
  • Time Series Panels: Tracking fluctuations in CPU load, memory usage, and network latency over time.

  • Stat Panels: Providing real-time snapshots of Network Availability % (from NPM) and Application Availability % (from SAM).

  • Thresholding: Implementing color-coded alerts based on latency and saturation metrics, following industry best practices like the Google SRE handbook.

Using Variables and Explore View

To create interactive dashboards that allow users to switch between different network segments or devices, query variables must be implemented.

  • Creating Variables: Users can add a new SolarWinds query variable by navigating to the Dashboard Settings. The Query field should contain a valid SWQL query that returns a list of values (e.ran, a list of Node Names).
  • The Explore View: This feature is essential for ad-hoc troubleshooting. It allows engineers to run SWQL queries and visualize the results immediately as logs or charts, facilitating rapid investigation of performance anomalies without needing to modify a permanent dashboard.

Enterprise Licensing and Procurement

The SolarWinds data source plugin is a paid-for enterprise plugin developed by a marketplace partner. It is not a free-to-use community plugin, and access is governed by an entitlement model.

The procurement process involves the following steps:

  1. Contacting Grafana Labs: Users must fill out the official contact form to express interest.
  2. Consultation: Grafana Labs representatives will reach out to discuss specific organizational needs and deployment scale.
  3. Payment: The transaction is handled directly by Grafana Labs.
  4. Delivery: Once the entitlement is purchased, the plugin becomes available for installation in Grafana Cloud, or a signed version is provided for on-premise/self-managed installations.

For those utilizing Grafana Cloud, it is important to note that while the plugin is available in the Free tier, the underlying enterprise features and advanced data source capabilities may be subject to the specific pricing plan chosen by the user.

Summary of Technical Specifications

Feature/Requirement Specification/Detail
Plugin Status Public Preview
Supported Query Language SWQL (SolarWinds Query Language)
Primary Data Access Layer SWIS (SolarWinds Information Service)
Authentication Method Username/Password via HTTPS
Installation Tool grafana-cli or manual .zip extraction
Default Plugin Path /var/lib/grafana/plugins
Supported Metrics CPU Load, Memory Usage, Active Alerts, Latency, Saturation
Configuration Method UI-based or YAML Provisioning
Cloud Propagation Delay Up to 15 minutes on Grafana Cloud
Plugin Type Enterprise / Marketplace Partner Plugin

Critical Troubleshooting and Connectivity Notes

When encountering issues with the SolarWinds data source, engineers should investigate several layers of the technology stack:

  • Plugin Loading Failures: If the "Select" button is missing or disabled in the "Add data source" menu, check the validity of the Grafana Enterprise license. If the plugin was installed manually, ensure the custom.ini does not have a conflicting plugins path defined.
  • Data Source Connectivity: For environments where Grafana Cloud must connect to an externally hosted SolarWinds instance, the deployment of a Grafana Private Data Source Connect (PDC) Agent on the SolarWinds server is mandatory. This allows for a secure bridge between the cloud and the local network.
  • SQL Connectivity: For advanced users attempting to bypass the plugin and query the MS SQL database directly, the Grafana PDC Agent must be configured to allow MS SQL connectivity.
  • Unsigned Plugin Errors: If using the community-driven grafana-swis-datasource, ensure the plugin is signed; otherwise, Grafana will block the loading of the plugin by default for security reasons.

Analysis of Integration Impact

The integration of SolarWinds and Grafana represents a significant shift from reactive monitoring to proactive observability. By moving the data from the proprietary SolarWinds interface into the open, highly customizable Grafana ecosystem, organizations break the "data silo" effect. This allows for a unified observability strategy where the network (NPM) and applications (SAM) are not viewed as separate entities, but as interconnected components of a single distributed system.

The reliance on SWQL within the plugin is a double-edged sword. On one hand, it provides the granular control necessary for complex, high-fidelity monitoring. On the other hand, it increases the cognitive load on engineers, who must be proficient in SWQL to extract the full value of the integration. However, when coupled with the ability to create dynamic variables and geomaps, the resulting dashboards provide a level of spatial and temporal context that traditional monitoring tools cannot replicate. As the plugin moves from public preview to general availability, the focus will likely shift from establishing basic connectivity to refining the visual query editor and enhancing the ease of use for non-expert users.

Sources

  1. SolarWinds data source plugin
  2. Grafana Community - SolarWinds DataSource Issue
  3. Grafana SolarWinds Plugin Marketplace
  4. SolarWinds Grafana Dashboard
  5. Grafana Provisioning Documentation

Related Posts