All Projects → K-Phoen → Dark

K-Phoen / Dark

Licence: mit
(grafana) Dashboards As Resources in Kubernetes

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Dark

Grabana
User-friendly Go library for building Grafana dashboards
Stars: ✭ 313 (+64.74%)
Mutual labels:  hacktoberfest, yaml, grafana, grafana-dashboard, dashboards
website
Prometheus monitoring mixins
Stars: ✭ 91 (-52.11%)
Mutual labels:  yaml, dashboards, grafana-dashboard
Grafana Dashboards
Grafana Dashboards
Stars: ✭ 228 (+20%)
Mutual labels:  grafana, grafana-dashboard, dashboard
Pagerbeauty
📟✨ PagerDuty on-call widget for monitoring dashboard. Datadog and Grafana compatible
Stars: ✭ 250 (+31.58%)
Mutual labels:  grafana, grafana-dashboard, dashboard
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 (+24073.68%)
Mutual labels:  hacktoberfest, grafana, dashboard
Pi Hole Influx
A python daemon to send Pi-Hole stats for Grafana to InfluxDB
Stars: ✭ 126 (-33.68%)
Mutual labels:  grafana, grafana-dashboard
Grafana Influx Dashboard
Grafana InfluxDB scripted dashboard
Stars: ✭ 130 (-31.58%)
Mutual labels:  grafana, grafana-dashboard
Hubot Grafana
📈🤖 Query Grafana dashboards
Stars: ✭ 141 (-25.79%)
Mutual labels:  hacktoberfest, grafana
Grafcli
Grafana CLI for quick and easy dashboards management.
Stars: ✭ 152 (-20%)
Mutual labels:  grafana, dashboard
Just Dashboard
📊 📋 Dashboards using YAML or JSON files
Stars: ✭ 1,511 (+695.26%)
Mutual labels:  yaml, dashboard
Legend
Legend builds and publishes Grafana dashboards for your services with prefilled metrics and alerts for your services.
Stars: ✭ 149 (-21.58%)
Mutual labels:  grafana, grafana-dashboard
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+945.26%)
Mutual labels:  grafana, grafana-dashboard
Cyclotron
A web platform for constructing dashboards.
Stars: ✭ 1,554 (+717.89%)
Mutual labels:  hacktoberfest, dashboards
Config Lint
Command line tool to validate configuration files
Stars: ✭ 118 (-37.89%)
Mutual labels:  hacktoberfest, yaml
Docker Influxdb Grafana
A Docker container which runs InfluxDB and Grafana ready for persisting data
Stars: ✭ 130 (-31.58%)
Mutual labels:  hacktoberfest, grafana
Dynaconf
Configuration Management for Python ⚙
Stars: ✭ 2,082 (+995.79%)
Mutual labels:  hacktoberfest, yaml
Configurate
A simple configuration library for Java applications providing a node structure, a variety of formats, and tools for transformation
Stars: ✭ 148 (-22.11%)
Mutual labels:  hacktoberfest, yaml
Hastic Grafana App
Hastic data management server for labeling patterns and anomalies in Grafana
Stars: ✭ 166 (-12.63%)
Mutual labels:  grafana, dashboard
Github Monitoring
Monitor your GitHub Repos with Docker & Prometheus
Stars: ✭ 163 (-14.21%)
Mutual labels:  grafana, dashboard
Polaris
Validation of best practices in your Kubernetes clusters
Stars: ✭ 2,397 (+1161.58%)
Mutual labels:  hacktoberfest, dashboard

DARK

codecov

Dashboards As Resources in Kubernetes.

DARK provides a way to define and deploy Grafana dashboards via Kubernetes, next to the services they monitor.

If you are looking for a way to version your dashboards and deploy them across all environments, like you would do with your services, then this project is meant for you.

Design goals

  • full description of dashboards via YAML
  • compatibility with kubectl
  • seamless integration with Grafana
  • delegate YAML decoding and dashboard generation to Grabana

Setup

Note: review these manifests to ensure that they fit your cluster's configuration.

Setup the CRD:

kubectl apply -f k8s/crd.yaml

Add the ClusterRole and ClusterRoleBinding to grant ServiceAccount API access to the new GrafanaDashboard resource:

kubectl apply -f k8s/cluster-role.yaml

Create a secret to store Grafana's API token (with editor access level):

kubectl create secret generic dark-tokens --from-literal=grafana=TOKEN_HERE

Deploy DARK's controller:

kubectl apply -f k8s/deployment.yaml

Dashboard definition

Define a dashboard:

# k8s/example-dashboard.yml
apiVersion: k8s.kevingomez.fr/v1
kind: GrafanaDashboard

metadata:
  # must be unique across dashboards
  name: example-dashboard

folder: "Awesome folder"
spec:
  title: Awesome dashboard

  shared_crosshair: true
  tags: [generated, yaml]
  auto_refresh: 10s

  variables:
    - interval:
        name: interval
        label: interval
        default: 1m
        values: [30s, 1m, 5m, 10m, 30m, 1h, 6h, 12h]

  rows:
    - name: Prometheus
      panels:
        - graph:
            title: HTTP Rate
            height: 400px
            datasource: prometheus-default
            targets:
              - prometheus:
                  query: "rate(promhttp_metric_handler_requests_total[$interval])"
                  legend: "{{handler}} - {{ code }}"
        - graph:
            title: Heap allocations
            height: 400px
            datasource: prometheus-default
            targets:
              - prometheus:
                  query: "go_memstats_heap_alloc_bytes"
                  legend: "{{job}}"

For more information on the YAML schema used to describe dashboards, see Grabana.

Apply the configuration:

kubectl apply -f k8s/example-dashboard.yml

And verify that the dashboard was created:

kubectl get dashboards
kubectl get events | grep dark

Converting Grafana JSON dashboard to YAML

To ease the transition from existing, raw Grafana dashboards to DARK, a converter is provided. It takes the path to a JSON dashboard and a path for the destination YAML file.

docker run --rm -it -v $(pwd):/workspace kphoen/dark-converter:latest convert-yaml -i dashboard.json -o converted-dashboard.yaml

Converting Grafana JSON dashboard to a Kubernetes manifest

docker run --rm -it -v $(pwd):/workspace kphoen/dark-converter:latest convert-k8s-manifest -i dashboard.json -o converted-dashboard.yaml test-dashboard

License

This library is under the MIT license.

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].