三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何设置Zabbix的告警机制来及时发现资源异常

美国、香港服务器

如何设置Zabbix的告警机制来及时发现资源异常

07-11   来源:

 设置 Zabbix 的告警机制需要配置触发器(Triggers)、动作(Actions)和媒体类型(Media Types),确保在服务器资源异常时能及时通知管理员。以下是详细步骤:

一、配置触发器(定义告警条件)
触发器是告警的核心,用于定义 “何时触发告警”。以 CPU、内存、磁盘告警为例:
1. CPU 使用率过高告警
路径:配置 → 主机 → 选择目标主机 → 触发器 → 创建触发器
参数:
名称:CPU 使用率过高(自定义)
表达式:{主机名:system.cpu.util[,avg1].last(0)}>80
(含义:最近一次 CPU 平均使用率 > 80%)
严重性:警告 / 高(根据需求选择)
依赖:可选(如依赖系统在线检测)
2. 内存耗尽告警
表达式:{主机名:vm.memory.size(used).last(0)}/{主机名:vm.memory.size(total).last(0)}*100>90
(含义:内存使用率 > 90%)
3. 磁盘空间不足告警
表达式:{主机名:vfs.fs.size[/,pfree].last(0)}<15
(含义:根分区可用空间 < 15%)
二、配置动作(定义告警触发后的行为)
动作决定了告警触发后 Zabbix 会执行什么操作(如发送邮件、短信、微信)。
1. 创建动作
路径:配置 → 动作 → 事件源(触发器) → 创建动作
参数:
名称:资源异常告警(自定义)
条件:默认 “触发器严重性>= 警告”
操作:
操作步骤:
持续时间:1 小时(首次告警持续时间)
操作类型:发送消息
接收人:选择管理员用户或用户组
消息模板:
plaintext
主题:{TRIGGER.STATUS}: {TRIGGER.NAME}
内容:
主机:{HOST.NAME}
触发器:{TRIGGER.NAME}
状态:{TRIGGER.STATUS}
严重性:{TRIGGER.SEVERITY}
时间:{EVENT.DATE} {EVENT.TIME}
详情:{ITEM.NAME}: {ITEM.VALUE}
 
2. 配置恢复操作(可选)
在动作的 “恢复操作” 选项卡中,添加类似操作,用于发送告警恢复通知。
三、配置媒体类型(定义告警通知方式)
Zabbix 支持多种通知方式,如邮件、短信、微信、Slack 等。以下以邮件和微信为例:
1. 配置邮件通知
路径:管理 → 媒体类型 → 创建媒体类型
参数:
类型:邮件
SMTP 服务器:smtp.example.com(如 Gmail 的smtp.gmail.com)
SMTP 安全连接:TLS/SSL(根据邮箱提供商选择)
SMTP 用户名 / 密码:发件邮箱的账号密码
2. 配置微信通知(需企业微信)
创建企业微信应用:
登录企业微信管理后台 → 应用管理 → 创建应用 → 获取 AgentID、Secret。
在 Zabbix 中添加微信媒体类型:
类型:脚本
脚本名称:wechat.py
脚本参数:{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
编写 Python 脚本(保存为/usr/lib/zabbix/alertscripts/wechat.py):
python
运行
#!/usr/bin/env python3
import requests
import sys
import json
 
# 企业微信配置
CORP_ID = "your_corp_id"
SECRET = "your_agent_secret"
AGENT_ID = "your_agent_id"
 
def get_token():
    url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORP_ID}&corpsecret={SECRET}"
    response = requests.get(url).json()
    return response["access_token"]
 
def send_message(token, to_user, subject, content):
    url = f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}"
    data = {
        "touser": to_user,
        "msgtype": "text",
        "agentid": AGENT_ID,
        "text": {"content": f"{subject}\n\n{content}"}
    }
    result = requests.post(url, data=json.dumps(data)).json()
    return result
 
if __name__ == "__main__":
    to_user = sys.argv[1]  # 接收人(企业微信账号)
    subject = sys.argv[2]  # 主题
    content = sys.argv[3]  # 内容
    token = get_token()
    send_message(token, to_user, subject, content)
 
确保脚本有执行权限:chmod +x /usr/lib/zabbix/alertscripts/wechat.py。
四、关联用户与媒体类型
路径:管理 → 用户 → 选择管理员用户 → 媒体 → 添加
参数:
类型:选择已配置的媒体类型(如邮件、微信)
收件人:填写邮箱地址或企业微信账号
启用:勾选
当 severity 为:选择触发告警的严重性级别(如 “警告” 及以上)
五、测试告警机制
手动触发测试:
在 Zabbix 中临时修改触发器阈值(如将 CPU 使用率阈值改为 10%)。
使用工具(如stress)临时提高服务器资源使用率,触发告警。
检查是否收到通知(邮件、微信等)。
恢复正常配置:
测试完成后,将触发器阈值改回正常值。
六、高级配置建议
告警升级策略:
在动作中添加多个步骤,如:
步骤 1:发送邮件通知管理员。
步骤 2(10 分钟后未解决):同时发送邮件和短信。
步骤 3(1 小时后未解决):升级通知给运维经理。
告警抑制:
配置 “依赖关系”,避免重复告警(如服务器离线时,不触发 CPU / 内存告警)。
自定义告警模板:
根据不同的触发器严重性(如 “灾难”“严重”)设置不同的通知内容和方式。
集成第三方工具:
通过 Webhook 集成 Slack、钉钉等工具,实现多渠道告警。
 
通过以上配置,Zabbix 可在服务器资源异常(如 CPU 过载、内存耗尽、磁盘满)时,及时通过邮件、微信等方式通知管理员,实现自动化监控与告警。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:怎样在Zabbix中设置告警的接收方式? 下一篇:详细说明如何通过zabbix监控服务器资源使用情况

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器、香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)