Docs » Configure application receivers » Configure application receivers for orchestration » OpenShift cluster

OpenShift cluster 🔗

Description 🔗

The Splunk Distribution of OpenTelemetry Collector provides this integration as the openshift-cluster monitor type by using the SignalFx Smart Agent Receiver.

Use this integration to collect cluster-level metrics from the Kubernetes API server, which includes all metrics from the kubernetes-cluster monitor with additional OpenShift-specific metrics. You only need to use the openshift-cluster monitor for OpenShift deployments, as it incorporates the kubernetes-cluster monitor automatically.

Since the agent is generally running in multiple places in a Kubernetes cluster, and since it is generally more convenient to share the same configuration across all agent instances, this monitor by default makes use of a leader election process to ensure that it is the only agent sending metrics in a cluster.

All of the agents running in the same namespace that have this monitor configured decide amongst themselves which agent should send metrics for this monitor. This agent becomes the leader agent. The remaining agents stand by, ready to activate if the leader agent dies. You can override leader agent election by setting the alwaysClusterReporter option to true, which makes the monitor always report metrics.

This monitor is similar to the kube-state-metrics monitor, and sends many of the same metrics, but in a way that is less verbose and a better fit for the Splunk Observability Cloud backend.

This monitor is available on Kubernetes, Linux, and Windows.

Benefits 🔗

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

  • View metrics using the built-in dashboard. For information about dashboards, see View dashboards in Observability Cloud.

  • View a data-driven visualization of the physical servers, virtual machines, AWS instances, and other resources in your environment that are visible to Infrastructure Monitoring. For information about navigators, see Splunk Infrastructure Monitoring navigators.

  • Access Metric Finder and search for metrics sent by the monitor. For information about Metric Finder, see Use the Metric Finder.

Installation 🔗

Follow these steps to deploy this integration:

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

    • Install on Kubernetes. When installing Kubernetes using the Helm chart, use the --set distribution='openshift' option to generate specific OpenShift metrics, in addition to the standard Kubernetes metrics. For example:

      helm install --set cloudProvider=' ' --set distribution='openshift' --set splunkObservability.accessToken='******' --set            clusterName='cluster1' --set splunkObservability.realm='us0' --set gateway.enabled='false' --generate-name splunk-otel-collector-chart/splunk-otel-collector
      
    • Install on Linux

    • Install on Windows

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

  3. Restart the Splunk Distribution of OpenTelemetry Collector.

Configuration 🔗

This monitor 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 requires a properly configured environment on your system, in which you’ve installed a functional Smart Agent release bundle. The Splunk Distribution of OpenTelemetry Collector provides this bundle in the installation paths for x86_64/amd64.

To activate this monitor in the Splunk Distribution of OpenTelemetry Collector, add the following lines to your configuration (YAML) file. See https://github.com/signalfx/splunk-otel-collector/tree/main/cmd/otelcol/config/collector on GitHub for the configuration (YAML) files.

receivers:  # All configuration goes under this key
 - smartagent/openshift-cluster:
    type: openshift-cluster

   ...  # Additional config

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

service:
  pipelines:
    metrics:
      receivers: [smartagent/openshift-cluster]

Configuration options 🔗

The following table shows the configuration options for this monitor:

Option Required Type Description
alwaysClusterReporter no bool If true, leader election is skipped and metrics are always reported. The default value is false.
namespace no string If specified, only resources within the given namespace are monitored. If omitted (blank), all supported resources across all namespaces are monitored.
kubernetesAPI no object Config for the K8s API client
nodeConditionTypesToReport no list of strings A list of node status condition types to report as metrics. The metrics are reported as data points of the form kubernetes.node_<type_snake_cased> with a value of 0 corresponding to "False", 1 to "True", and -1 to "Unknown". The default value is `[Ready].)

The nested kubernetesAPI configuration object has the following fields:

Option Required Type Description
authType no string How to authenticate to the K8s API server. This can be one of none (for no auth), tls (to use manually specified TLS client certs, not recommended), serviceAccount (to use the standard service account token provided to the agent pod), or kubeConfig to use credentials from ~/.kube/config. The default value is serviceAccount.
skipVerify no bool Whether to skip verifying the TLS cert from the API server. Almost never needed. The default value is false.
clientCertPath no string The path to the TLS client cert on the pod's filesystem, if using tls auth.
clientKeyPath no string The path to the TLS client key on the pod's filesystem, if using tls auth.
caCertPath no string Path to a CA certificate to use when verifying the API server's TLS cert. Generally, this is provided by Kubernetes alongside the service account token, which is picked up automatically, so this should rarely be necessary to specify.

Metrics 🔗

The following metrics are available for this integration:

Troubleshooting 🔗

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.