Tectonic Monitoring

Tectonic ships with a pre-configured and self-updating monitoring stack that is based on the Prometheus open source project and its wider eco-system. It provides monitoring of cluster components and ships with a set of alerts to immediately notify cluster admins about any occurring problems.

Overview

At the heart of the monitoring stack sits the Tectonic Prometheus Operator, which watches over the deployed monitoring components and resources, and ensures that they are always up to date.

One of the core components that Tectonic Monitoring ships is the Prometheus Operator. The Prometheus Operator creates, configures, and manages Prometheus monitoring instances. It automatically generates monitoring target configurations based on familiar Kubernetes label queries.

Architecture

Cluster Monitoring

A Prometheus instance dedicated to monitoring the Tectonic cluster itself is also shipped, controlled by the Prometheus Operator. This instance includes a set of alerting rules to notify operators about problems in a cluster.

Use the Prometheus Alertmanager to send notifications to operators. Tectonic Monitoring includes a highly available cluster of the Alertmanager, meant to be used not only by the Prometheus instance monitoring the Tectonic cluster, but rather by all Prometheus instances.

In addition to Prometheus and Alertmanager, Tectonic Monitoring also includes node-exporter and kube-state-metrics. Node-exporter is an agent deployed on every node to collect metrics about it. The kube-state-metrics exporter agent converts Kubernetes objects to metrics consumable by Prometheus.

The targets monitored as part of the cluster monitoring are:

  • Prometheus itself
  • Prometheus-Operator
  • Alertmanager cluster instances
  • Kubernetes apiserver
  • kubelets (the kubelet embeds cAdvisor for per container metrics)
  • kube-scheduler
  • kube-controller-manager
  • kube-state-metrics
  • node-exporter

All these components are automatically updated.

Tectonic Monitoring is also configurable, learn how to configure Tectonic Monitoring.

Note that in order to be able to deliver updates with guaranteed compatibility, configurability of the Tectonic Monitoring stack is limited to the explicitly available options. Read more on update and compatibility guarantees.

Application Monitoring

Create additional Prometheus instances managed by the Prometheus Operator to monitor individual applications.

Accessing Prometheus and Alertmanager

Tectonic Monitoring ships with a Prometheus instance for cluster monitoring and a central Alertmanager cluster. In addition to Prometheus and Alertmanager, Tectonic Monitoring also includes a Grafana instance as well as pre-built dashboards for cluster monitoring troubleshooting.

By default, all web UIs are exposed through Kubernetes Ingress, and accessible at the following names:

  • Prometheus: https://$CLUSTER-DNS/prometheus
  • Alertmanager: https://$CLUSTER-DNS/alertmanager
  • Grafana: https://$CLUSTER-DNS/grafana

Authentication is performed against Tectonic Identity, and uses the same credentials or means of authentication as is used elsewhere in Tectonic.