文章目录
一、Zabbix Server 端配置
yum -y install mailx
vim /etc/mail.rc
#末尾添加以下内容
set from=gengcc1314@163.com
set smtp=smtp.163.com
set smtp-auth-user=gengcc1314@163.com
set smtp-auth-password=邮箱授权码(授权码获取可在百度查看详细步骤)
set smtp-auth=login
#测试能否正常发送邮件
echo "text success" | mail -s "testmail" gengcc1314@163.com
vim /usr/lib/zabbix/alertscripts/mailx.sh
#编写发送邮件的脚本,注意,脚本一定要在这个目录下,否则将无法正常收到告警邮件!
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log #创建日志文件
#赋权
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
#执行脚本进行测试
. /usr/lib/zabbix/alertscripts/mailx.sh gengcc1314@163.com "zabbix" "hello world"
二、Web 页面配置监控机制
①管理→报警媒介类型→创建媒体类型
脚本名称:mailx.sh
脚本参数: '//新增以下三个参数'
{
ALERT.SENDTO}
{
ALERT.SUBJECT}
{
ALERT.MESSAGE}
②用户→Admin→报警媒介
③配置→动作→创建动作
④动作→操作→恢复操作
'默认标题':Problem:{
EVENT.NAME}
'消息内容':
告警主机:{
HOST.NAME}
告警 IP:{
HOST.IP}
告警时间:{
EVENT.DATE}-{
EVENT.TIME}
告警等级:{
TRIGGER.SEVERITY}
告警信息:{
TRIGGER.NAME}:{
ITEM.VALUE}
事件 ID:{
EVENT.ID}
'默认标题':{
TRIGGER.STATUS}:{
TRIGGER.NAME}
'消息内容':
恢复主机:{
HOST.NAME}
恢复 IP:{
HOST.IP}
恢复时间:{
EVENT.DATE}-{
EVENT.TIME}
恢复等级:{
TRIGGER.SEVERITY}
恢复信息:{
TRIGGER.NAME}:{
ITEM.VALUE}
恢复 ID:{
EVENT.ID}
⑤Server 端重启 Zabbix 服务
systemctl restart zabbix-server && systemctl restart zabbix-agent.service
'//重启服务以使配置生效'
⑥配置→主机-client-01→模板→更新
三、Client 端测试邮件告警机制
systemctl stop sshd
#关闭sshd服务,需等待3分钟左右的时间
重启sshd
systemctl start sshd #需要等待3分钟左右