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.