Module sysbot.modules.monitoring.grafana

Grafana Module

This module provides methods for interacting with Grafana monitoring system via REST API. It supports read-only operations such as health checks, datasource retrieval, dashboard retrieval, and user/organization information.

Note: This module uses the HTTP connector with API Key or Basic authentication. Sessions should be opened with protocol="http" and product="apikey" or "basicauth".

Classes

class Grafana

Grafana module for monitoring system management.

This class provides methods to interact with Grafana systems using REST API via the HTTP connector with API Key or Basic authentication. All methods require an alias to identify the established HTTP session.

Ancestors

Methods

def get_alerts(self, alias: str, **kwargs) ‑> list

Get all alerts.

Args

alias : str
The session alias for the Grafana connection.

Returns

list
List of alerts.
def get_current_organization(self, alias: str, **kwargs) ‑> dict

Get the current organization.

Args

alias : str
The session alias for the Grafana connection.

Returns

dict
Current organization information.
def get_current_user(self, alias: str, **kwargs) ‑> dict

Get the current authenticated user.

Args

alias : str
The session alias for the Grafana connection.

Returns

dict
Current user information.
def get_dashboard_by_uid(self, alias: str, dashboard_uid: str, **kwargs) ‑> dict

Get a dashboard by UID.

Args

alias : str
The session alias for the Grafana connection.
dashboard_uid : str
Dashboard unique identifier.

Returns

dict
Dashboard configuration and metadata.
def get_datasource_by_id(self, alias: str, datasource_id: int, **kwargs) ‑> dict

Get a specific datasource by ID.

Args

alias : str
The session alias for the Grafana connection.
datasource_id : int
Datasource identifier.

Returns

dict
Datasource configuration.
def get_datasource_by_name(self, alias: str, datasource_name: str, **kwargs) ‑> dict

Get a specific datasource by name.

Args

alias : str
The session alias for the Grafana connection.
datasource_name : str
Datasource name.

Returns

dict
Datasource configuration.
def get_datasources(self, alias: str, **kwargs) ‑> list

Get all configured datasources in Grafana.

Args

alias : str
The session alias for the Grafana connection.

Returns

list
List of datasource configurations.
def get_folders(self, alias: str, **kwargs) ‑> list

Get all folders.

Args

alias : str
The session alias for the Grafana connection.

Returns

list
List of folders.
def get_home_dashboard(self, alias: str, **kwargs) ‑> dict

Get the home dashboard.

Args

alias : str
The session alias for the Grafana connection.

Returns

dict
Home dashboard configuration.
def get_organizations(self, alias: str, **kwargs) ‑> list

Get all organizations (requires admin permissions).

Args

alias : str
The session alias for the Grafana connection.

Returns

list
List of organizations.
def get_users(self, alias: str, **kwargs) ‑> list

Get all users (requires admin permissions).

Args

alias : str
The session alias for the Grafana connection.

Returns

list
List of users.
def health_check(self, alias: str, **kwargs) ‑> dict

Check Grafana health status.

Args

alias : str
The session alias for the Grafana connection.

Returns

dict
Health status information.
def search_dashboards(self, alias: str, query: str = '', **kwargs) ‑> list

Search for dashboards.

Args

alias : str
The session alias for the Grafana connection.
query : str
Search query string (optional).

Returns

list
List of dashboard search results.