zabbix设置邮件告警
时间:2022-07-22
本文章向大家介绍zabbix设置邮件告警,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
配置zabbix
配置——》动作——》创建动作
设置动作,例如触发器达到什么级别告警
设置操作,包括标题及发送的消息内容,然后再设置一些细节,给谁发此消息
完整的示例如下:
定义恢复操作,设置标题,及消息内容,随后设置一些细节,将恢复后的消息发送给具体的用户或组
最后再点击添加,保存整个完整的动作。
设置报警媒介类型
这里是通过执行服务器上的脚本完成邮件告警的
脚本参考
# cat send_mail.py
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import smtplib
import sys
from email.header import Header
from email.mime.text import MIMEText
class SendMail():
def __init__(self,mail_host,mail_user,mail_pass,sender,receivers,content,title):
self.mail_host = mail_host
self.mail_user = mail_user
self.mail_pass = mail_pass
self.sender = sender
self.receivers = receivers
self.content = content
self.title = title
def sendEmail(self):
msg = MIMEText(content,'plain','utf-8')
msg['From'] = "{}".format(sender)
msg['To'] = ",".join(receivers)
msg['Subject'] = title
try:
smtpObj = smtplib.SMTP_SSL(mail_host,465)
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(sender,receivers,msg.as_string())
print('mail send successful.')
except smtplib.SMTPException as e:
print(e)
if __name__ == '__main__':
#smtp服务器地址
mail_host = "smtp.exmail.qq.com"
#发送邮件的邮箱地址
mail_user = "xxx@xxxxx.com"
#邮箱密码
mail_pass = 'xxxxxxxexxxx'
#发送邮件的邮箱地址
sender = 'xxxxxx@xxxx.com'
#收件地址,多个以逗号分隔
receivers = str(sys.argv[1]).split(',')
#邮件内容
content = sys.argv[2]
#邮件标题
title = sys.argv[3]
m = SendMail(mail_host,mail_user,mail_pass,sender,receivers,content,title)
m.sendEmail()
写好脚本后,我们需要修改下zabbix-server的配置文件,需要指定下脚本位置
vim zabbix_server.conf
增加这么一段配置:
AlertScriptsPath=/export/script
修改完成后,重启一下zabbix-server服务。
以上是关于zabbix如何设置邮件告警,有的云主机25端口是封禁状态,所以我们自己写一个脚本,使用加密的465端口,这样会更加安全。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux企业生产常见问题集合(一)答案
- python六十八课——网络编程之UDP协议
- python六十九课——网络编程之TCP协议
- Linux扩容分区操作过程
- python第七十课——python2与python3的一些区别
- Linux运维必会的100道MySql面试题之(一)
- Linux运维必会的100道MySql面试题之(二)
- Apache服务的反向代理及负载均衡配置
- Linux系统集群架构线上项目配置实战(二)
- Linux系统集群架构线上项目配置实战(三)
- Linux系统集群架构线上项目配置实战(四)
- Linux系统集群架构线上项目配置实战 五(完结篇)
- 生产Mysql数据库数据恢复实战过程
- voliate工作实际应用场景
- Linux三剑客命令之Awk