Skip to content

host-linux-device datasource

The host-linux-device datasource collects information about Linux hosts from the operating system and creates metric data points and entities.

This datasource can add dependency relationships among the entities it creates and the entities created by the following datasources:

To enable the addition of dependency relationships, configure and enable the preceding datasources through this datasource's configuration file.

Metrics

Metric data points include the following groups and name styles:

CPU

Name Units Description
cpu.usage_active percent Percent of CPU used for activity
cpu.usage_guest percent Percent of CPU used for guest activity
cpu.usage_guest_nice percent Percent of CPU used for guest nice activity
cpu.usage_idle percent Percent of CPU used for idleness
cpu.usage_iowait percent Percent of CPU used for IO Waiting activity
cpu.usage_irq percent Percent of CPU used for IRQ activity
cpu.usage_nice percent Percent of CPU used for Nice activity
cpu.usage_softirq percent Percent of CPU used for Soft IRQ activity
cpu.usage_steal percent Percent of CPU used for Steal activity
cpu.usage_system percent Percent of CPU used for System activity
cpu.usage_user percent Percent of CPU used for User activity

Memory

Name Units Description
mem.buffered bytes The amount of buffered memory
mem.cached bytes The amount of cached memory
mem.free GB The amount of free memory for the system
mem.swap_free bytes The amount of available swap space
mem.swap_total bytes The total amount of swap space
mem.total GB The total amount of memory for the system
mem.utilization percent The percent of memory used

Processes

Name Units Description
process.count count The number of running processes on a host

Users

Name Units Description
users.count count The number of users logged in to a host

Name styles

This datasource supports two mutually exclusive naming styles for the metrics that it collects:

  • canonical: The default style, which features namespace prefixes.
  • linuxMonitorZenPack: The legacy style, used in the Linux Monitor ZenPack.

To change the default style, set the metric-names-variant property in the datasource section to linuxMonitorZenPack.

CPU

Canonical style ZenPack style
cpu.usage_active cpu_ssCpuUserPerCpu
cpu.usage_guest cpu_guestPerCpu
cpu.usage_guest_nice cpu_guestNicePerCpu
cpu.usage_idle cpu_ssCpuIdlePerCpu
cpu.usage_iowait cpu_ssCpuWaitPerCpu
cpu.usage_irq cpu_ssCpuInterruptPerCpu
cpu.usage_nice cpu_ssCpuNicePerCpu
cpu.usage_softirq cpu_ssCpuSoftInterruptPerCpu
cpu.usage_steal cpu_ssCpuStealPerCpu
cpu.usage_system cpu_ssCpuSystemPerCpu
cpu.usage_user cpu_ssCpuUsedPerCpu

Memory

Canonical style ZenPack style
mem.buffered mem_Buffers
mem.cached mem_Cached
mem.free mem_MemFree
mem.swap_free mem_SwapFree
mem.swap_total mem_SwapTotal
mem.total mem_MemTotal
mem.utilization mem_MemUsedPercent

Processes

Canonical style ZenPack style
process.count ps_count

Users

Canonical style ZenPack style
users.count users.count

Entities

Property Description
name System hostname
hostId System UUID
kernelArch CPU architecture (from uname -m)
kernelVersion Kernel version, if available
os Operating system (linux)
platform Distribution name (for example, ubuntu or linuxmint)
platformFamily Distribution heritage (for example, debian or rhel)
platformVersion Distribution version number
virtualizationRole Hypervisor system role (guest or host)
virtualizationSystem Hypervisor system name
bootTime System boot time

Example

{
  "bootTime": 1663232877,
  "hostId": "420733dc-7643-70b7-5f78-44e76d094e86",
  "kernelArch": "x86_64",
  "kernelVersion": "3.10.0-1160.76.1.el7.x86_64",
  "name": "ServerStation1",
  "os": "linux",
  "platform": "centos",
  "platformFamily": "rhel",
  "platformVersion": "7.9.2009",
  "virtualizationRole": "",
  "virtualizationSystem": ""
}

Configuration

If you specify the host-linux-device datasource during installation, its configuration file is placed in the following location:

/etc-configs/configs/host-linux-device.config.yaml

Otherwise, you must copy it from the templates directory:

cp /etc-configs/.templates/.configs/host-linux-device.config.yaml \
  /etc-configs/configs/host-linux-device.config.yaml

The Zenoss Cloud agent service monitors the /etc/zendatamon-configs/configs directory and loads any new or changed configuration files immediately.

Properties

This datasource includes both common and datasource-specific properties.

Common properties

interval (number)
The number of seconds to wait between collection attempts. This value overrides the defaultInterval value in the Zenoss Cloud agent service configuration file.
timeout (number)
The number of seconds to wait before dropping a collection attempt.
metric-names-variant (string, default = canonical)
The metric name style, either canonical or linuxMonitorZenPack.
protocol (string, default = local)
Collection type; only local is supported, so this key can be omitted.

Datasource properties

Use the component_configs property to specify the following datasources:

The datasource-specific fields you set in the host-linux-device configuration file are used as the default configurations for each datasource, which you can override in the separate datasource configuration files.

You can disable a datasource by setting its enabled property in the host-linux-device configuration file to false. Datasources are enabled by default, so the field is typically omitted.

Example

apiVersion: v1
kind: datasource
name: host-linux-device
spec:
  type: host-linux-device
  datasource:
    interval: 60
    timeout: 30
    metric-names-variant: canonical 
    protocol: ""
    component_configs:
      host-cpu: {}
      host-linux-lvm:
        enabled: false
      host-process:
        enabled: false
        include-processes:
          - .*runzope.*zenoss.*
        exclude-processes:
          - \b(vim|tail|grep|tar|cat|bash)\b
      host-disk:
        include-block-types:
          - disk
          - part
          - lvm
          - raid1
      host-filesystem:
        ignore-types:
          - other
          - ram
          - virtualMemory
          - removableDisk
          - floppyDisk
          - compactDisk
          - ramDisk
          - flashMemory
          - networkDisk
      host-linux-service:
        enabled: false
        exclude-names:
          - addhostname
          - anacron
          - bluetooth
          - cpuspeed
          - ondemand
          - firstboot
          - irqbalance
          - isdn
          - lvm2-monitor
          - mcstrans
          - mdmonitor
          - portreserve
          - pppd-dns
          - rpcgssd
          - rsync
          - sudo
          - sysstat
        exclude-load-statuses:
          - not-found
        exclude-active-statuses:
          - inactive
          - failed
          - deactivating
        exclude-sub-statuses:
          - exited
      host-network-interface:
        enabled: true
        use-sudo: true
        exclude-names:
          - ens*

ZenPack compatibility

For compatibility with the Linux Monitor ZenPack, use the action service to create a metric trigger (and accompanying destination and rule) when cpu.usage_active or mem.utilization are greater than 90%.