zoukankan      html  css  js  c++  java
  • 11 Zabbix4.4.1系统教你实现sendEmail邮件报警

    点击返回:自学Zabbix之路

    点击返回:自学Zabbix4.0之路

    点击返回:自学zabbix集锦

    Zabbix4.4.1系统教你实现sendEmail邮件报警

    sendEmail是一个轻量级、命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择。使用简单并且功能强大.这个被设计用在php、bash、perl和web站点使用。

    以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。

    1. 下载安装sendEmail 

    wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
    tar zxvf  sendEmail-v1.56.tar.gz 
    cd sendEmail-v1.56
    mv sendEmail  /usr/local/bin/  

    确认一下命令的权限:

    SendEmail使用命令帮助

    测试一下:

    1 /usr/local/bin/sendEmail -f carlos@163.com  -t 4224179@qq.com  -s smtp.163.com -u "testsubject" -o message-content-type=html -o message-charset=utf8 -xu carlos@163.com   -xp xxxxx -m "test"
    

     1 /usr/local/bin/sendEmail    命令主程序
     2 -f carlos@163.com       发件人邮箱
     3 -t 4224179@qq.com         收件人邮箱
     4 -s smtp.163.com        发件人邮箱smtp服务器
     5 -u "testsubject"            邮件标题
     6 -o message-content-type=html   邮件内容的格式
     7 -o message-charset=utf8        邮件内容编码
     8 -xu carlos@163.com         发件人邮箱用户名
     9 -xp xxxxxx                  发件人邮箱密码
    10 -m "test"            邮件具体内容
    11 </span>
    

    2. 自定义脚本

     通过脚本报警是非常灵活的,因为我们可以通过脚本发送邮件,发送短信,发送微信等,脚本内部具体通过哪种方式报警,取决于我们怎样编写脚本。

    2.1 创建目录

    mkdir  -p /usr/lib/zabbix/alertscripts/sendEmail.sh    # 创建目录
    vi /usr/lib/zabbix/alertscripts/sendEmail.sh   # 创建脚本

    2.2  编写脚本

    在配置脚本类型的"报警媒介"之前,我们需要先编写好对应的脚本,并且将脚本放置到对应的目录中,以便zabbix能够找到对应的脚本。那么此处,我们来动手编写一个能够发送邮件信息的脚本,这个脚本很简单,此处我们直接使用sendEmail命令发送邮件,脚本内容如下:

    #!/bin/bash
    to=$1        #第一个参数代表邮件发送给哪个邮箱
    subject=$2   #第二个参数代表邮件主题
    message=$3   #第三个参数代表邮件内容
    #url=$4
    ech0 -e "$context" | mail -s "$subject""$to"
    /usr/local/bin/sendEmail -f carlos@163.com  -t "$to"  -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu carlos@163.com   -xp xxxxx -m "$message"

    从脚本内容可以看出,我们在脚本中接收了3个参数,既然定义了参数,那么zabbix在调用此脚本的时候,必然需要传入对应的参数。
    我们向脚本中传入了3个参数,我们可以通过"脚本参数"设定需要传入的参数,当zabbix调用对应脚本时,会自动把"脚本参数"中对应的值按照顺序传入对应的脚本中。如下图,我们添加了三个参数。

    其实,这种由大括号括起,并且由大写字母组成的字符串在zabbix中被称作"宏",我们可以理解为zabbix内置的变量,当不同的警告发生时,上述的三个"宏"的值会自动发生变化。

    那么,除了上述的三个"宏",zabbix还有那些"宏"呢?其他"宏"都代表了什么含义呢?我们可以查看zabbix的官方在线帮助手册,点击查看

    注意:
    在zabbix3.0之前,上图中的三个参数是默认传入对应脚本的,不用再手动进行定义,但是从zabbix3.0开始,如果想要向对应的脚本传入上述三个参数,则需要按照上图进行定义。

    2.3 编辑完成后,给脚本权限:

    chmod +x sendEmail.sh
    chown zabbix.zabbix sendEmail.sh
    

    测一下:  (手动执行一次脚本,后面的参数分别对应接收人,主题,内容)

    ./sendEmail.sh 422417945@qq.com test 123
    

    为什么测试不成功? 显示“无主题” ,本次测试问题就是“subject”写成了“subjext” 。往往不成功就是因为参数问题。 

    2.4  编辑zabbix_server.conf文件,修改AlertScriptsPath参数,该参数用于指定外部脚本的绝对路径。

    vi /etc/zabbix/zabbix_server.conf
    AlertScriptsPath=/usr/lib/zabbix/alertscripts

    3  配置报警媒介

    3.1   Administration –> Media types –> Create media type     media types选择Script

    Name:触发器名称
    Type:介质类型
    Script name:脚本名称(需要先定义AlertScriptsPath,sendEmail.sh放在这个目录下,写绝对路径没用)
    Script parameters:脚本参数
    Description:脚本描述
    Enabled:状态
    

    zabbix支持的报警媒介如下:

    Email:邮件,这是最常用也是最传统的一种报警媒介,邮件报警,zabbix通过配置好的SMTP邮件服务器向用户发送对应的报警信息。
    Script:脚本,当zabbix中的某些监控项出现异常时,也可以调用自定义的脚本进行报警,脚本的使用就比较灵活,具体怎样报警全看你的脚本怎么写。
    SMS:短信,如果想要使用短信报警,则需要依赖短信网关(貌似需要北美的运行商)。
    Jabber:即时通讯服务。
    E Texting:商业的,收费的短信服务(北美运营商提供服务)。
    Webhooks:api概念,是微服务api的使用范式之一。

    但是目前zabbix4.4.0版本里面只保留以下四种:

     3.2 添加参数+脚本名称

    进一步测试邮件:   4.4.0 有一个"Test"测试按键。

    3.3  创建一个用户Administration –> Users –> Create user

     

      为新创建的user指定media:Administration –> Users –> Create user –> Media

     

    3.4  创建action实现邮件报警Configuration –> Actions –> Create action

     

     

     

     

  • 相关阅读:
    start tag, end tag issues in IE7, particularly in xslt transformation
    用SandCastle为注释生成chm文档
    Firebug
    架构的重点
    Linux Shell常用技巧(十) 管道组合
    Linux JDK升级
    Linux Shell常用技巧(十二) Shell编程
    Packet Tracer 5.0实验(一) 交换机的基本配置与管理
    Linux Shell常用技巧(六) sort uniq tar split
    Linux Shell常用技巧(二) grep
  • 原文地址:https://www.cnblogs.com/yaoyaojcy/p/11776199.html
Copyright © 2011-2022 走看看