Uploaded image for project: 'OpenShift Monitoring'
  1. OpenShift Monitoring
  2. MON-2814

Customizations for node-exporter collectors (Phase 2)

XMLWordPrintable

    • Customizations for Node-Exporter collectors (Phase 2)
    • False
    • None
    • False
    • Not Selected
    • NEW
    • To Do
    • MON-3154CMO user customizations
    • NEW
    • 0% To Do, 0% In Progress, 100% Done

      Epic Description

      This is the second part of Customizations for Node Exporter, following https://issues.redhat.com/browse/MON-2848
      There are the following tasks remaining:

      • On/off switch for these collectors:
        • systemd
        • hwmon
        • mountstats (pending decision which metrics to collect)
        • ksmd
      • General options for node-exporter
        • maxprocs

       

      The "mountstats" collector generates 53 high-cardinality metrics by default, we have to refine the story to choose only the necessary metrics to collect.

       

      Cluster Monitoring Operator uses the configmap "cluster-monitoring-config" in the namespace "openshift-monitoring" as its configuration. These new configurations will be added into the section  "nodeExporter".

      Node Exporter comes with a set of default activated collectors and optional collectors.

      To simplify the configuration, we put a config object for each collector that we allow users to activate or deactivate.

      If a collector is not present, no change is made to its default on/off status. 

      Each collector has a field "enabled" as a on/off switch. If "enabled" is set to "false", other fields can be omitted.

      The default value for the new options are:

      • collectors
        • systemd
          • enabled: bool, default: false
        • hwmon
          • enabled: bool, default: true
        • mountstats
          • enabled: bool, default: false
        • ksmd
          • enabled: bool, default: false
      • maxProcs: int, default: 0

      Here is an example of what these options look like in CMO configmap:

      apiVersion: v1
      kind: ConfigMap
      metadata: 
        name: cluster-monitoring-config
        namespace: openshift-monitoring
      data: 
      
        config.yaml: |
          maxProcs: 4 
          nodeExporter: 
            collectors: 
              hwmon: 
                enabled: true
              mountstats: 
                enabled: true
              systemd: 
                enabled: true
              ksmd: 
                enabled: true
      
      
      

       

      If the config for nodeExporter is omitted, Node Exporter should run with the same arguments concerning collectors as those in CMO v4.12:

       
      --no-collector.wifi
      --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|run/k3s/containerd/.+|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/)
      --collector.netclass.ignored-devices=^(veth.*|[a-f0-9]{15}|enP.*|ovn-k8s-mp[0-9]*|br-ex|br-int|br-ext|br[0-9]*|tun[0-9]*)$
      --collector.netdev.device-exclude=^(veth.*|[a-f0-9]{15}|enP.*|ovn-k8s-mp[0-9]*|br-ex|br-int|br-ext|br[0-9]*|tun[0-9]*)$
      --collector.cpu.info
      --collector.textfile.directory=/var/node_exporter/textfile
      --no-collector.cpufreq
      --no-collector.tcpstat
      --no-collector.cpufreq
      --no-collector.tcpstat
      --collector.netdev
      --collector.netclass
      --no-collector.buddyinfo
      --collector.netdev
      --collector.netclass
      --no-collector.buddyinfo
      

       

       

       

              hasun@redhat.com Haoyu Sun
              hasun@redhat.com Haoyu Sun
              Tai Gao Tai Gao
              Brian Burt Brian Burt
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: