Sink Architecture in Enterprise PKS

Page last updated:

This topic describes how Enterprise Pivotal Container Service (Enterprise PKS) implements sinks for collecting logs and metrics from Kubernetes clusters.

Overview

Enterprise PKS provides the following types of sinks for collecting cluster logs and metrics:

  • Log sinks for monitoring your cluster logs.
  • Metric sinks for monitoring your cluster metrics.

Enterprise PKS clusters include an observability manager that manages log sink and metric sink configurations within a cluster.

The following diagram details Enterprise PKS cluster observability architecture:

Observability Manager architecture in PKS

In the Enterprise PKS tile > In-Cluster Monitoring pane:

  • Enable Metric Sink Resources enables metric sinks
  • Enable Log Sink Resources enables log sinks
  • Enable Node Exporter on workers forwards additional infrastructure metrics

Setting these checkboxes in Ops Manager directs how BOSH configures the observability manager.

For more information about enabling log sinks and metrics sinks, see (Optional) Logging in the Installing topic for your IaaS.

Log Sink Architecture

The Enterprise PKS log sink aggregates workload logs and forwards them to a common log destination.

The following diagram details Enterprise PKS log sink architecture:

Log sink architecture in PKS

Logs are monitored and aggregated by a Fluent Bit DaemonSet running as a pod on each worker node.

An event-controller collects Kubernetes API events and sends them to a second Fluent Bit daemon pod for aggregation.

All aggregated log entries are marshaled to a common log destination.

Note: When sinks are added or removed, all of the Fluent Bit pods are refreshed with new sink information.

Metric Sink Architecture

The Enterprise PKS metric sink aggregates workload metrics and forwards them to a common metrics destination.

The following diagram details Enterprise PKS metric sink architecture:

Metric Sink architecture in PKS

A metric sink collects and writes metrics from a cluster to specified outputs using input and output plugins.

Workload metrics are monitored by a set of third-party plugins. The plugins forward the metrics to a Telegraf service pod.

A pair of kubelets monitors Kubernetes and forwards Kubernetes metrics to a pair of Telegraf service pods.

If Node Exporter is enabled on the worker nodes in the Enterprise PKS tile, a Node Exporter DaemonSet is included in all clusters. For more information about Node Exporter metrics, see the Node Exporter repository in GitHub.

To define the collected unstructured metrics, a metric-controller monitors Kubernetes for custom resource definitions and forwards those definitions to the Telegraf services.

The Telegraf services collect, process, and aggregate gathered metrics. All aggregated metrics are marshaled to an additional plugin for forwarding to a third-party application.

Note: When sinks are added or removed, all of the Telegraf pods are refreshed with new sink information.

For more information about sinks in Enterprise PKS, see the following topics:


Please send any feedback you have to pks-feedback@pivotal.io.