Event Management configuration preferences
Summarize
Summary of Event Management configuration preferences
This guidance outlines the preferred settings and configuration best practices for ServiceNow Event Management, helping customers optimize event processing, alert handling, and overall system performance. It covers enabling self-health monitoring, event rule construction, alert lifecycle management, and scaling considerations for large environments.
Show less
General preferences
- Self-health monitoring: Disabled by default; enable it via Event Management > Settings > Properties to monitor Event Management features and track issues. Note that Configuration Items (CIs) used by self-health are created in the CMDB.
- Business rules: Avoid writing business rules on event tables as they don’t run in the default REST URL context. Alert table business rules must be efficient to avoid performance issues; consider jobs instead of async business rules. Do not change the Category field on event tables.
- Scaling: Before scaling event throughput, check average event processing time using Performance Statistics. Enable multi-node event processing and configure scheduled jobs based on deployment size and event rate.
- Latency troubleshooting: Verify event bucket values and scheduled job states to maintain processing efficiency.
- Archiving events: Avoid changing default retention; instead, create archive tables and scheduled jobs to back up events regularly.
Event integration
- SNMP traps: Send traps via monitoring tools, not directly from devices. Upload MIBs before defining event rules to avoid rewriting rules.
- Web service API: Use APIs for integration to reduce event rule complexity; use dedicated credentials per source when possible.
- CloudWatch: Use dedicated credentials for integration with ServiceNow.
- Email: Use only for low-volume sources or when other options (scripts, SNMP forwarding) are unavailable.
Event rules
- Write rules to cover broad event sets first, then add specific rules with lower order values.
- Event rules process events in memory without modifying original events; use Processing Notes and UI action links for troubleshooting.
- Ensure exact matching of JSON fields when using MIB-based rules; upload MIBs to translate variable bindings correctly.
- Adopt consistent naming conventions for event rules, e.g., <customer acronym>.<Event Source>.<Description>.
- Use order fields to prioritize similarly conditioned rules.
- Populate key fields (Source, Node, Type, Resource, Metric Name) for effective de-duplication and parallel processing.
- Bind alerts to CIs primarily by populating the Node field with unique identifiers (hostname, IP, MAC); use JSON in ciidentifiers if needed.
- Include additional custom event data only in the Additional information field; do not add custom columns to the event table.
De-duplication and CI binding
- Use the messagekey field for de-duplication; if not provided, defaults to concatenation of Source, Node, Type, Resource, and Metric Name.
- Ensure event sources populate these fields to improve event distribution and throughput.
- Bind alerts to CIs rather than events; use event rules for binding rather than business rules.
Alert settings and lifecycle
- Alerts open when events are not ignored, thresholds exceeded, and de-duplication does not match existing alerts.
- Alerts close via closing events or manual closure; reopening allowed within a configurable timeframe.
- Frequent open/close cycles mark alerts as flapping; alert and incident lifecycle are linked by default but configurable.
- Use Acknowledge to mark alerts as known but not needing immediate attention; avoid creating alerts in Closed, OK, or Open states incorrectly.
- Use the alertautocloseinterval property to auto-close alerts after a set period; avoid setting to zero.
Alert management rules
- Automate alert responses such as incident creation, subflows, and notifications using alert management rules and filters.
- Use the Order field to prioritize rules with similar conditions.
- Scheduled jobs apply these rules every 11 seconds; allow 10–15 seconds for rule processing before troubleshooting.
Additional considerations
- Minimize business rule execution time on alert tables; prefer jobs for complex logic.
- Plan event source configurations in parallel efforts and test production events in non-production environments.
- Group services logically using Service Groups to simplify the Service Health dashboard.
- Use Metric Intelligence collector logs on MID Servers for troubleshooting and monitor performance via the Performance Statistics table.
Preferred settings of properties and general configuration.
Use the Known Error Portal and the Community to further help you find information issues.
General preferences
- Self-health
- By default, the self-health monitoring feature is not enabled. To enable it,
navigate to and select Yes for the
Enable Event Management self-health monitoring
(evt_mgmt.self_health_active) property. Use this feature to monitor and
track many Event Management
features.Note:CIs used in the self-health service are created in the CMDB.
Event integration
- SNMP traps
- Use a monitoring tool to send SNMP traps, rather than sending them directly from devices.
- To avoid having to rewrite event rules, upload MIBs prior to defining the event rules.
- Web service API
- Using a web service API for integration can reduce the number of event rules needed. This action avoids having to transform events (prepared data is sent in an event to the instance).
- Use dedicated credentials for integration. Optionally, designate credentials specific to each event source.
- CloudWatch
- Use dedicated credentials for integrating CloudWatch with ServiceNow.
- Use email only if the source has a low volume and other options are not available, such as, running a script or forwarding an SNMP trap.
- Event rules
- Configuration settings when creating event rules:
- Write Event Rules to apply to the broadest number of events possible. More specific rules can then be created as necessary and should use a lower-order value.
- If a more general rule can achieve the same outcome, avoid writing Event Rules that apply only to a certain subset of events.
- When Event Rules are applied to events, no changes are made to the original event. All processing occurs in memory, so use the Processing Notes field and/or use the Check Process of Event UI action link to troubleshoot.
- If you change a rule/transform that has existing mapping rules, you should review and retest with events that are either actual or simulated.
- Ensure that the From field value exactly matches a string in the JSON in the additional_info field of an event. This matching happens when a rule has been configured based on information in a MIB file. If the MIB file is not uploaded, the JSON for the SNMP trap shows varbinds (variable binding) with dotted names, instead of the translated name in the MIB. The event field mapping rule then fails to be applied.
- Establish a consistent naming convention. A common convention is: <customer acronym>.<Event Source>.<Description>. For example, ACME.OEM.Normalize
- If two Event Rules have similar conditions set, use the Order field to control which Event Rule runs.
- Use Event Rules to associate an alert with a CI.
Alert settings
- Alert lifecycle
- General alert functionality:
- An alert is opened whenever an event is not ignored or its threshold is exceeded by an event rule, and de-duplication does not identify the event as belonging to an existing alert.
- An alert is closed when a closing event is sent on the same message key, or the alert is closed manually.
- An alert is reopened if an opening alert that has the same message key is sent within the timeframe defined in properties (default is one hour).
- If an alert is opened and closed at a high rate, as defined in properties, it becomes flapping. When this opening and closing rate stops, the alert goes out of flapping state.
- If an incident is opened from an alert, that alert remains open as long as the incident remains open. By default, when either the incident or the alert is closed the other is closed as well. This behavior can be configured using properties.
- Do not close an alert when creating a corresponding incident.
- Do not delete an open alert. Close an alert first and then delete it.
- Use Acknowledge to denote that the alert is known, and can temporarily be ignored.
- Do not use Acknowledge to mark an alert as needing attention.
- Do not create alerts in any of these states:
- Closed
- OK
- Open
- The
evt_mgmt.alert_auto_close_intervalproperty automatically closes alerts after the specified period. Do not specify 0, as this value disables the feature and may lead to performance degradation. - Do not create alerts in OK state. In some monitoring systems OK denotes that an issue has been resolved, while in other monitoring systems OK is used to denote events that are not of operational significance. For the former case, use Clear instead of OK using a Mapping Rule. For the latter case, have an Ignore rule, unless the events are of specific value.
- Alert management rules
- Use alert management rules to define automated responses to alerts, such as opening incidents, running subflows, and launching applications or URLs. For more information, see Alert management rules for resolving alerts.
- Use alert filters to specify which alerts the rule applies to. For more information, see Create an alert management rule.
- Use the Order field to control which alert management rule runs first when rules have similar conditions. For more information, see Create an alert management rule.
- Use subflows to customize alert handling. For example, you can resolve alerts or notify teams. For more information, see Create a custom subflow for alerts.
- A scheduled job applies alert management rules to new or updated alerts every 11 seconds. If an alert management rule does not start immediately, allow 10–15 seconds before you start troubleshooting. For more information, see Alert management rules for resolving alerts.
Business rules
- Business rules created on alert tables should not take more than a few milliseconds. In place of using a business rule, consider if the same functionality can be achieved using a job.
- Do not use business rules to associate an alert with a CI. Use event rules to do binding instead of using business rules.
Planning
- Organize event source configuration of filters, modules, and so on, into multiple parallel efforts, rather than in serial.
- Validate processed event formats to ensure that data that is parsed is aligned with desired results.
- Test production events in a non-production environment. Integrate with non-production element managers and ServiceNow instances. If non-production element managers are not available, send events from element managers to both production and non-production environments.
Services and dashboard
- Use Service Groups to group services into logical groups to reduce the number of services displayed on the Service Health dashboard.
- Import manually built service maps.
Metric Intelligence collector logs and files
Metric Intelligence collector logs and files are located under the path $(MID_SERVER_DIR)/agent. Use these logs and files for troubleshooting and monitoring purposes.
| Log or file | Path |
|---|---|
| PowerShell metric collector log file | Logs/retrieve_metrics{connector instance ID}.log |
| PowerShell output file | work/metrics/metrics_output_{connector instance ID}.txt |
| PowerShell input file | work/metrics/parameters_{connector instance ID}.txt |
Metric Intelligence performance can be checked in the MID Server log file when the mid.log.level MID Server parameter is in debug mode.
Metric Intelligence performance numbers are available in the Performance Statistics [sa_performance_statistics] table. To view the performance numbers, filter the Performance Statistics list for Metric Collector.