Managing users

SMTP configuration is not available by default at startup, so directly sending a user invitation from the Grafana UI will not work under the organization and user management screen. 2 options are possible:

  • Set SMTP configuration details to be able to send user invites and other notifications via email
  • Manually create users

Configure SMTP and send user Invites

To activate SMTP email sending, use the exo CLI with the following parameters:

exo dbaas update --zone de-fra-1 grafana-smtp --grafana-settings '{"smtp_server":{"host":"a_valid_smtp_host","port":587,"username":"myusername","password":"mypassword","from_address":"dashboard@your.domain"}}'

The full list of parameters is as follow:

Required:

  • from_address: (String) Address used for sending emails.
  • host: (String) Server hostname or IP.
  • port: (Number) SMTP server port.

Optional:

  • from_name: (String) Name used in outgoing emails, defaults to Grafana.
  • password: (String, Sensitive) Password for SMTP authentication.
  • skip_verify: (Boolean) Skip verifying server certificate. Defaults to false.
  • starttls_policy: (String) Either OpportunisticStartTLS, MandatoryStartTLS or NoStartTLS. Default is OpportunisticStartTLS.
  • username: (String) Username for SMTP authentication.

Then proceed to the admin/users/ section of the Grafana portal and follow the instructions.

Tip

the SMTP settings can also be set at service creation using the CLI with the same --grafana-settings option flag.

Manual user creation:

If no SMTP configuration is set then proceed as described:

  • Navigate to the admin/users/ section of the Grafana portal
  • Add the user. Deactivate the sent email option.
  • No email will be sent. You can retrieve the invitation link by click on the pending invites button.
  • Specifically add the user to the organization you would prefer. By default a new organization will be created for each new user, whereas you might want to have them under the same default organization.

Notifications

For notifications, you can implement any of the alert notifications extensions from the Grafana portal.

Specific options when creating or updating a Managed Grafana service

You can find all the specific options for Managed Grafana by using the CLI help:

exo dbaas create --help-grafana
  --grafana-fork-from              name of a Database Service to fork from
  --grafana-ip-filter              allow incoming connections from CIDR address block
  --grafana-settings               grafana configuration settings (JSON format)

Restricting connections from the internet

By default, Exoscale DBaaS is not accessible from the whole internet. Data does not transmit in clear over the network as it is SSL encrypted by default and authenticated.

To allow incoming connections to your database service, you can add a filter allowing:

  • just one IP address
  • a network range
  • or a combination of IP address and network range

To do this, update your service or create it with the IP filter, which is a comma separated list of CIDRs:

exo dbaas update -z de-muc-1 test-grafana --grafana-ip-filter=1.2.3.4/24,5.6.7.8/32

Specific options when creating or updating a Grafana service

You can find all the specific options for Grafana by using the CLI help:

exo dbaas type show grafana --settings grafana
┼──────────────────────────────────┼─────────┼───────────────────────────────────────────────────┼
│               KEY                │  TYPE   │                    DESCRIPTION                    │
┼──────────────────────────────────┼─────────┼───────────────────────────────────────────────────┼
│ dashboard_previews_enabled       │ boolean │ This feature is new in Grafana 9 and is quite     │
│                                  │         │ resource intensive. It may cause low-end plans to │
│                                  │         │ work more slowly while the dashboard previews are │
│                                  │         │ rendering.                                        │
│                                  │         │   * Example: false                                │
│ alerting_enabled                 │ boolean │                                                   │
│ smtp_server                      │ object  │                                                   │
│ allow_embedding                  │ boolean │                                                   │
│ cookie_samesite                  │ string  │                                                   │
│ auth_gitlab                      │ object  │                                                   │
│ alerting_max_annotations_to_keep │ integer │                                                   │
│ dataproxy_send_user_header       │ boolean │                                                   │
│ google_analytics_ua_id           │ string  │                                                   │
│ alerting_nodata_or_nullvalues    │ string  │                                                   │
│ metrics_enabled                  │ boolean │                                                   │
│ auth_github                      │ object  │                                                   │
│ dataproxy_timeout                │ integer │                                                   │
│ viewers_can_edit                 │ boolean │                                                   │
│ alerting_error_or_timeout        │ string  │                                                   │
│ privatelink_access               │ object  │                                                   │
│ auth_basic_enabled               │ boolean │                                                   │
│ date_formats                     │ object  │                                                   │
│ user_auto_assign_org_role        │ string  │                                                   │
│ auth_generic_oauth               │ object  │                                                   │
│ recovery_basebackup_name         │ string  │                                                   │
│ auth_azuread                     │ object  │                                                   │
│ user_auto_assign_org             │ boolean │                                                   │
│ dashboards_versions_to_keep      │ integer │                                                   │
│ editors_can_admin                │ boolean │                                                   │
│ auth_google                      │ object  │                                                   │
│ disable_gravatar                 │ boolean │                                                   │
│ dashboards_min_refresh_interval  │ string  │ Signed sequence of decimal numbers, followed by a │
│                                  │         │ unit suffix (ms, s, m, h, d), e.g. 30s, 1h        │
│                                  │         │   * Example: 5s                                   │
┼──────────────────────────────────┼─────────┼───────────────────────────────────────────────────┼

Plugins

The following plugins are packaged with the Managed Grafana instances and do not require additional installation. These are updated on a regular basis.

Panel plugins

  • AJAX - Grafana | GitHub

    • A general way to load external content into a Grafana dashboard.
  • Alert list - Grafana | Grafana Docs

    • Allows you to display alerts on a dashboard. The list can be configured to show either the current state of your alerts or recent alert state changes.
  • Annotation list - Grafana | GitHub

    • Shows user annotations in Grafana database.
  • Bar chart - Grafana Docs

    • Allows you to graph categorical data.
  • Bar gauge - Grafana Docs

    • Simplifies your data by reducing every field to a single value. You choose how Grafana calculates the reduction. This panel can show one or more bar gauges depending on how many series, rows, or columns your query returns.
  • Candlestick - Grafana Docs

    • Shows a chart that is typically used to describe price movements of a security, derivative, or currency.
  • Canvas - Grafana

    • Included with Grafana. Canvas visualizations are extensible form-built panels that allow you to explicitly place elements within static and dynamic layouts. Similar to UI and web design tools you may have used before.
  • Carpet plot - Grafana

    • Receives data series and divides all the data into individual buckets.
  • Clock - Grafana | GitHub

    • Shows the current time or a countdown and updates every second.
  • D3 Gauge - Grafana | GitHub

    • Provides a D3-based gauge panel for Grafana 6.x/7.x
  • Dashboard list - Grafana | Grafana Docs

    • Allows you to display dynamic links to other dashboards. The list can be configured to use starred dashboards, a search query and/or dashboard tags.
  • Diagram - Grafana | GitHub

    • Provides a way to create flow-charts, sequence diagrams, and Gantt charts by leveraging the mermaid.js library.
  • Discrete - Grafana | GitHub

    • Shows discrete values in a horizontal graph, plotting state transitions.
  • FlowCharting - Grafana | Docs

    • Displays complex diagrams using the online graphing library draw.io.
  • Gauge

    • Standard gauge visualization.
  • Geomap

    • Included with Grafana.
  • Getting Started

    • Included with Grafana.
  • Graph - Grafana Docs

    • Included with Grafana, provides a very rich set of graphing options.
  • Heatmap - Grafana | Grafana Docs

    • Allows you to view histograms over time. The legacy Heatmap plugin is also still available.
  • Histogram - Grafana | GitHub

    • Provides a histogram for time series data.
  • Logs

    • Included with Grafana.
  • News - Grafana Docs

    • This panel visualization displays an RSS feed. By default, it displays articles from the Grafana Labs blog.
  • Node Graph

    • Included with Grafana.
  • Panel / Plotly - GitHub

    • Render metrics using the plot.ly JavaScript framework.
  • Pie Chart - Grafana | GitHub

    • Adding pie charts to your dashboard.
  • Plugin list - Grafana

    • Included with Grafana.
  • Singlestat Math - Grafana

    • A modification of the native single stat panel to support math functions across series.
  • Stat - Grafana Docs

    • Included with Grafana, allows you to show the one main summary stat of a SINGLE series.
  • State timeline

    • Included with Grafana.
  • Status history

    • Provides a periodic status history.
  • Status Panel - Grafana | GitHub

    • Use as a centralized view for the status of component in a glance.
  • Statusmap - Grafana | GitHub

    • Shows discrete statuses of multiple targets over time.
  • Table - Grafana

    • Supports both multiple modes for time series as well as for table, annotation and raw JSON data. It also provides date formatting and value formatting and coloring options.
  • Text - Grafana

    • A simple panel that displays text. The source text is written in markdown so that you can format it.
  • Time series

    • Allows for visualizing time series data.
  • Welcome

    • Included with Grafana.
  • Worldmap Panel - GitHub

    • Displays time series data or geohash data from Elasticsearch overlaid on a world map.
  • XY Chart - Grafana

    • Native plugin that supports arbitrary X vs Y in graphs.

Data source plugins

  • Altinity plugin for ClickHouse® - GitHub

    • Provides support for ClickHouse® as a backend database.
  • Azure Monitor - Grafana | GitHub

    • Provides a single source for monitoring Azure resources.
  • CloudWatch - Grafana | Grafana Docs

    • Build dashboards for your CloudWatch metrics.
  • Elasticsearch - Grafana | Grafana Docs

    • Performs Elasticsearch queries to visualize logs or metrics stored in Elasticsearch. Annotate your graphs with log events stored in Elasticsearch.
  • GitHub - GitHub

    • Allows GitHub API data to be visually represented in Grafana dashboards.
  • Google BigQuery - GitHub

    • Provides support for BigQuery as a backend database.
  • Google Sheets - Grafana | GitHub

    • Visualize your Google Spreadsheets in Grafana.
  • Graphite - Grafana | Grafana Docs

    • Quickly navigate the metric space, add functions, change function parameters and more.
  • InfluxDB® - Grafana | Grafana Docs

  • Instana - Grafana | GitHub

    • Shows metrics from Instana AI-Powered APM for dynamic applications.
  • Jaeger

    • Open source, end-to-end distributed tracing.
  • Loki

    • A built in data source that allows you to connect to the Loki logging service.
  • Microsoft SQL Server

    • Grafana ships with a built-in Microsoft SQL Server (MSSQL) data source plugin that allows you to query and visualize data from any Microsoft SQL Server 2005 or newer.
  • MySQL - Grafana | Grafana Docs

    • Allows you to query any visualize data from a MySQL compatible database.
  • OpenSearch® - Grafana

    • Runs many types of simple or complex OpenSearch® queries to visualize logs or metrics stored in OpenSearch. Annotate your graphs with log events stored in OpenSearch.
  • OpenTSDB - Grafana | Grafana Docs

    • OpenTSDB is a scalable, distributed time series database.
  • Pagerduty - Grafana | GitHub

    • Annotations-only datasource for Pagerduty events.
  • PostgreSQL® - Grafana | Grafana Docs

    • Allows you to query and visualize data from a PostgreSQL compatible database.
  • Prometheus - Grafana | Grafana Docs

    • Work with the open-source service monitoring system and time series database.
  • Prometheus AlertManager - GitHub

  • Allows you to use the AlertManager API of Prometheus to create dashboards in Grafana.

  • SimpleJson - Grafana | GitHub

  • Stackdriver / Google Cloud Monitoring

    • Data source for Google’s monitoring service (formerly named, and listed as, Stackdriver).
  • Tempo

    • High volume, minimal dependency trace storage. OSS tracing solution from Grafana Labs.
  • TestData DB

    • Generates test data in different forms.
  • Zipkin

    • Data source for the distributed tracing system.

Other

  • Grafana Image Renderer (Renderer) - Grafana | GitHub

    • Handles rendering panels and dashboards to PNGs using a headless browser (Chromium).
  • Traces (Application) - Grafana

  • Grafana Enterprise Traces (GET) is a commercial offering based on Tempo, and allows you to deploy a highly-scalable, simple, and reliable traces cluster in your own data center.

  • worldPing - GitHub

    • Continually tests, stores and alerts on the global performance and availability of your Internet applications so you can pinpoint issues.
  • Zabbix (Application) - Grafana | GitHub

    • Visualizes your Zabbix metrics.

Elasticsearch is a trademark of Elasticsearch B.V., registered in the U.S. and in other countries.