cAdvisor

Use this Splunk Observability Cloud integration for the cAdvisor monitor. See benefits, install, configuration, and metrics

The Splunk Distribution of OpenTelemetry Collector uses the Smart Agent receiver with the cAdvisor monitor type to pull metrics directly from cAdvisor. By default, it runs on port 4193, but it can be configured to any other port.

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

cAdvisor with Kubernetes

If you are using Kubernetes, consider the Kubelet stats receiver because many Kubernetes nodes do not expose cAdvisor on a network port, even though they are running it within Kubelet.

In some managed Kubernetes environments, such as Amazon EKS, you cannot directly access cAdvisor metrics due to the cluster provider's security and control design. For example, in Amazon EKS, the kubeletstats receiver cannot directly collect cAdvisor metrics. This constraint is specific to managed environments and is not a restriction of the Splunk Distribution of OpenTelemetry Collector.

You can, however, indirectly collect cAdvisor metrics exposed through the Kubernetes proxy metric server using a receiver with the required configuration. We recommend using the Prometheus receiver to scrape metrics from the proxy metric server.

cAdvisor with Docker

If you are running containers with Docker, retrieved metrics might overlap with docker-container-stats. Consider not enabling the Docker monitor in a Kubernetes environment, or else use filtering to allow only certain metrics. This will cause the built-in Docker dashboards to be blank, but container metrics will be available on the Kubernetes dashboards instead.

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

To use this integration of a Smart Agent monitor with the Collector:

  1. Include the Smart Agent receiver in your configuration file.

  2. Add the monitor type to the Collector configuration, both in the receiver and pipelines sections.

Examples

Activate integration

To activate this integration, add the following to your Collector configuration:

receivers:
  smartagent/cadvisor:
    type: cadvisor
    ... # Additional config

Next, add the monitor to the service.pipelines.metrics.receivers section of your configuration file:

service:
  pipelines:
    metrics:
      receivers: [smartagent/cadvisor]

Configuration settings

Prometheus receiver

The following example shows how to configure a Prometheus receiver to scrape cAdvisor metrics securely from Kubernetes nodes using TLS and authorization credentials.
agent:
  config:
    receivers:
      prometheus/cadvisor:
        config:
          scrape_configs:
            - job_name: cadvisor
              tls_config:
                ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
              authorization:
                credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
              scheme: https
              kubernetes_sd_configs:
                - role: node
              relabel_configs:
                - replacement: 'kubernetes.default.svc.cluster.local:443'
                  target_label: __address__
                - regex: (.+)
                  replacement: '/api/v1/nodes/$${1}/proxy/metrics/cadvisor'
                  source_labels:
                    - __meta_kubernetes_node_name
                  target_label: __metrics_path__
    service:
      pipelines:
        metrics:
          exporters:
            - signalfx
          processors:
            - memory_limiter
            - batch
            - resourcedetection
            - resource
          receivers:
            - hostmetrics
            - kubeletstats
            - otlp
            - prometheus/cadvisor
            - receiver_creator
            - signalfx

The following table shows the configuration options for this receiver:

Option

Required

Type

Description

cadvisor URL

no

string

Where to find cAdvisor. The default value is:

http://localhost:4193.

Metrics

The following metrics are available for this integration:

https://raw.githubusercontent.com/signalfx/splunk-otel-collector/main/internal/signalfx-agent/pkg/monitors/cadvisor/metadata.yaml

Notes

  • To learn more about the available in Splunk Observability Cloud see Metric types.

  • In host-based subscription plans, default metrics are those metrics included in host-based subscriptions in Splunk Observability Cloud, such as host, container, or bundled metrics. Custom metrics are not provided by default and might be subject to charges. See Metric categories for more information.

  • In MTS-based subscription plans, all metrics are custom.

  • To add additional metrics, see how to configure extraMetrics in Add additional metrics.

Troubleshooting

If you are a Splunk Observability Cloud customer and are not able to see your data in Splunk Observability Cloud, you can get help in the following ways.

Available to Splunk Observability Cloud customers

Available to prospective customers and free trial users

  • Ask a question and get answers through community support at Splunk Answers.

  • Join the Splunk #observability user group Slack channel to communicate with customers, partners, and Splunk employees worldwide. To join, see Chat groups.