Skip to main content

Grafana construct for cdk8s.

Project description

cdk8s-grafana

View on Construct Hub

cdk8s-grafana is a library that lets you easily define a Grafana service for your kubernetes cluster along with associated dashboards and datasources, using a high level API.

Usage

To apply the resources generated by this construct, the Grafana operator must be installed on your cluster. See https://operatorhub.io/operator/grafana-operator for full installation instructions.

The following will define a Grafana cluster connected to a Prometheus datasource:

import { Grafana } from 'cdk8s-grafana';

// inside your chart:
const grafana = new Grafana(this, 'my-grafana', {
  defaultDataSource: {
    name: 'Prometheus',
    type: 'prometheus',
    access: 'proxy',
    url: 'http://prometheus-service:9090',
  }
});

Basic aspects of a dashboard can be customized:

const github = grafana.addDatasource('github', ...);
const dashboard = grafana.addDashboard('my-dashboard', {
  title: 'My Dashboard',
  refreshRate: Duration.seconds(10),
  timeRange: Duration.hours(6), // show metrics from now-6h to now
  plugins: [
    {
      name: 'grafana-piechart-panel',
      version: '1.3.6',
    }
  ],
});

Note: the kubernetes grafana operator only supports one Grafana instance per namespace (see https://github.com/grafana-operator/grafana-operator/issues/174). This may require specifying namespaces explicitly, e.g.:

const devGrafana = new Grafana(this, 'my-grafana', {
  namespace: 'dev',
});
const prodGrafana = new Grafana(this, 'my-grafana', {
  namespace: 'prod',
});

The grafana operator must be installed in each namespace for the resources in that namespace to be recognized.

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk8s-grafana-0.1.638.tar.gz (327.0 kB view hashes)

Uploaded Source

Built Distribution

cdk8s_grafana-0.1.638-py3-none-any.whl (325.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page