zabbix 报警邮件怎么加上当时的Graphs图表

你可以通过 Zabbix 的报警动作来发送带有 Graphs 图表的邮件。在 Zabbix 中,你可以创建一个报警动作,该动作可以在触发器状态变为问题或恢复时发送邮件。你可以在报警动作中添加一个操作,该操作可以将 Graphs 图表添加到邮件中。下面是一个使用 Python 的 Zabbix API 创建报警动作并添加 Graphs 图表的示例代码:

import requests
import json

# 设置 Zabbix API 的 URL 和认证令牌
url = 'http://zabbix.example.com/api_jsonrpc.php'
headers = {'Content-Type': 'application/json-rpc'}
auth_token = 'your_auth_token'

# 创建一个 Zabbix 报警动作并添加 Graphs 图表
def create_zabbix_alert_action(alert_name, alert_description, graph_id, recipient_email):
    # 构造 Zabbix API 请求
    payload = {
        'jsonrpc': '2.0',
        'method': 'alert.create',
        'params': {
            'name': alert_name,
            'description': alert_description,
            'eventsource': 0,
            'status': 0,
            'esc_period': 120,
            'filter': {
                'evaltype': 0,
                'conditions': [
                    {
                        'conditiontype': 16,
                        'operator': 7,
                        'value': graph_id
                    }
                ]
            },
            'operations': [
                {
                    'operationtype': 0,
                    'esc_period': 0,
                    'esc_step_from': 1,
                    'esc_step_to': 1,
                    'evaltype': 0,
                    'opmessage_grp': [
                        {
                            'groupid': 1
                        }
                    ],
                    'opmessage': {
                        'default_msg': 1,
                        'mediatypeid': 1,
                        'subject': 'Zabbix Alert: {TRIGGER.NAME}',
                        'message': 'Problem started at {EVENT.TIME} on {EVENT.DATE}\n\n{TRIGGER.NAME}: {TRIGGER.STATUS}\n\n{ITEM.NAME}: {ITEM.VALUE}\n\n{EVENT.ID}'
                    },
                    'opmessage_usr': [
                        {
                            'userid': 1
                        }
                    ]
                }
            ],
            'recovery_operations': [
                {
                    'operationtype': 0,
                    'esc_period': 0,
                    'esc_step_from': 1,
                    'esc_step_to': 1,
                    'evaltype': 0,
                    'opmessage_grp': [
                        {
                            'groupid': 1
                        }
                    ],
                    'opmessage': {
                        'default_msg': 1,
                        'mediatypeid': 1,
                        'subject': 'Zabbix Alert: {TRIGGER.NAME}',
                        'message': 'Problem resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}\n\n{TRIGGER.NAME}: {TRIGGER.STATUS}\n\n{ITEM.NAME}: {ITEM.VALUE}\n\n{EVENT.ID}'
                    },
                    'opmessage_usr': [
                        {
                            'userid': 1
                        }
                    ]
                }
            ],
            'recovery_notice': 1,
            'correlation_mode': 0,
            'correlation_tag': '',
            'manual_close': 0,
            'default_msg': 1,
            'tags': [
                {
                    'tag': 'email',
                    'value': recipient_email
                }
            ]
        },
        'auth': auth_token,
        'id': 1
    }

    # 发送 Zabbix API 请求
    response = requests.post(url, headers=headers, data=json.dumps(payload))

    # 解析 Zabbix API 响应
    result = json.loads(response.text)

    # 返回报警动作 ID
    return result['result']['alertids'][0]

在上面的代码中,你需要将 urlauth_token 替换为你的 Zabbix API 的 URL 和认证令牌。然后,你可以调用 create_zabbix_alert_action 函数来创建一个报警动作并添加 Graphs 图表。该函数接受四个参数:alert_namealert_descriptiongraph_idrecipient_email,分别表示报警动作的名称、描述、Graphs 图表的 ID 和收件人的邮箱地址。函数将返回报警动作的 ID。

参考文档
(1) zabbix6.0开启邮箱告警 - 知乎. https://zhuanlan.zhihu.com/p/577499885.
(2) Zabbix实现电话、邮件、微信告警通知的实践分享 - 知乎. https://zhuanlan.zhihu.com/p/81288844.
(3) 2 自定义图表 - Zabbix. https://www.zabbix.com/documentation/current/zh/manual/config/visualization/graphs/custom.
(4) 在zabbix中实现发送带有图片的邮件和微信告警 - 知乎. https://zhuanlan.zhihu.com/p/446364200.

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

完颜振江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值