Skip to main content
The Host integration requires CXDOT Collector 1.4.0 or greater. Use the Host CXDOT Collector integration to collect operating system metrics from the machine where the CXDOT Collector runs, including CPU, memory, disk, file system, network, load, paging, process counts, and uptime.

Supported telemetry types

The Host CXDOT Collector integration supports these telemetry types:

Prerequisites

The Host CXDOT Collector integration has the following prerequisites:
  • When you deploy the CXDOT Collector with the Helm chart on Linux, the chart mounts the node’s file system read-only at /hostfs and sets root_path so metrics describe the node rather than the Collector container. No extra volume mapping is required.
  • For another container-based Linux deployment, bind-mount the host root file system read-only into the container and set root_path to that mount point. For example, mount the host root at /hostfs and set root_path: /hostfs. Without this mount, the integration reports metrics for the container instead of the host.
  • When the CXDOT Collector runs directly on the host, you don’t need a file system mount.

Configure

The Host CXDOT Collector integration is enabled by default. It monitors the machine where the node Collector runs and doesn’t require target endpoints or pod labels for discovery. On Kubernetes, the node Collector runs one Host integration instance per node. For more information about Collector tiers and node placement, see architecture. Host metrics receive base deployment enrichment, such as cluster and host identity labels. They aren’t scoped to individual pods. For more information, see enrichment. By default, the integration collects CPU, memory, disk, file system, network, load, paging, process counts, and uptime on Linux and macOS. On Linux, it also collects network-interface configuration from /sys/class/net and system-wide file descriptor usage. The interface configuration metrics describe the interfaces the Collector process can see. They match the node’s interfaces when the Collector runs with host networking or directly on the host. Per-process metrics are off by default because they can substantially increase time series cardinality. Shared timing settings and root_path apply to every metric family. You can enable or disable each family and pass through additional settings for that family. For the complete field list, accepted values, and defaults, see the configuration reference on this page. To configure the Host CXDOT Collector integration, follow these steps:
  1. Optional: Adjust shared settings or individual metric families. For example, add the following to the values.yaml for your CXDOT Collector Helm chart:
  2. Optional: Enable detailed per-process metrics only when you need them. These metrics accept filters and per-metric toggles. For example, add the following to the values.yaml for your CXDOT Collector Helm chart:
    The include filter selects processes by process name. This example collects per-process metrics for processes named nginx or postgres.
  3. Optional: Disable the integration. For example, add the following to the values.yaml for your CXDOT Collector Helm chart:

Validate

To validate the Host CXDOT Collector integration, follow these steps:
  1. In the Live Telemetry Analyzer, filter for __name__=cxdot.integration.target.health and cxdot.integration.name=host. Confirm that each series reports 1 for a healthy node. Use the cxdot.integration.target and host.name attributes to identify the node and metric family.
  2. In Metrics Explorer, run the following query:
    Confirm that the query returns one time series per node. Use the host.name label to identify the node.
For more information about diagnosing a failing integration, see Troubleshooting.

Configuration reference

Configure one Host integration instance with the following settings. In Helm values, place these settings under config.integrations.host. In a Collector configuration file, place them under cxdot.integrations.host.

Optional settings

  • enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • collection_interval Type: duration. Optional. Default: 60s. How often the Collector collects operating system metrics.
  • timeout Type: duration. Optional. Default: 60s. Maximum time allowed for one collection.
  • root_path Type: string. Optional. Default: “. Root of the host file system when the Collector runs in a container with the host root bind-mounted (for example, /hostfs). The Collector uses this path so metric collection reads the node instead of the container. Omit when the Collector runs directly on the host.
  • cpu Type: object. Optional. Settings for collecting CPU usage metrics.
  • cpu.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • cpu.config Type: object. Optional. Default: {"metrics":{"system.cpu.physical.count":{"enabled":true},"system.cpu.utilization":{"enabled":true}}}. Advanced settings for CPU metrics, passed through to the Collector unchanged. The default enables this integration’s standard metric set.
  • memory Type: object. Optional. Settings for collecting memory usage metrics.
  • memory.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • memory.config Type: object. Optional. Default: {"metrics":{"system.linux.memory.available":{"enabled":true},"system.memory.limit":{"enabled":true},"system.memory.linux.shared":{"enabled":true},"system.memory.utilization":{"enabled":true}}}. Advanced settings for memory metrics, passed through to the Collector unchanged. The default enables this integration’s standard metric set.
  • filesystem Type: object. Optional. Settings for collecting file system usage metrics.
  • filesystem.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • filesystem.config Type: object. Optional. Default: {"include_virtual_filesystems":true,"metrics":{"system.filesystem.utilization":{"enabled":true}}}. Advanced settings for file system metrics, passed through to the Collector unchanged. The default enables this integration’s standard metric set.
  • filesystem.config.include_virtual_filesystems Type: boolean. Optional. Default: true. Include virtual and bind-mounted file systems. Containerized Collectors require this to report file systems from a bind-mounted host root.
  • filesystem.config.exclude_devices Type: object. Optional. Filter that excludes filesystems by device name. Set match_type to strict to match names exactly or regexp to match them as regular expressions. The scraper requires match_type when this filter is set.
  • filesystem.config.exclude_devices.devices Type: array of string. Optional. Device names or patterns to exclude, for example, /dev/loop0.
  • filesystem.config.exclude_fs_types Type: object. Optional. Filter that excludes filesystems by type. Set match_type to strict to match types exactly or regexp to match them as regular expressions. The scraper requires match_type when this filter is set.
  • filesystem.config.exclude_fs_types.fs_types Type: array of string. Optional. Filesystem types or patterns to exclude, for example, tmpfs or overlay.
  • filesystem.config.exclude_mount_points Type: object. Optional. Filter that excludes filesystems by mount point. Set match_type to strict to match mount points exactly or regexp to match them as regular expressions. The scraper requires match_type when this filter is set. When root_path is set, specify mount points as the host sees them, not as the container does.
  • filesystem.config.exclude_mount_points.mount_points Type: array of string. Optional. Mount points or patterns to exclude, for example, /var/lib/docker.
  • filesystem.config.include_devices Type: object. Optional. Filter that limits filesystem metrics to the listed device names. Set match_type to strict to match names exactly or regexp to match them as regular expressions. The scraper requires match_type when this filter is set.
  • filesystem.config.include_devices.devices Type: array of string. Optional. Device names or patterns to include, for example, /dev/nvme0n1p2.
  • filesystem.config.include_fs_types Type: object. Optional. Filter that limits filesystem metrics to the listed filesystem types. Set match_type to strict to match types exactly or regexp to match them as regular expressions. The scraper requires match_type when this filter is set.
  • filesystem.config.include_fs_types.fs_types Type: array of string. Optional. Filesystem types or patterns to include, for example, ext4 or xfs.
  • filesystem.config.include_mount_points Type: object. Optional. Filter that limits filesystem metrics to the listed mount points. Set match_type to strict to match mount points exactly or regexp to match them as regular expressions. The scraper requires match_type when this filter is set. When root_path is set, specify mount points as the host sees them, not as the container does.
  • filesystem.config.include_mount_points.mount_points Type: array of string. Optional. Mount points or patterns to include, for example, / or /data.
  • network Type: object. Optional. Settings for collecting network interface and connection metrics.
  • network.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • network.config Type: object. Optional. Default: {"metrics":{"system.network.conntrack.count":{"enabled":true},"system.network.conntrack.max":{"enabled":true}}}. Advanced settings for network metrics, passed through to the Collector unchanged. The default enables this integration’s standard metric set.
  • disk Type: object. Optional. Settings for collecting disk I/O metrics.
  • disk.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • disk.config Type: object. Optional. Default: {}. Advanced settings for disk metrics, passed through to the Collector unchanged.
  • load Type: object. Optional. Settings for collecting system load average metrics.
  • load.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • load.config Type: object. Optional. Default: {}. Advanced settings for load metrics, passed through to the Collector unchanged.
  • paging Type: object. Optional. Settings for collecting paging and swap activity metrics.
  • paging.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • paging.config Type: object. Optional. Default: {}. Advanced settings for paging metrics, passed through to the Collector unchanged.
  • processes Type: object. Optional. Settings for collecting process count metrics.
  • processes.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • processes.config Type: object. Optional. Default: {}. Advanced settings for process count metrics, passed through to the Collector unchanged.
  • uptime Type: object. Optional. Settings for collecting system uptime metrics.
  • uptime.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • uptime.config Type: object. Optional. Default: {}. Advanced settings for uptime metrics, passed through to the Collector unchanged.
  • netclass Type: object. Optional. Settings for collecting per-interface configuration metrics from /sys/class/net.
  • netclass.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • file_handles Type: object. Optional. Settings for collecting system-wide file-descriptor counts from /proc/sys/fs/file-nr.
  • file_handles.enabled Type: boolean. Optional. Default: true. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • process Type: object. Optional. Settings for collecting per-process metrics. Off by default: one time series set per process is high cardinality.
  • process.enabled Type: boolean. Optional. Default: false. Whether to enable this configuration block. If true, the Collector runs the integration or capability. If false, the Collector doesn’t run it.
  • process.config Type: object. Optional. Default: {}. Advanced settings for per-process metrics, passed through to the Collector unchanged.