本方式是使用外部邮箱账号发送报警邮件到指定邮箱。

好处是:此邮箱账号既能发送邮件,也能接收邮件,而且避免被当做垃圾邮件。

一、zabbix-server端安装mailx服务

  1. [root@ltt01 ~]# yum -y install mailx

注意:为防止中文乱码和发送内容变成附件,需要安装dos2unix

  1. [root@ltt01 alertscripts]# yum -y install dos2unix

二、配置外部邮箱

  1. [root@ltt01 ~]# vi /etc/mail.rc

添加如下内容:

  1. set from=外部邮箱地址 smtp=外部邮箱smtp地址
  2. set smtp-auth-user=外部邮箱地址 smtp-auth-password=邮箱密码
  3. set smtp-auth=login

发送测试邮件

  1. [root@ltt01 ~]# echo "zabbix test " | mail -s "zabbbix" 任意邮箱地址

echo后边跟的是邮件内容, -s后跟的是邮件主题,最后是要发送的邮箱地址。

三、定义发送脚本

查看当前所设置语系

  1. [root@ltt01 ~]# locale
  2. LANG=en_US.UTF-
  3. LC_CTYPE="en_US.UTF-8"
  4. LC_NUMERIC="en_US.UTF-8"
  5. LC_TIME="en_US.UTF-8"
  6. LC_COLLATE="en_US.UTF-8"
  7. LC_MONETARY="en_US.UTF-8"
  8. LC_MESSAGES="en_US.UTF-8"
  9. LC_PAPER="en_US.UTF-8"
  10. LC_NAME="en_US.UTF-8"
  11. LC_ADDRESS="en_US.UTF-8"
  12. LC_TELEPHONE="en_US.UTF-8"
  13. LC_MEASUREMENT="en_US.UTF-8"
  14. LC_IDENTIFICATION="en_US.UTF-8"
  15. LC_ALL=
  16. [root@ltt01 ~]# echo $LANG
  17. en_US.UTF-

查看zabbix报警脚本位置

  1. [root@ltt01 ~]# grep "AlertScriptsPath" /etc/zabbix/zabbix_server.conf
  2. ### Option: AlertScriptsPath
  3. # AlertScriptsPath=${datadir}/zabbix/alertscripts
  4. AlertScriptsPath=/usr/lib/zabbix/alertscripts

进入所在目录

  1. [root@ltt01 ~]# cd /usr/lib/zabbix/alertscripts/

创建发送脚本,并编辑内容

  1. [root@ltt01 alertscripts]# vi sendMail.sh
  2.  
  3. #!/bin/sh
  4. #export LANG=en_US.UTF-8 //解决乱码
  5.  
  6. FILE=/tmp/mailtmp.txt
  7. echo "$3" > $FILE
  8. dos2unix -k $FILE //解决内容成附件发送
  9. /bin/mail -s "$2" $ < $FILE

:wq保存退出

给脚本赋值运行权限

  1. [root@ltt01 alertscripts]# ls -l
  2. total
  3. -rw-r--r-- root root Apr : sendMail.sh
  4. [root@ltt01 alertscripts]# chmod +x sendMail.sh
  5. [root@ltt01 alertscripts]# ls -l
  6. total
  7. -rwxr-xr-x root root Apr : sendMail.sh

测试发送脚本

  1. [root@ltt01 alertscripts]# ./sendMail.sh 邮箱地址 "zabbix" "zabbix test"

四、web操作

管理--->报警媒介类型---->创建媒体类型

注意:脚本名称与实际的脚本名称一致

添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

管理--->用户-----> 点击Admin--->报警媒介--->添加--->选择sendMail.sh,填写收件邮箱

点击更新,保存信息

管理---->用户群组----->点击 zabbix administrators 调试模式为已启用

点权限---->点选择

全选

点更新

配置--->动作----->创建动作

注意事件源要选择触发器

定义动作

定义操作

定义回复操作

定义确认操作

点击添加

五、测试

打开四个XShell连接,等待接收邮件。

【zabbix教程系列】五、邮件报警设置(脚本方式)的更多相关文章

  1. Ubuntu16.04 + Zabbix 3.4.7 邮件报警设置

    部署了Zabbix,需要配置邮件报警,在网上找了一些教程,大多是是用的CentOS + Zabbix 2.x版本的,而且还要写脚本,感觉太麻烦了,所以自己结合其他文章摸索了一套配置方法. 先说一下环境 ...

  2. zabbix使用之打造邮件报警

    zabbix使用之打造邮件报警 前言: 报警信息很重要,它能使我们最快的知道故障内容,以便于及时处理问题.zabbix如果没配置报警功能,则完全不能体现zabbix的优势了 配置详情如下: 1.编写发 ...

  3. Netty4.x中文教程系列(五)编解码器Codec

    Netty4.x中文教程系列(五)编解码器Codec 上一篇文章详细解释了ChannelHandler的相关构架设计,版本和设计逻辑变更等等. 这篇文章主要在于讲述Handler里面的Codec,也就 ...

  4. linux中Zabbix邮件报警设置配置步骤

    使用外部邮箱账号发送报警邮件设置 配置Zabbix服务端外部邮箱 vi /etc/mail.rc #编辑,添加以下信息 set from=xxx@163.com smtp=smtp.163.com s ...

  5. zabbix邮件报警设置

    第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmailstop #关闭   chkconfig sendmailoff #禁止开机启 ...

  6. Zabbix邮件报警设置方法

    实现目的: 在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱. 具体操作: 以下操作在Zabbix监控服务端进行 备注:Zabbix监控服务端 操 ...

  7. zabbix邮件报警通过脚本来发送邮件

    zabbix默认邮件报警会将各个报警接收人单独发送邮件,为了使邮件能以群发的方式统一一封邮件发送所有接收人,需要改成脚本的形式: sendemail.py: #!/usr/bin/python imp ...

  8. Linux-Zabbix 邮件报警设置

    系统环境 Ubuntu 16.04 在Zabbix服务器端 安装sendmail sudo apt install sendmail 测试发送邮件 echo "正文!" | mai ...

  9. zabbix(7)邮件报警配置

    邮件报警可以使用Linux自带邮件服务器(postfix等),也可以使用其他邮件服务器(像腾讯邮箱,126邮箱) 一.使用mail. 1.确定zabbix server是否安装发送邮件的命令mail, ...

  10. 分布式系统监视zabbix讲解二之邮件报警通知--技术流ken

    概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制 ...

随机推荐

  1. mybatis框架(7)---mybatis逆向工程

    mybatis逆向工程 ​ 逆向工程的目的就是缩减了我们的开发时间.所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo.mapper以及mapper.xml. 接 ...

  2. 解决mac上每次升级nodejs都要重新安装扩展包的问题

    虽然有了一些新生派竞品比如yarn,但使用或者习惯了npm的开发者仍然大有人在. 以前用起来没注意到这个现象,最近一段时间发现,每次随着使用brew upgrade自动升级了nodejs版本,原来安装 ...

  3. JDK源码分析(11)之 BlockingQueue 相关

    本文将主要结合源码对 JDK 中的阻塞队列进行分析,并比较其各自的特点: 一.BlockingQueue 概述 说到阻塞队列想到的第一个应用场景可能就是生产者消费者模式了,如图所示: 根据上图所示,明 ...

  4. Springboot 系列(十一)使用 Mybatis(自动生成插件) 访问数据库

    1. Springboot mybatis 介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数获取 ...

  5. Centos7+LVS-DR+keepalived实验(包含sorry-server、日志、及HTTP-GET的健康检测)

    目录检索 一.简介 1.lvs-dr原理请参考原理篇 2.keepalived原理请参考原理篇 3.基于lvs-dr+keepalived故障切换架构图如下: 二.部署 1.环境 2.准备RS的web ...

  6. 《C#并发编程经典实例》学习笔记—2.6 任务完成时的处理

    问题 正在 await 一批任务,希望在每个任务完成时对它做一些处理.另外,希望在任务一完成就立即进行处理,而不需要等待其他任务. 问题的重点在于希望任务完成之后立即进行处理,而不去等待其他任务. 这 ...

  7. thinkphp5路由心得

    路由的作用:1. 简化URL地址,方便大家记忆2. 有利于搜索引擎的优化,比如可以被百度的爬虫抓取到 优化URl1. 前后端分离修改入口文件,在public下新建admin.php文件,将下面的代码添 ...

  8. [笔记]记录原开发工作在base命名空间下扩展的属性与方法

    前言 该笔记只是为了记录以前开发使用的方式. 处理命名空间namespace /** * 处理命名空间 * @param {string} 空间名称,可多个 * @return {object} 对象 ...

  9. 小tips:你不知道的 npm init

    前言 在现代新建一个 JS 相关的项目往往都是从 package.json 文件开始的,不过这个文件里需要的字段实在是太多了,正常人都记不住,所以 npm 官方提供了 npm init 命令帮助我们快 ...

  10. 自定义修改Anaconda Jupyterlab Home目录

    自定义修改Anaconda Jupyterlab Home目录 最近在使用Anaconda学习数据分析和机器学习,会使用到Jupyter,但是他默认目录是用户的目录,我并没有习惯将项目和资料放在C盘, ...