firehol/netdata

View on GitHub
src/go/plugin/go.d/modules/ping/metadata.yaml

Summary

Maintainability
Test Coverage
plugin_name: go.d.plugin
modules:
  - meta:
      id: collector-go.d.plugin-ping
      plugin_name: go.d.plugin
      module_name: ping
      monitored_instance:
        name: Ping
        link: ""
        icon_filename: globe.svg
        categories:
          - data-collection.synthetic-checks
      keywords:
        - ping
      related_resources:
        integrations:
          list: []
      info_provided_to_referring_integrations:
        description: ""
      most_popular: false
    overview:
      data_collection:
        metrics_description: |
          This module measures round-trip time and packet loss by sending ping messages to network hosts.
          
          There are two operational modes:
          
          - privileged (send raw ICMP ping, default). Requires
            CAP_NET_RAW [capability](https://man7.org/linux/man-pages/man7/capabilities.7.html) or root privileges:
            > **Note**: set automatically during Netdata installation.
          
            ```bash
            sudo setcap CAP_NET_RAW=eip <INSTALL_PREFIX>/usr/libexec/netdata/plugins.d/go.d.plugin
            ```
          
          - unprivileged (send UDP ping, Linux only).
            Requires configuring [ping_group_range](https://www.man7.org/linux/man-pages/man7/icmp.7.html):
          
            ```bash
            sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"
            ```
            To persist the change add `net.ipv4.ping_group_range=0 2147483647` to `/etc/sysctl.conf` and
            execute `sudo sysctl -p`.
        method_description: ""
      supported_platforms:
        include: []
        exclude: []
      multi_instance: true
      additional_permissions:
        description: ""
      default_behavior:
        auto_detection:
          description: ""
        limits:
          description: ""
        performance_impact:
          description: ""
    setup:
      prerequisites:
        list: []
      configuration:
        file:
          name: go.d/ping.conf
        options:
          description: |
            The following options can be defined globally: update_every, autodetection_retry.
          folding:
            title: Config options
            enabled: true
          list:
            - name: update_every
              description: Data collection frequency.
              default_value: 5
              required: false
            - name: autodetection_retry
              description: Recheck interval in seconds. Zero means no recheck will be scheduled.
              default_value: 0
              required: false
            - name: hosts
              description: Network hosts.
              default_value: ""
              required: true
            - name: network
              description: "Allows configuration of DNS resolution. Supported options: ip (select IPv4 or IPv6), ip4 (select IPv4), ip6 (select IPv6)."
              default_value: "ip"
              required: false
            - name: privileged
              description: Ping packets type. "no" means send an "unprivileged" UDP ping,  "yes" - raw ICMP ping.
              default_value: true
              required: false
            - name: packets
              description: Number of ping packets to send.
              default_value: 5
              required: false
            - name: interval
              description: Timeout between sending ping packets.
              default_value: 100ms
              required: false
        examples:
          folding:
            title: Config
            enabled: true
          list:
            - name: IPv4 hosts
              description: An example configuration.
              config: |
                jobs:
                  - name: example
                    hosts:
                      - 192.0.2.0
                      - 192.0.2.1
            - name: Unprivileged mode
              description: An example configuration.
              config: |
                jobs:
                  - name: example
                    privileged: no
                    hosts:
                      - 192.0.2.0
                      - 192.0.2.1
            - name: Multi-instance
              description: |
                > **Note**: When you define multiple jobs, their names must be unique.
                
                Multiple instances.
              config: |
                jobs:
                  - name: example1
                    hosts:
                      - 192.0.2.0
                      - 192.0.2.1
                
                  - name: example2
                    packets: 10
                    hosts:
                      - 192.0.2.3
                      - 192.0.2.4
    troubleshooting:
      problems:
        list: []
    alerts:
      - name: ping_host_reachable
        metric: ping.host_packet_loss
        info: "network host ${lab1el:host} reachability status"
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/ping.conf
      - name: ping_packet_loss
        metric: ping.host_packet_loss
        info: "packet loss percentage to the network host ${label:host} over the last 10 minutes"
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/ping.conf
      - name: ping_host_latency
        metric: ping.host_rtt
        info: "average latency to the network host ${label:host} over the last 10 seconds"
        link: https://github.com/netdata/netdata/blob/master/src/health/health.d/ping.conf
    metrics:
      folding:
        title: Metrics
        enabled: false
      description: ""
      availability: []
      scopes:
        - name: host
          description: These metrics refer to the remote host.
          labels:
            - name: host
              description: remote host
          metrics:
            - name: ping.host_rtt
              description: Ping round-trip time
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: min
                - name: max
                - name: avg
            - name: ping.host_std_dev_rtt
              description: Ping round-trip time standard deviation
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: std_dev
            - name: ping.host_packet_loss
              description: Ping packet loss
              unit: percentage
              chart_type: line
              dimensions:
                - name: loss
            - name: ping.host_packets
              description: Ping packets transferred
              unit: packets
              chart_type: line
              dimensions:
                - name: received
                - name: sent