Enterprise Kubernetes, delivered

Tectonic ships with CoreOS's signature automated operations, runs multi-cloud, and is the fastest, most secure path to Kubernetes.

Prometheus Open Cloud Service

Tectonic’s Prometheus Open Cloud Service provides a one-click, fully managed, application monitoring and metrics stack for both operations and applications teams on-top of a Tectonic cluster. Use Prometheus’s Alertmanager to route, email, page, or message teams when something goes wrong with an application or the container infrastructure. Prometheus OCS is:

  • Highly available: Configure redundancy to ensure important metrics are never missed in production or save resources in development environments by running a single instance.
  • Kubernetes Native: Use native Kubernetes paradigms like Pod label selectors and automatically track all application containers even as they are upgraded, destroyed, or rescheduled.
  • High performance: Containers encourage the creation of more services and CoreOS has ensured Prometheus can track all of those services while using minimal resources. (For more information on Prometheus, see the blog post Prometheus, the backbone of container monitoring, hits 2.0.)

Allows you to deploy and manage Prometheus instance into any namespace.

Deploying Prometheus OCS

Use Tectonic Console to enable the Prometheus OCS for selected namespaces.

By default, objects created using the Prometheus OCS will be labeled prometheus=k8s.

Using the Prometheus Open Cloud Service to deploy a Prometheus instance will create the following Kubernetes objects:

  • A Prometheus CRD
  • A Prometheus Service Monitor
  • A Prometheus Stateful Set
  • A Prometheus Secret

Ingesting metrics

Prometheus Open Cloud Service will not enable Ingress for the cluster. First configure Ingress to access the Prometheus UI.

Once enabled, go to *https:///prometheus* to access Prometheus monitoring for the cluster. Select *Status > Targets* to confirm that Prometheus is correctly configured and ingesting metrics.

Using Alertmanager

Use the built-in Tectonic Alertmanager with the Prometheus OCS. Alertmanagers should be shared between Prometheus instances.

For Service discovery, the Prometheus Pod must have permission to access the Kubernetes API in the tectonic-system namespace. Follow the instructions in Monitoring Applications to create a ClusterRoleBinding to bind the available ClusterRole to an appropriate ServiceAccount. Using Tectonic Console to create a Prometheus instance will automatically generate the required ClusterRoleBinding.

For more information, see Exposing Prometheus and Alertmanager and Alerting.

Working with Kubernetes Services to monitor your app

Prometheus must have sufficient RBAC permissions to access the Kubernetes cluster.

The app must be instrumented, and expose an HTTP endpoint. Use the Client Library appropriate to your app to expose metrics through an HTTP endpoint.

Then, configure Prometheus to discover these targets.

  1. Create a Service selecting the Pods of the deployed app.
  2. Create a ServiceMonitor object to select the Service objects to be monitored by the Prometheus server. Use a label-selector to define the objects to be monitored.
  3. Configure Prometheus to select the ServiceMonitor.

For more information, see Application Monitoring.