Configuration

 

Before configuring the extension in the Dynatrace UI, please

  1. Create a Nagios user that will be used by the extension

  2. Create a Dynatrace API token with the following permissions:

    1. API v2: Read entities

    2. API v2: Write entities

    3. API v2: Ingest metrics

    4. API v2: Ingest events

 

Extension endpoint configuration provides these options:

  • Nagios API URL - Nagios Core URL (mandatory to fill)

  • Nagios Username - User name to connect to Nagios API (mandatory to fill)

  • Nagios Password- Password to connect to Nagios API (mandatory to fill)

  • Verify Nagios SSL certificate - Verify Nagios SSL certificate

  • Nagios CA certificates - Path to CA bundle with CA certificates to be used for verification (if using custom CA) in PEM format. Used only if verification is turned on. If not specified, built-in CA certificates are used.

  • Nagios HostGroups to include - Semicolon delimited list of Nagios host groups to include in integration. Only member hosts are included other hosts are ignored (mandatory to fill)

  • Nagios Service names to include - Service names specified as regular expressions delimited by a semicolon (other services are ignored), e.g. Mem.*sage;HTTP;Swa.*

  • Nagios metadata keys - Semicolon separated names of Nagios host attribute keys to be used in Custom device metadata

  • Nagios alert keys - Semicolon separated names of Nagios alert state attribute keys to be used in Custom event metadata

  • Nagios refresh hosts list - Interval (in minutes) for querying Nagios API for hosts and inventory data. Default value 20 minutes (mandatory to fill)

  • Nagios refresh state of hosts and services - Interval (in minutes) for querying Nagios API for monitoring status of hosts services. Default value 1 minute (mandatory to fill)

  • Nagios host DOWN - Nagios severity to Dynatrace severity mapping

  • Nagios host UNREACHABLE - Nagios severity to Dynatrace severity mapping

  • Nagios service CRITICAL - Nagios severity to Dynatrace severity mapping

  • Nagios service WARNING - Nagios severity to Dynatrace severity mapping

  • Nagios service UNKNOWN - Nagios severity to Dynatrace severity mapping

  • Notification enabled - Catch only Nagios problems with enabled notification

  • Dynatrace Environment URL - URL for Dynatrace environment used for Entity v2 API calls. If you want to communicate through the gateway and not directly to the server, use the address in the format: https://localhost:9999/e/EnvironmentID  In this case, the server certificate cannot be verified. (mandatory to fill)

  • Dynatrace API Token - Dynatrace API token with the following scope access (mandatory to fill)

    • API v2: Read entities

    • API v2: Write entities

    • API v2: Ingest metrics

    • API v2: Ingest events

  • Verify Dynatrace SSL certificate - Verify Dynatrace SSL certificate

  • Dynatrace CA certificate - Path to CA bundle with CA certificates for verification (if using custom CA) in PEM format. Used only if verification is turned on. If not specified, built-in CA certificates are used.

  • Dynatrace refresh host entities - Interval (in minutes) for querying Dynatrace API for hosts and their IP addresses. Hosts are queried on extension startup and periodically afterward (mandatory to fill)

  • Dynatrace problem resend time - Interval in minutes for resending events to Dynatrace to keep the problem opened in Dynatrace (otherwise, it expires after 15 minutes). Each problem event sent consumes 0.001 DDU. (mandatory to fill)

  • Problem metric - Send problem metric (count of problems for each created custom device). If a problem doesn’t exist on the host, metric data are not sent. Consumes 0.001DDU/minute.

  • Performance metrics - If there is no definition then no performance data are transferred. Define regular expressions/substrings delimited by a semicolon specifying service list (e.g. Mem;HTTP;Swa.*) Performance data for matching services list will be transferred into Dynatrace.

  • Metrics to hosts - Send Nagios metrics to the Dynatrace host. Infrastructure metrics are monitored by the Dynatrace agent, therefore Nagios metrics are not sent by default. Turn on if you want Nagios metrics to be sent to hosts monitored by the Dynatrace agent.

  • Candidate to Custom device - Create a Custom device for Monitoring candidate, if not enabled events are sent to the monitoring candidate host

  • Use Events API - If enabled, Nagios problems are sent using Events API instead of the ActiveGate extension.

  • Allow Davis merge - Allow Davis AI to merge events into existing problems (true) or force creating a new problem (false)

  • Debug - Set to on to enable DEBUG logging on each extension query run

  • License - Valid license required (mandatory to fill)

Nagios alert keys

Semicolon-separated names of Nagios alert state attribute keys to be used in Custom event metadata.

"name": "Name" "plugin_output": "Status information" "long_plugin_output": "Status information long" "perf_data": "Performance data" "status": "Current status" # hardcoded"last_update": "Last update" "has_been_checked": "Has been checked" "should_be_scheduled": "Should be checked" "current_attempt": "Attempts current" "max_attempts": "Attempts max" "last_check": "Last check" "next_check": "Next check" "check_options": "Check options" "check_type": "Check type" "last_state_change": "Last state changed" # hardcoded"last_hard_state_change": "Last hard state changed" "last_hard_state": "Last hard state" "last_time_up": "Last time up" "last_time_down": "Last time down" "last_time_unreachable": "Last time unreachable" "state_type": "State type" # hardcoded"last_notification": "Last notification" "next_notification": "Next notification" "no_more_notifications": "No more notifications" "notifications_enabled": "Notifications enabled" "problem_has_been_acknowledged": "Problem has been aknowledged" # hardcoded"acknowledgement_type": "Acknowledge type" "current_notification_number": "Current notification number" "accept_passive_checks": "Accept passive checks" "event_handler_enabled": "Event handler enabled" "checks_enabled": "Checks enabled" "flap_detection_enabled": "Flap detection enabled" "is_flapping": "Is flapping" "percent_state_change": "Percent state change" "latency": "Latency" "execution_time": "Execution time" "scheduled_downtime_depth": "Scheduled downtime depth" "process_performance_data": "Process performance data" "obsess": "Obsession" "url": "Nagios URL info"


Nagios metadata keys

Semicolon separated names of Nagios host attribute keys to be used in Custom device metadata.

"alias": "Alias" "name": "Name" "status": "Status" "services": "Monitored services" "display_name": "Display name" "address": "IP Address" # hardcoded"parent_hosts": "Parent hosts" "child_hosts": "Child hosts" "check_command": "Check command" "check_interval": "Check interval" "retry_interval": "Retry interval" "max_attempts": "Attempts max" "event_handler": "Event handler" "contact_groups": "Contact group" "admins": "Admins" "contacts": "Contacts" "notification_interval": "Notification interval" "first_notification_delay": "First notification delay" "notifications_options": "Notifications options" "notification_period": "Notification perios" "check_period": "Check period" "flap_detection_enabled": "Flap detection" "low_flap_threshold": "Low flap threshold" "high_flap_threshold": "High flap threshold" "flap_detection_options": "Flap detection options" "stalking_options": "Stalking options" "check_freshness": "Check freshness" "freshness_threshold": "Freshness thereshold" "process_performance_data": "Process performance data" "checks_enabled": "Checks enabled" "accept_passive_checks": "Accept passive checks" "event_handler_enabled": "Event handler enabled" "retain_status_information": "Retain status information" "retain_nonstatus_information": "Retain nonstatus information" "obsess": "Obsessing" "hourly_value": "Hourly value" "notes": "Notes" "notes_url": "Notes url" "action_url": "Action url" "icon_image": "Icon image" "icon_image_alt": "Icon image aleternative" "vrml_image": "VRML image" "statusmap_image": "Statusmap image" "have_2d_coords": "Have 2d coords" "x_2d": "x_2d" "y_2d": "y_2d" "have_3d_coords": "Have 3d cords" "x_3d": "x_3d" "y_3d": "y_3d" "z_3d": "z_3d" "should_be_drawn": "Shoul be drawn"