All Projects → yoomoney → grafana-dashboard-dsl

yoomoney / grafana-dashboard-dsl

Licence: MIT License
DSL for generating Grafana dashboards

Programming Languages

kotlin
9241 projects
shell
77523 projects

Projects that are alternatives of or similar to grafana-dashboard-dsl

Hastic Grafana App
Hastic data management server for labeling patterns and anomalies in Grafana
Stars: ✭ 166 (+225.49%)
Mutual labels:  metrics, grafana
Prometheus Book
Prometheus操作指南
Stars: ✭ 2,637 (+5070.59%)
Mutual labels:  metrics, grafana
Bigquery Grafana
Google BigQuery Datasource Plugin for Grafana.
Stars: ✭ 188 (+268.63%)
Mutual labels:  metrics, grafana
Stagemonitor
an open source solution to application performance monitoring for java server applications
Stars: ✭ 1,664 (+3162.75%)
Mutual labels:  metrics, grafana
Jmeter Elasticsearch Backend Listener
JMeter plugin that lets you send sample results to an ElasticSearch engine to enable live monitoring of load tests.
Stars: ✭ 72 (+41.18%)
Mutual labels:  backend, grafana
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+3794.12%)
Mutual labels:  metrics, grafana
Sdk
Library for using Grafana' structures in Go programs and client for Grafana REST API.
Stars: ✭ 193 (+278.43%)
Mutual labels:  metrics, grafana
Pingprom
Prometheus uptime monitoring quickstart
Stars: ✭ 107 (+109.8%)
Mutual labels:  metrics, grafana
Vos backend
vangav open source - backend; a backend generator (generates more than 90% of the code needed for big scale backend services)
Stars: ✭ 71 (+39.22%)
Mutual labels:  backend, metrics
Docker Traefik Prometheus
A Docker Swarm Stack for monitoring Traefik with Promethues and Grafana
Stars: ✭ 215 (+321.57%)
Mutual labels:  metrics, grafana
Grafana Influx Dashboard
Grafana InfluxDB scripted dashboard
Stars: ✭ 130 (+154.9%)
Mutual labels:  metrics, grafana
octane-exporter
Export Laravel Octane metrics using this Prometheus exporter.
Stars: ✭ 14 (-72.55%)
Mutual labels:  metrics, grafana
Heplify Server
HEP Capture Server
Stars: ✭ 110 (+115.69%)
Mutual labels:  metrics, grafana
Github Monitoring
Monitor your GitHub Repos with Docker & Prometheus
Stars: ✭ 163 (+219.61%)
Mutual labels:  metrics, grafana
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+89958.82%)
Mutual labels:  metrics, grafana
Icingaweb2 Module Grafana
Grafana module for Icinga Web 2 (supports InfluxDB & Graphite)
Stars: ✭ 190 (+272.55%)
Mutual labels:  metrics, grafana
Legacy Kubernetes App
Grafana App for Kubernetes
Stars: ✭ 76 (+49.02%)
Mutual labels:  metrics, grafana
Influxgraph
Graphite InfluxDB backend. InfluxDB storage finder / plugin for Graphite API.
Stars: ✭ 87 (+70.59%)
Mutual labels:  metrics, grafana
Aliyun Exporter
Prometheus exporter for Alibaba Cloud Monitor
Stars: ✭ 210 (+311.76%)
Mutual labels:  metrics, grafana
gitana
Gitana is a lightweight dashboard sync
Stars: ✭ 61 (+19.61%)
Mutual labels:  grafana, grafana-dashboards

Build Status codecov License: MIT Javadoc Download

Grafana Dashboard DSL

Kotlin DSL for generating Grafana dashboards.

Features

  • Grafana Dashboards as a Code: review and vcs control over dashboards
  • Reusable dashboards, panels, configs, etc
  • Share visualization style across different metrics
  • Easy to keep metrics up-to-date
  • Easy to extend to most features of Grafana
  • Easy to include in CI cycle: dashboard is a JSON-document
  • Power of Kotlin language

Supported data sources

  • Graphite (./src/examples/kotlin/ru/yoomoney/tech/grafana/dsl/examples/GrafanaGraphiteDemoLayouts.kts)
  • Prometheus (./src/examples/kotlin/ru/yoomoney/tech/grafana/dsl/examples/GrafanaPrometheusDemoLayouts.kts)
  • Zabbix

Usage with gradle plugin

See documentation at Grafana Dashboard Plugin

Manual usage

build.gradle

sourceSets {
    grafana {
        kotlin
    }
}

dependencies {
    grafanaCompile 'ru.yoomoney.tech:grafana-dashboard-dsl:3.0.0'    
}

Code for dashboards generation must be placed in ${projectDir}/src/grafana/kotlin/. Generation performed manually:

import ru.yoomoney.tech. grafana.dsl.dashboard

fun main(args: Array<String>) {
    println(dashboard(title = "My custom dashboard") {
        panels {
            // ...
        }
    })
}

Examples

Examples are in ./src/examples/kotlin/ru/yoomoney/tech/grafana/dsl/examples

Development

To create new dashboards, panels, metrics, and others, create a class (usually with postfix *Configuration or*Builder), mark it with annotation ru.yoomoney.tech.grafana.dsl.DashboardElement, and create data-class for it's contents, that's implements ru.yoomoney.tech.grafana.dsl.json.Json

For example see DashboardBuilder and Dashboard classes

How to contribute?

Just fork the repo and send us a pull request.

Make sure your branch builds without any warnings/issues.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].