Активных инцидентов и алертов не зафиксировано
Для отправки алертов в PWA добавьте Webhook ресивер в ваш конфигурационный файл alertmanager.yml:
route:
receiver: 'pwa-noc-alerts'
group_by: ['alertname', 'instance']
group_wait: 10s
group_interval: 30s
repeat_interval: 1h
receivers:
- name: 'pwa-noc-alerts'
webhook_configs:
- url: 'https://your-domain.com/api/webhook/alertmanager'
send_resolved: true
Параметр send_resolved: true отправляет пуш-уведомление с зеленым бейджем ✅ [RESOLVED], когда авария устранена.
1. В веб-интерфейсе Zabbix перейдите в Alerts → Media types → Create media type.
2. Укажите название: PWA Alerts Webhook, тип: Webhook.
3. В секции Parameters добавьте параметры:
alert_message : {ALERT.MESSAGE}
event_name : {EVENT.NAME}
event_severity : {EVENT.SEVERITY}
event_status : {EVENT.STATUS}
event_value : {EVENT.VALUE}
host_name : {HOST.NAME}
host_ip : {HOST.IP}
event_id : {EVENT.ID}
4. Вставьте следующий JavaScript код в поле Script:
try {
Zabbix.log(4, '[PWA Webhook] Started with: ' + value);
var params = JSON.parse(value);
var req = new HttpRequest();
req.addHeader('Content-Type: application/json');
var webhookUrl = 'https://your-domain.com/api/webhook/zabbix';
var payload = {
event_name: params.event_name,
event_value: params.event_value,
event_status: params.event_status,
event_severity: params.event_severity,
host_name: params.host_name,
host_ip: params.host_ip,
alert_message: params.alert_message,
event_id: params.event_id
};
var resp = req.post(webhookUrl, JSON.stringify(payload));
if (req.getStatus() !== 200) {
throw 'Response code: ' + req.getStatus();
}
return 'OK';
} catch (error) {
Zabbix.log(3, '[PWA Webhook] Notification failed: ' + error);
throw 'Failed: ' + error;
}
Нажмите на любой готовый пресет ниже, чтобы отправить тестовый алерт на подключенный iPhone: