Zabbix 设置告警
配置文件
1 | LogFile=/usr/local/zabbix/zabbix_server.log |
- 定义监控项:进入配置 -> 主机 -> node1 -> 监控项(items)-> 创建监控项
- 定义触发器:进入配置 -> 主机 -> none1 -> 触发器(trigger)-> 创建触发器
- 定义动作(action):进入配置 -> 动作 -> 创建动作(选择事件源为触发器)
邮件环境
echo “hello tomorrow” | mail -s “test” 邮箱1
2
3
4
5
6
7
8
9yum -y install mailx
vim /etc/mail.rc
'//末尾添加'
set from=邮箱
set smtp=smtp.qq.com
set smtp-auth-user=邮箱
set smtp-auth-password=邮箱授权码
set smtp-auth=login发送邮件
Shell 脚本
vi /usr/lib/zabbix/alertscripts/mailx.sh
创建日志文件并修改权限并测试1
2
3
4
5
6
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >> /app/temp/mailx.log 2>&11
2
3
4
5touch /app/temp/mailx.log
chown -R zabbix.zabbix /app/temp/mailx.log
chmod +x mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
sh mailx.sh 邮箱 zabbix "this is test"Python 脚本
vi /usr/local/zabbix/alertscripts/zabbix_sendmail.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
29
30
31
32
33
#!/usr/bin/python
# -*- coding: utf-8 -*-
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
import sys
smtpaddr = 'smtp.qq.com'
myemail='327627448@qq.com' ##发送邮件的QQ
password='mypassword' ##填写登陆客户端的授权码,在邮箱里生成同时需要打开POP3,IMAP服务
#f = open('/usr/local/zabbix/.passwd','r')
#password = f.readline().strip()
recvmail=sys.argv[1] ##发送邮件给谁
subject=sys.argv[2] ## 发送的主题
content=sys.argv[3] ##发送的内容
msg = MIMEText("""%s"""%(content), "plain", "utf-8") ##发送的内容
msg['Subject'] = Header(subject, 'utf-8').encode()
msg['From'] = myemail
msg['To'] = recvmail
try:
smtp = SMTP_SSL( smtpaddr )
smtp.login(myemail, password)
smtp.sendmail(myemail, recvmail.split(','), msg.as_string())
smtp.quit()
print("success")
except Exception as e:
print("fail: "+str(e))
##增加执行权限,测试脚本是否运行正常能发送邮件
/usr/local/zabbix/alertscripts/zabbix_sendmail.py 1065236572@qq.com 'zabbix disk' 'content: disk > 90%'脚本放置的名字,注意是放置在/usr/local/zabbix/alertscripts 目录下,添加三个接受的参数,发送给谁,主题是什么,内容是什么 这地方需要添加三个参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
添加需要发送的用户媒介设置
创建触发器动作在模板或者主机里
设置触发器触发之后的动作(action)
出问题发送的内容用户,执行的脚本
故障恢复之后动作 发送一封恢复的邮件
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 君玉自牧!