实验目的:
监控httpd服务是否正常工作
如果没有工作,发送报警邮件给相应用户,并执行远程命令尝试重启httpd服务
httpd状态恢复正常后,发送Recovery邮件给相应用户
邮件脚本使用的是python语言
编写报警邮件脚本的方法:
方法一,为不同的管理组编写脚本
如果多个用户绑定同一个公用邮箱,脚本中指定公用邮箱地址即可。如果用户使用自己的邮箱,脚本中要定义好所有用户的邮箱
方法二,编写统一的脚本
通过$1参数获取到用户的邮箱地址。使用此方法,需要给每个用户分配一个zabbix账号,并绑定Media Type
实验中使用的是方法二
一、编辑脚本:
vim /etc/zabbix/zabbix_server.conf
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[1]+"@qq.com"
# 补全用户邮箱
sendMail(toEmail,sys.argv[2],sys.argv[3])
chmod +x /usr/lib/zabbix/alertscripts/alertMail.py
//添加执行权限
service zabbix-server restart
//重启服务以读取到新添加的脚本
二、添加Media Type:
三、创建用户,绑定Media Type:
四、配置Action:
效果:
service httpd stop
//在被监控主机上执行,关闭httpd服务
额外测试:
修改Action
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com