6-1 使用外部脚本(python)发送邮件

本文介绍如何通过修改Zabbix配置文件及添加Python脚本来实现Zabbix的邮件报警功能。包括配置AlertScriptsPath路径、上传Python脚本、设置脚本权限等步骤,并详细展示了如何在Zabbix Web界面上进行相应配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。

sudo vi  /etc/zabbix/zabbix_server.conf

将配置文件中下方的参数AlertScriptsPath修改如下(此路径是zabbix触发警报脚本的路径):

AlertScriptsPath=/usr/lib/zabbix/alertscript

2、上传新增py脚本至AlertScriptsPath参数指定的绝对路径下,py文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /usr/bin/env python
# coding:utf-8
'''
[INFORMATION]
Zabbix Send Email With Python
AUTHOR : fancc
Email : fancc@yonyou.com
Time :2016-09-13
'''
from  email  import  encoders
from  email.header  import  Header
from  email.mime.text  import  MIMEText
from  email.utils  import  parseaddr, formataddr
import  smtplib
import  sys
def  send_mail(_to_email,_subject,_message):
# 定义邮件发送
   smtp_host  =  'smtp_host'
   from_email  =  'server-email'
   passwd  =  '*********'
   msg  =  MIMEText(_message, 'plain' , 'utf-8' )
   msg[ 'Subject' =  _subject
   smtp_server  =  smtplib.SMTP(smtp_host, 25 )
   smtp_server.login(from_email,passwd)
   smtp_server.sendmail(from_email,[_to_email],msg.as_string())
   smtp_server.quit()
if  __name__  = =  '__main__' :
   send_mail(sys.argv[ 1 ],sys.argv[ 2 ],sys.argv[ 3 ])

3、修改python脚本的权限

sudo chown -R zabbix:zabbix ysdp_monitor_mails.py

sudo chmod 755 ysdp_monitor_mails.py

4、zabbix web端配置

  • Administration –> Media types –> Create media type (管理-报警媒介类型-创建)
  • 为新创建的user指定media:Administration –> Users ,选择Admin帐号
  •  
  • 在“报警媒介”中添加报警媒介
  • 创建action实现邮件报警Configuration –> Actions ,新建或者打开已有的动作
  • 在 动作的 “操作”页签中,添加步骤

5、zabbix测试发送邮件找一个test的zabbix_agentd,kill掉,查看是否收到报警邮件。再将其恢复,查看是否收到恢复后的邮件。如果一切如预期所想,那么至此就完成了使用python脚本完成zabbix的报警邮件了。

 

动作内容配置如下:

-------------------------------------------------------------------------------------------------------------------------------------------

主题:

YSDP-ZABBIX::{TRIGGER.STATUS}: {TRIGGER.NAME}

 

默认信息:

触发器名称:{TRIGGER.NAME} 触发器状态: {TRIGGER.STATUS} 触发器级别: {TRIGGER.SEVERITY}

监控项名称--主机名称:Key--Values

1. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1};

2. {ITEM.NAME2} ({HOST.NAME2}:{ITEM.KEY2}): {ITEM.VALUE2};

3. {ITEM.NAME3} ({HOST.NAME3}:{ITEM.KEY3}): {ITEM.VALUE3};

源事件 ID: {EVENT.ID}

请至http://172.16.50.156/zabbix中查看警报明细

--------------------------------------------------------------------------------------------------------------------------------------------

图示如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值