zabbix 邮件报警配置
zabbxi 邮件告警推送有两种方式:
1.使用zabbix服务端的本地邮箱账号发送,邮件名为:user@hostname.localdomain,user为发送邮件的用户,hostname为zabbix-server的主机名,该邮箱只能发送,不能接收外部邮件;
2.使用外部邮箱指定为告警发送邮箱
本文采用第2种方式进行配置
1.在线安装:yum -y install sendmail
systemctl start sendmail.service #启动sendmail
systemctl enable sendmail.service #设置开机自起
systemctl stop sendmail.service #停止sendmail
2.安装邮件发送工具mailx: yum -y install mailx
3.我是用的是腾讯的企业邮箱,需要在服务器上下载SSL证书:
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com: | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt
certutil -L -d /root/.certs
4..配置外部邮箱:编辑 view /etc/mail.rc
set from=service@****.com#发件箱
set smtp=smtps://smtp.exmail.qq.com:465 #smtp地址,我用的腾讯企业邮箱 我是用的是阿里云服务器 阿里云把邮件的默认25端口给禁用掉了,可以申请解除,本文用的465端口来发送邮件
set smtp-auth-user=serice@******.com
set smtp-auth-password=****** #邮箱授权码
set smtp-auth=login
set nss-config-dir=/etc/pki/nssdb
set ssl-verify=ignore #ssl认证方式
set nss-config-dir=/root/.certs #证书所在目录
5.测试邮箱发送(查看邮箱是否收到邮件):echo "zabbix test mail" |mail -s "zabbix" server@******.com
6..编写邮件发送脚本
1.修改脚本路径:vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/etc/zabbix/alertscripts
2.编写脚本mail.sh
进入zabbix目录:cd /ect/zabbix
创建alertscripts文件夹并进入文件夹创建mail.sh文件: mkdir alertscripts && cd alertscripts && touch mail.sh
编辑mail.sh文件:vim mail.sh (将以下粘贴到mial.sh中)
#!/bin/bash
echo "$3" | mail -s "$2" $ //$1:收件人邮箱地址;$2:邮件标题;$3:邮件内容
为mail.sh授权:chmod 755 mail.sh
7.web端配置
1.创建报警媒介类型 (脚本参数分别对应:收件人地址、主题、详细内容)

2.配置用户 选择admin用户


3.添加报警媒介

4.创建报警动作 配置-动作-创建动作,新建动作:

5.新建操作:


新建操作就是通过何种方式将消息发送给谁,其它选项默认。
6.添加恢复操作

7.添加后的动作:

7.测试邮件告警
新增告警项,在agent端/home文件系统使用dd命令创建文件,将文件系统使用率提升至90%以上以触发告警:
dd if=/dev/zero of=test bs=1M count=2000 #用dd命令生成一个2000M的test文件,使/home使用率告警。
触发邮件告警:

发现邮件以附件方式发送,显示不正常,修改邮件发送脚本。
安装dos2unix转换工具:yum -y install dos2unix
编辑发送脚本:
cd /etc/zabbix/alertscripts
touch mailtmp.txt && chmod mailtmp.txt
chown -R zabbix:zabbix /etc/zabbix/alertscripts/ more mail.sh
#!/bin/bash
FILE=/etc/zabbix/alertscripts/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
cat $FILE|/bin/mail -s "$2" $
注意:dos2unix命令执行的时候会产生临时文件,所以要有写的权限,故应修改alertscripts目录属主,不然测试过程中会报错:‘dos2unix: Failed to open temporary output file: 权限不够’。
发现正文不再以附件形式显示。
查看告警日志:

至此邮件告警配置完成。
zabbix 邮件报警配置的更多相关文章
- Zabbix邮件报警配置
一.安装sendmail或者postfix yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail on #设置开 ...
- zabbix 邮件告警配置
使用外部邮箱账号发送报警邮件设置 一.关闭sendmail或者postfix service sendmail stop #关闭 chkconfig sendmail off #禁止开机启动 serv ...
- zabbix邮件报警设置
第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmailstop #关闭 chkconfig sendmailoff #禁止开机启 ...
- Zabbix 邮件报警示例
Zabbix 邮件报警示例: 1.编辑 mail.rc 文件添加默认的邮箱配置 # vi /etc/mail.rc set from=1234567@qq.com set smtp=smtp.qq. ...
- zabbix 邮件报警(五)
一.sendEmail配置zabbix邮件报警 1.下载sendEmail: wget http://caspian.dotconf.net/menu/Software/SendEmail/sendE ...
- linux中Zabbix邮件报警设置配置步骤
使用外部邮箱账号发送报警邮件设置 配置Zabbix服务端外部邮箱 vi /etc/mail.rc #编辑,添加以下信息 set from=xxx@163.com smtp=smtp.163.com s ...
- zabbix(7)邮件报警配置
邮件报警可以使用Linux自带邮件服务器(postfix等),也可以使用其他邮件服务器(像腾讯邮箱,126邮箱) 一.使用mail. 1.确定zabbix server是否安装发送邮件的命令mail, ...
- Zabbix邮件报警-->Email
Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...
- Zabbix邮件报警-->Script
Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...
随机推荐
- openpyxl工具总结
1.openpyxl使用 涉及到单元格合并.赋值 ''' .格式转换 raw_data create_data boolean Bool uint8 UInt8 int8 Int8 uint16 UI ...
- 闲记 单元格与单元格之间的边 ///字体属性都是font开头,除了颜色属性 ///文本属性都是text开的,除了设置行高。
这两天一直在做网页没有什么太大的问题,期间也考了一场试,对答案的时候老师讲了一些小知识,因此来记录一下. 单元格与单元格之间的边距(cellspaling) list-type-image可以使用图像 ...
- 2. Packet crafting tools (封包工具 6个)
2. Packet crafting tools (封包工具 6个) NetcatHping这个方便小巧的实用程序组装并发送定制的ICMP,UDP或TCP数据包,然后显示任何回复. 它受到ping命令 ...
- android BluetoothAdapter蓝牙BLE扫描总结
1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startLeScan(callback)方法,官方在5.0之后不建议使用,实测此方法,4. ...
- TensorFlow:检查显卡支持哪个版本的CUDA
最近想学习TensorFlow深度学习编程,然后就开始查这方面的信息. 第0步是安装环境,配置环境. 首先到TensorFlow的官网查看在Windows上安装的条件和步骤. 可以仅仅安装CPU版本的 ...
- 前端基础:canvas概述
1:并不是所有的浏览器都支持canvas,若是不支持则浏览器会弹出 <canvas>Update your browser to enjoy canvas</canvas> 浏 ...
- sql server 与 sql server compact 互相数据导入
从SQL Server 导出数据到 Sql Compact 使用 Sql Server Compact Tool box 从SQL Server Comapct 导出数据到 Sql Server 使 ...
- C# 控件消失等问题
控件消失原因: 1.新控件的触发导致页面重载,该重载有没有达到原有控件的触发状态进而消失. 2.(目前只发现这一点,后续又发现再更...) 1.示例: ASPX: <div> <!- ...
- 【转】Linux环境进程间通信(五) 共享内存(上)
转自:https://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以 ...
- CentOS7中KVM虚拟机内存、CPU调整
CentOS7中KVM虚拟机内存.CPU调整 1. 调小虚拟机内存 调小虚拟机内存可以动态实现,不用关机 1.1 查看当前内存大小 [root@kvm01 ~]# virsh dominfo vm1- ...