Docs » Available host and application monitors » Configure application receivers for orchestration » Kubernetes controller manager

Kubernetes controller manager πŸ”—

Description πŸ”—

Note: This monitor is deprecated in favor of the prometheus-exporter monitor. Switch to the Prometheus Exporter as the Smart Agent is deprecated. All Prometheus labels are converted directly to Infrastructure Monitoring dimensions. To learn more, see Prometheus Exporter.

The Splunk Distribution of OpenTelemetry Collector provides this integration as the kube-controller-manager monitor by using the SignalFx Smart Agent Receiver.

Use this integration to export Prometheus metrics from the kube-controller-manager.

The monitor queries path /metrics by default when no path is configured. The monitor converts the Prometheus metric types to Splunk Observability Cloud metric types as described in the documentation for prometheus-exporter.

Note: All metrics of this monitor are non-default and are only emitted if specified explicitly.

Benefits πŸ”—

After you configure the integration, you can access these features:

Installation πŸ”—

Follow these steps to deploy this integration:

  1. Deploy the Splunk Distribution of OpenTelemetry Collector to your host or container platform:

  2. Configure the monitor, as described in the Configuration section.

  3. Restart the Splunk Distribution of OpenTelemetry Collector.

Configuration πŸ”—

This monitor type is available in the Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector. You can use existing Smart Agent monitors as OpenTelemetry Collector metric receivers with the Smart Agent Receiver.

This monitor type requires a properly configured environment on your system in which you’ve installed a functional Smart Agent release bundle. The Collector provides this bundle in the installation paths for x86_64/amd64.

To activate this monitor type in the Collector, add the following lines to your configuration (YAML) file:

Configuration example πŸ”—

To activate this monitor in the Splunk Distribution of OpenTelemetry Collector, add the following to your agent configuration:

receivers:
  smartagent/kube-controller-manager:
    type: kube-controller-manager
    ... # Additional config

To complete the monitor activation, you must also include the smartagent/kube-controller-manager receiver item in a metrics pipeline. To do this, add the receiver item to the service/pipelines/metrics/receivers section of your configuration file. For example:

service:
  pipelines:
    metrics:
      receivers: [smartagent/kube-controller-manager]

See configuration examples for specific use cases that show how the Splunk Distribution of OpenTelemetry Collector can integrate and complement existing environments.

Configuration settings πŸ”—

The following table shows the configuration options for this monitor:

Option

Required

Type

Description

httpTimeout

no

int64

HTTP timeout duration for both read and writes. This should be a duration string that is accepted by https://golang.org/pkg/time/#ParseDuration (default: 10s)

username

no

string

Basic Auth username to use on each request, if any.

password

no

string

Basic Auth password to use on each request, if any.

useHTTPS

no

bool

If true, the agent will connect to the server using HTTPS instead of plain HTTP. (default: false)

httpHeaders

no

map of strings

A map of HTTP header names to values. Comma separated multiple values for the same message-header is supported.

skipVerify

no

bool

If useHTTPS is true and this option is also true, the exporter’s TLS cert will not be verified. (default: false)

caCertPath

no

string

Path to the CA cert that has signed the TLS cert, unnecessary if skipVerify is set to false.

clientCertPath

no

string

Path to the client TLS cert to use for TLS required connections

clientKeyPath

no

string

Path to the client TLS key to use for TLS required connections

host

yes

string

Host of the exporter

port

yes

integer

Port of the exporter

useServiceAccount

no

bool

Use pod service account to authenticate. (default: false)

metricPath

no

string

Path to the metrics endpoint on the exporter server, usually /metrics (the default). (default: /metrics)

sendAllMetrics

no

bool

Send all the metrics that come out of the Prometheus exporter without any filtering. This option has no effect when using the Prometheus exporter monitor directly since there is no built-in filtering, only when embedding it in other monitors. (default: false)

Sample YAML configurations πŸ”—

The following is an example configuration of this monitor:

monitors:
- type: kube-controller-manager
  discoveryRule: kubernetes_pod_name =~ "kube-controller-manager" && target == "pod"
  port: 10252
  extraDimensions:
    metric_source: kubernetes-controller-manager

Metrics πŸ”—

These metrics are available for this integration.

Get help πŸ”—

If you are not able to see your data in Splunk Observability Cloud, try these tips:

To learn about even more support options, see Splunk Customer Success.