This topic describes how to integrate Zabbix with the alert management feature of Application Real-Time Monitoring Service (ARMS).
Prerequisites
Only Zabbix 5.x is supported.
Step 1: Create a Zabbix integration
-
Log on to the ARMS console. In the left-side navigation pane, choose .
-
On the Alert Integration tab, click Zabbix.
-
In the Create Zabbix Integration wizard, enter a name and description for the integration, specify the automatic recovery time, and click Save.
NoteAutomatic recovery time after timeout: If an alert event is not triggered again within the specified period of time, the alert event is automatically cleared.
-
On the Alert Integration tab, search for the Zabbix integration that you created and copy the integration URL.
Step 2: Configure Zabbix
-
Log on to the server where Zabbix is deployed and run the following command to find the Zabbix script path:
cat /etc/zabbix/zabbix_server.conf | grep alertSample response:
[root@localhost ~]# cat /etc/zabbix/zabbix_server.conf | grep alert # Number of pre-forked instances of alerters. # Full path to location of custom alert scripts. # AlertScriptsPath=${datadir}/zabbix/alertscripts AlertScriptsPath=/usr/lib/zabbix/alertscripts [root@localhost ~]# -
Run the
cdcommand to switch to the Zabbix script path. -
Run the following command to download the ARMS alert management installation package.
wget http://arms-public.oss-cn-shanghai.aliyuncs.com/alerts/aliyunalertmanager.tgz -
Run the following command to decompress the installation package.
tar -xzvf aliyunalertmanager.tgz -
Go to the bin directory of the installation package.
cd aliyunalertmanager/bin -
Run the following command to install ARMS alert management.
sh install.sh <integration_url>Replace
<integration_url>with the integration URL that you obtained in Step 1. -
During the installation, enter the Zabbix management URL, administrator username, and password as prompted.
(Optional) Step 3: Edit the integration
ARMS alert management includes default field mappings from the Zabbix alert source to ARMS alerts. You can also add or modify the mappings on the Edit Integration page as needed.
Sample alert source:
{
"startat":"2021.09.09 20:13:57",
"eventId":"16874-9756",
"eventType":"trigger",
"message":"/: Used space in Zabbix server value is 81 GB, triggered an alarm disk usage trigger",
"hostname":"Zabbix server",
"ip":"127.0.0.1",
"severity":"Warning",
"value":"81 GB",
"metric":"vfs.fs.size[/,used]",
"itemName":"/: Used space",
"alertname":"disk usage trigger",
"eventUrl":"http://127.0.0.1/zabbix/tr_events.php?triggerid=16874&eventid=9756"
}
-
On the Alert Integration tab, find the integration that you want to manage and click Edit in the Actions column.
-
In the Event Mapping section, click Send Test Data.
-
In the Send Test Data dialog box, enter the alert content of a third-party alert source in the JSON format and click Send.
Note-
If the message Uploaded. No events are generated. Configure mappings based on the original data. appears, the fields of the alert source are not mapped to the fields of ARMS alert events. The data that is sent is displayed in the left-side box. This allows you to select the source fields when you configure mappings.
-
If the message Uploaded. appears, the alert content is reported to the Alert Event History page. For more information, see View alert event history.
-
-
In the Send Test Data dialog box, click Disable.
-
In the left part of the Event Mapping section, click the data records for which you want to configure mappings to view the details.
-
In the right pane of the Event Mapping section, map the source fields to the ARMS alert fields.
-
Optional:In the Select Root Node section, specify whether to enable batch processing.
If an array node exists in the alert data, you can specify the array node as the root node. The data that belongs to the root node is processed in batches.
After you select Use Batch Processing, select the array node to be batch processed as the root node.
NoteIf multiple array nodes exist in the alert data, you can select only one of the array nodes for batch processing.
-
In the Map Source Fields to Target Fields section, map the fields of the alert source to the alert fields of ARMS.
Click the mapping icon to change the method for field mapping.
-
Direct: The specified field of the alert source is directly mapped to the specified alert field of ARMS.
-
Series: You can use delimiters to concatenate multiple fields of the alert source into one field, and then map this field to the specified alert field of ARMS. Only special characters can be used as delimiters.
-
Conditional: The specified alert source fields are mapped to the ARMS alert fields only when the field values meet the specified conditions.
-
Mapping table: The alert source severity is mapped to the ARMS alert severity. The mapping table contains only the severity field.
The following table describes the alert fields of ARMS.
Alert field
Description
alertname
The name of the custom alert.
severity
The severity level of the alert. You must configure mappings for this field. The mapping method must be set to Direct.
message
The description of the alert. The description is used as the content of the alert message. The description cannot exceed 15,000 characters in length.
value
The sample value of a metric.
imageUrl
The URL of the line chart that contains Grafana metrics. The URL is used to map the line chart.
check
The check item of the alert. Examples: CPU, JVM, Application Crash, and Deployment.
source
The source of the alert.
class
The type of the object that triggers the alert event, for example, host.
service
The source service of the alert. Example: Login Service.
startat
The timestamp that represents the start time of the event.
endat
The timestamp that represents the end time of the event.
generatorUrl
The URL of the event details.
-
-
-
Configure field deduplication for alert events.
To reduce duplicate data, the system uses relevant fields as the basis for deduplication. ARMS Alert Management allows you to preview the deduplication grouping results of historical event data that is displayed in the Event Mapping section. You can change the fields to be deduplicated.
NoteYou can configure deduplication only for events that are not cleared.
-
In the Event Deduplication section on the Integration Details page, select the fields that are used for deduplication.
If multiple events have the same value for a specified field, the events are merged into one alert notification.
-
Click Deduplication Test to preview the alert group after deduplication.
NoteThe deduplication test takes effect only on the latest 10 data records that are uploaded in the left part of the Event Mapping section.
-
-
After you configure the settings, click Save.
Verify the integration
After you install ARMS alert management in Zabbix, the installer automatically creates a user, user group, media type, and action. This allows new alert events generated in Zabbix to be automatically reported to ARMS alert management.
The integration does not report alert events that were generated in Zabbix before the installation.
Perform the following steps to verify that ARMS alert management is installed successfully.
-
Log on to the Zabbix console.
-
In the top menu bar, choose .
On the Users page, verify that the Aliyun Alert User is created, the user type is Zabbix Super Admin, the user group is Aliyun Alert Group, and the status is Enabled.
-
In the top menu bar, choose .
On the User groups page, verify that a user group named Aliyun Alert Group exists, includes Aliyun Alert User as a member, and is Enabled.
-
In the top menu bar, choose .
On the Media types page, verify that a media type named Aliyun Alert Media exists, its type is Script, its status is Enabled, and the script name is
aliyunalertmanager/bin/alert.sh. -
In the top menu bar, choose .
On the Action page, verify that an action named Aliyun Alert Action is created, its status is Enabled, and its operation sends messages to the Aliyun Alert User through all media.
NoteYou can customize the reported alert content in the Aliyun Alert Action action based on your needs.
View the details about an alert event
-
In the left-side navigation pane of the ARMS console, choose .
-
On the Alert Event History page, click the name of the alert event to view the event details. For more information, see View alert event history.
Manage integrations
In the left-side navigation pane, choose . On the Alert Integration tab, you can perform the following operations on the integrations that you created:
-
View the details of an integration: Find the integration and then click the row. On the Integration Details page, view the integration details.
-
Update key: To update the key for an integration, find the integration, choose in the Actions column, and then click Confirm in the dialog box that appears.
ImportantAfter you update the key, you must reinstall ARMS alert management by following the instructions in Step 2.
-
Modify an integration: Find the integration and then click Edit in the Actions column. On the Integration Details page, modify the integration information and then click Save.
-
Enable or disable an integration: Find the integration and then click Disable or Enable in the Actions column.
-
Delete an integration: Find the integration and then click Delete in the Actions column. In the message that appears, click OK.
-
Add an event processing flow to an integration: Find the integration and click Add Event Processing Flow in the Actions column. For more information, see Event processing flow.
-
Create a notification policy: Find the integration for which you want to create a notification policy, and click More in the Actions column. In the list that appears, click Create Notification Policy. For more information, see Notification policies.
What to do next
After you create a notification policy, the system generates alerts and sends alert notifications for reported alert events based on the notification policy that you created. For more information, see Notification policies. On the Alert Sending History page, you can view the alerts that are generated based on the configured notification policy. For more information, see View alert sending history.