阿斯顿阿斯顿 发表于 2019-1-25 07:31:14

zabbix——邮件报警功能

  实验目的:

[*]  监控httpd服务是否正常工作
[*]  如果没有工作,发送报警邮件给相应用户,并执行远程命令尝试重启httpd服务
[*]  httpd状态恢复正常后,发送Recovery邮件给相应用户
[*]  邮件脚本使用的是python语言
  编写报警邮件脚本的方法:
  方法一,为不同的管理组编写脚本
  如果多个用户绑定同一个公用邮箱,脚本中指定公用邮箱地址即可。如果用户使用自己的邮箱,脚本中要定义好所有用户的邮箱
  方法二,编写统一的脚本
  通过$1参数获取到用户的邮箱地址。使用此方法,需要给每个用户分配一个zabbix账号,并绑定Media Type
  实验中使用的是方法二
  
  
  一、编辑脚本:
  vim /etc/zabbix/zabbix_server.conf
http://s4.运维网.com/wyfs02/M02/8D/1F/wKioL1iKA5rD4YNxAAKsTMtyrvw136.png
  
vim /usr/lib/zabbix/alertscripts/alertMail.py
//编辑脚本  

  
#!/usr/bin/env python
#coding: utf-8
import smtplib
from email.mime.text import MIMEText
import sys
def sendMail(toEmail,subject,message):
# 定义邮件发送
smtpHost = 'smtp.xxx.xxx'
#smtp服务器
fromEmail = 'xxx@xxx'
# 定义发件人
toEmail = toEmail
passwd = 'xxxxx'
# 发件人密码
msg = MIMEText(message,'plain','utf-8')
msg['Subject'] = subject
msg['From'] = fromEmail
msg['To'] = toEmail
smtp_server = smtplib.SMTP(smtpHost,25)
smtp_server.login(fromEmail,passwd)
smtp_server.sendmail(fromEmail,toEmail,msg.as_string())
smtp_server.quit()
if __name__ == '__main__':
toEmail = sys.argv+"@qq.com"
# 补全用户邮箱
sendMail(toEmail,sys.argv,sys.argv)  

  
  
chmod +x /usr/lib/zabbix/alertscripts/alertMail.py
//添加执行权限  

  
service zabbix-server restart
//重启服务以读取到新添加的脚本  

  
  
  二、添加Media Type:
http://s3.运维网.com/wyfs02/M00/8D/22/wKiom1iKA-fgFOKrAAHYkkdPtg4193.png
  
http://s2.运维网.com/wyfs02/M00/8D/1F/wKioL1iKBACCZYGbAAEYKrLTklM323.png
  
  
  三、创建用户,绑定Media Type:
http://s1.运维网.com/wyfs02/M01/8D/22/wKiom1iKBCLRLDFGAAHxJnCYm0o184.png
  
http://s5.运维网.com/wyfs02/M02/8D/1F/wKioL1iKBGqzXtHgAAFfYoSwNa4317.png
  
http://s1.运维网.com/wyfs02/M01/8D/1F/wKioL1iKBIPBn3bXAAEKyXGgfAg736.png
  
http://s1.运维网.com/wyfs02/M00/8D/22/wKiom1iKBKKDGa1JAAHuzdE4Lc4437.png
  
  
  四、配置Action:
http://s3.运维网.com/wyfs02/M00/8D/1F/wKioL1iKBL_zDVK5AADZh-S4KWo831.png
  
http://s3.运维网.com/wyfs02/M02/8D/1F/wKioL1iKBNWyH6aMAAG1QAMwSv8614.png
  
http://s3.运维网.com/wyfs02/M02/8D/1F/wKioL1iKBPDD9_rjAADItTy8ch8535.png
  
http://s5.运维网.com/wyfs02/M00/8D/22/wKiom1iKBRrzPHCnAAEqK8k1ZAs492.png
  
http://s5.运维网.com/wyfs02/M00/8D/22/wKiom1iKBTKCic3SAAEThwspejA098.png
http://s3.运维网.com/wyfs02/M00/8D/1F/wKioL1iKBUajG4PSAAD6XoS5yNc248.png
  
  
  效果:
service httpd stop
//在被监控主机上执行,关闭httpd服务  

http://s4.运维网.com/wyfs02/M00/8D/1F/wKioL1iKBWnxPm3GAACx6YdC-wY371.png
  
http://s1.运维网.com/wyfs02/M01/8D/22/wKiom1iKBYSTX57iAADALTY5bjE317.png
  
http://s1.运维网.com/wyfs02/M01/8D/1F/wKioL1iKBaKSi7WpAAIORAgouf0416.png
  
  
  额外测试:
  修改Action
http://s5.运维网.com/wyfs02/M01/8D/22/wKiom1iKBbjC7hHfAAEhFaGP0TM070.png
  
http://s5.运维网.com/wyfs02/M01/8D/1F/wKioL1iKBc6SnBQLAAFR4i7OJ6I083.png
  
  




页: [1]
查看完整版本: zabbix——邮件报警功能