Skip to content

Assure1 Metric Ping Poller

Overview

The Assure1 Metric Ping Poller is the common ICMP availability and latency collection poller. This poller is device oriented and uses the default Latency, Packet Loss, Ping Jitter and/or Ping Jitter Utilization metric types.

Ping Poller Setup

  1. Devices must exist in the Device Catalog for this application to be able to function. Devices can be created in several different ways:

    1. Using the "Device Auto Discovery" application. See the application documentation for additional information:

      (DeviceAutoDiscovery)

    2. Using the Manual Discovery UI:

      Configuration -> Device Discovery -> Manual Discovery

    3. Manually entering all values using the Devices UI:

      Configuration -> Device Catalog -> Devices

  2. Metrics must exist for the devices to be polled. Metrics can be created in several different ways:

    1. The default rules for the "Metric Custom Poller Discovery Agent" application will create the metrics for the "Device" instance:

      CustomPollerDisco

    2. Using a polling policy to create metrics using whatever restrictions are needed. See the Polling Policies UI and "Metric Poller Discovery Agent" application documentation:

      Configuration -> Metrics -> Polling Policies

      Metric Poller Discovery Agent

    3. Using the Polling Assignments UI to manually select which devices and instances are processed. See the related documentation:

      Configuration -> Metrics -> Polling Assignments

  3. Enable the default Service, unless a specific configuration option is needed:

    Configuration -> Broker Control -> Services

Default Service

Field Value
Package Name coreCollection-app
Service Name Metric Ping Latency Poller
Service Program bin/core/collection/PingPollerd
Service Arguments
Service Description Metric Poller used to poll Ping (ICMP) Availability & Response Times
Failover Type Standalone (Supported: Standalone, Primary/Backup, Cluster)
Status Disabled
Privileged (Checked)

Default Configuration

Name Value Possible Values Notes
CheckTime 900 Integer How often (in seconds) where the application checks to see if there are any relevant changes.
DeviceZoneID Default First Zone Integer The poller will only retrieve devices in the specific zone.
LogFile logs/MetricPingPoller.log Text, 255 characters Relative path to Log File.
LogLevel ERROR OFF, FATAL, ERROR, WARN, INFO, DEBUG Logging level used by application.
PacketSize 64 Integer The size of the packet the poller will send, in bytes.
PollTime 300 Integer How often the poller will start a poll cycle, in seconds.
Threads 3 Integer Number of process threads created. The aggregator takes a third of this value (rounded up) for database threads unless overridden by the "DBThreads" application configuration.
TimeOut 1 Integer The time out for the ping request.
DBThreads Integer Optional - Number of database threads to be created. If not specified, defaults to a third (rounded up) of "Threads" application configuration.
DeviceGroupID Integer Optional - If specified, the poller will only retrieve devices in the specific group.
MaxBatchSize Integer Optional - The maximum size of each batch handled per thread. By default, batches are sized by dividing the total number of devices to poll over the number of threads. As the number of devices increases, it may be desirable to limit this batch size to prevent certain denial of service limitations on your network.
PingCount 10 Integer Optional - Number of times to ping the device. This is also used for multiple serial polling and packet loss calculation. NOTE We may ping up to an additional 2 times for more accuracy.
PollByIP Enabled Enabled/Disabled Optional - If enabled, the device IP address will be used to ping the device instead of the device DNS name.
PreferIPv4 Enabled Enabled/Disabled Optional - Controls whether or not to prefer IPv4 transport to communicate with Devices. This option is only considered if both IPv4 and IPv6 are available for a device. If this config is missing, IPv6 will be preferred.
ThresholdThreads Integer Optional - Number of threshold threads to be created. Enabled the checking of thresholds in the application instead of the Default Threshold Engine. If not specified, application threshold checking is disabled.
SendAllViolations Disabled Enabled/Disabled Optional - If enabled, thresholds will send violation notifications every poll cycle rather than only on state change. Requires 'ThresholdThreads'

Best Practices

The following list shows the best practices for working with this application:

  • Ensure the following metric types have been configured for polling:

    • 60 - Latency
    • 61 - Packet Loss
    • 62 - Ping Jitter
    • 63 - Ping Jitter Utilization
  • Ensure when batching multiple devices per thread (default) there is potential based on hardware for processing overhead to be included in the Latency metric because pings are requested asynchronously per batch. This overhead can be reduced by either limiting the batch size with MaxBatchSize to reduce the number of devices pinged at once by the threads, but this will cause a longer poll cycle.

  • In cases where devices are reporting high packet loss but DEBUG logs show ping results as failed with code MALFORMED, this can indicate that too many threads are configured or too many devices are being pinged simultaneously. To troubleshoot this issue, you should try the following:

    • Reset Threads to the recommended value of 3 * (# of CPU Cores) if set greater.
    • Set MaxBatchSize to 64 / (# of CPU Cores) if device count to be polled is greater than 200. Note this can cause the poll cycle take longer.

Administration Details

The following list shows the technical details needed for advanced administration of the application:

  • Package - coreCollection-app

  • Synopsis - ./PingPollerd [OPTIONS]

  • Options:

     -c, --AppConfigID N       Application Config ID (Service, Job, or Request ID)
     -?, -h, --Help            Print usage and exit
    
  • Threaded - Multi-Threaded