This is a Terraform module for deploying a pre-defined set of OpenTelemetry dashboards in Cloud Observability. Most users will only be interested in a small subset of the dashboards.
- Cloud Observability account and API Key with
member
permissions. - Applicable metrics from your integration sending to your Cloud Observability project.
- Terraform v1.0+
Each resource has an associated module that will create Cloud Observability dashboards to view metrics. Currently, these resources are supported:
- Active Directory DS Receiver Integration (module:
otel-collector-activedirectorydsreceiver-dashboard
) - ActiveMQ (module:
otel-collector-activemqreceiver-dashboard
) - Airflow Integration (module:
otel-collector-airflow-dashboard
) - Apache Integration (module:
otel-collector-apachereceiver-dashboard
) - ArangoDB (module:
otel-collector-arangodb
) - Ceph - Overview (module:
otel-collector-ceph-dashboard
) - Cilium Overview (module:
otel-collector-cilium-overview-dashboard
) - ClickHouse - Overview (module:
otel-collector-clickhouse-dashboard
) - CockroachDB - Overview (module:
otel-collector-cockroachdb-dashboard
) - CouchDB Receiver (module:
otel-collector-couchdbreceiver-dashboard
) - K8s OpenTelemetry Collectors (module:
otel-collector-dashboard
) - Dockerstats Metrics (module:
otel-collector-dockerstats-dashboard
) - Elasticsearchreceiver Receiver (module:
otel-collector-elasticsearchreceiver-dashboard
) - ETCD v3 - Overview (module:
otel-collector-etcd-dashboard
) - Flink - Overview (module:
otel-collector-flink-dashboard
) - Fluentd Records (module:
otel-collector-fluentd-dashboard
) - Grafana (module:
otel-collector-grafana-dashboard
) - Gunicorn - Overview (module:
otel-collector-gunicorn-dashboard
) - Hadoop (module:
otel-collector-hadoop-dashboard
) - HAProxy - Overview (module:
otel-collector-haproxy-dashboard
) - HBase (module:
otel-collector-hbase-dashboard
) - Host (module:
otel-collector-host-dashboard
) - Host Metrics (module:
otel-collector-host-metrics-dashboard
) - Host Metrics (Prometheus) (module:
otel-collector-host-metrics-prom-dashboard
) - Host Metrics / CPU (module:
otel-collector-hostmetrics-cpu-dashboard
) - Host Metrics / Disk (module:
otel-collector-hostmetrics-disk-dashboard
) - Host Metrics / Memory (module:
otel-collector-hostmetrics-memory-dashboard
) - Host Metrics / Paging (module:
otel-collector-hostmetrics-paging-dashboard
) - HttpCheck (module:
otel-collector-httpcheck-dashboard
) - IBMMQ Integration (module:
otel-collector-ibmmq-dashboard
) - iisreceiver Integration (module:
otel-collector-iisreceiver-dashboard
) - JBoss Wildfly (module:
otel-collector-jbosswildfly
) - K8S Kubelet (Prometheus) (module:
otel-collector-k8s-kubelet-prom-dashboard
) - Kubernetes Resources - Pods (Prometheus) (module:
otel-collector-k8s-pod-resources-prom-dashboard
) - Collector - Kafka Metrics (module:
otel-collector-kafka-dashboard
) - kafkametricsreceiver Integration (module:
otel-collector-kafkametricsreceiver-dashboard
) - Kubeletstats Receiver (module:
otel-collector-kubeletstatsreceiver-dashboard
) - Kubernetes Application (module:
otel-collector-kubernetes-application-dashboard
) - Kubernetes Comprehensive (module:
otel-collector-kubernetes-comprehensive-dashboard
) - Kubernetes Comprehensive (Prometheus) (module:
otel-collector-kubernetes-comprehensive-dashboard-prometheus
) - ____ (module:
otel-collector-kubernetes-dashboard
) - memcachedreceiver Integration (module:
otel-collector-memcachedreceiver-dashboard
) - Minio (module:
otel-collector-minio-dashboard
) - mongoatlasreceiver Integration (module:
otel-collector-mongodbatlasreceiver-dashboard
) - MongoDB Summary (module:
otel-collector-mongodbreceiver-dashboard
) - MySQL (module:
otel-collector-mysqlreceiver-dashboard
) - Nginx Integration (module:
otel-collector-nginxreceiver-dashboard
) - Hashcorp Nomad Server (module:
otel-collector-nomad-dashboard
) - PostgreSQL (module:
otel-collector-postgresqlreceiver-dashboard
) - powerdnsreceiver Integration (module:
otel-collector-powerdns-dashboard
) - RabbitMQ (module:
otel-collector-rabbitmqreceiver-dashboard
) - Redis (module:
otel-collector-redisreceiver-dashboard
) - riakreceiver Integration (module:
otel-collector-riakreceiver-dashboard
) - Hardware Sentry - Host (module:
otel-collector-sentryhost-dashboard
) - Hardware Sentry - Observability & Sustainability (module:
otel-collector-sentryobservability-dashboard
) - Hardware Sentry - Site (module:
otel-collector-sentrysite-dashboard
) - SNMP Metrics (module:
otel-collector-snmp-dashboard
) - Solr Overview (module:
otel-collector-solr-dashboard
) - sqlserverreceiver Integration (module:
otel-collector-sqlserverreceiver-dashboard
) - Squid - Overview (module:
otel-collector-squid-dashboard
) - Apache Tomcat (module:
otel-collector-tomcat-dashboard
) - Varnish - Overview (module:
otel-collector-varnish-dashboard
) - Vault - Overview (module:
otel-collector-vault-dashboard
) - zookeeperreceiver Integration (module:
otel-collector-zookeeperreceiver-dashboard
) - OTel Operator (module:
otel-operator-dashboard
) - OTel Target Allocator (module:
otel-target-allocator-dashboard
)
This repo has the following folder structure:
- collector-dashboards: This folder contains standalone, reusable, modules that you can use to create different types of Cloud Observability dashboards for commonly used resources.
- examples: This folder shows examples of different ways to define creation of dashboards.
- root folder: The root folder is an example of how to use the terraform-opentelemetry-dashboards module to create Cloud Observability OpenTelemetry Dashboards. The Terraform Registry requires the root of every repo to contain Terraform code, so we've put one of the examples there. This example is great for learning and experimenting, but for production use, please use the underlying modules in the collector-dashboards folder directly.
To deploy create Cloud Observability dashboards for production using this repo:
-
Ensure account meets module pre-requisites from above.
-
Create a Terraform configuration that pulls module(s) and specifies values of the required variables.
-
Run
terraform init
andterraform apply
with your API Key set in the environment variableLIGHTSTEP_API_KEY
(or the environment variable name you specified in configuration).
This repository uses pre-commit
and tflint
to format and lint HCL code.
To install:
$ brew install tflint
$ brew install pre-commit
$ pre-commit install
After you add a new dashboard module run make ready
which will fix minor formatting issues, generate the root module files, and generate the document you're reading.