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

    摘自:https://www.cnblogs.com/yaoyaojcy/p/11776199.html

    11 一步一步Zabbix4.4.0系统教你实现sendEmail邮件报警

    点击返回:自学Zabbix之路

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

    点击返回:自学zabbix集锦

    一步一步Zabbix4.4.0系统教你实现sendEmail邮件报警

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

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

    1. 下载安装sendEmail 

    1
    2
    3
    4
    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
    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
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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 创建目录

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

    2.2  编写脚本

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

    1
    2
    3
    4
    5
    6
    7
    #!/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 编辑完成后,给脚本权限:

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

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

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

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

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

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

    3  配置报警媒介

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

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

    zabbix支持的报警媒介如下:

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

     

     

     

     

    作者:CARLOS_CHIANG
    出处:http://www.cnblogs.com/yaoyaojcy/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

  • 相关阅读:
    爱福窝在线装修设计软件测评
    关于简书首页模式的思考和畅想
    这些O2O比你们更靠谱儿
    iOS动画——Layer Animations
    最大流, 最小割问题及算法实现
    浅谈iOS学习之路
    iOS架构师之路:慎用继承
    iOS架构师之路:控制器(View Controller)瘦身设计
    IOS中的编码规范
    关闭键盘导致tableView:didSelectRowAtIndexPath:失效解决办法
  • 原文地址:https://www.cnblogs.com/xichji/p/11811743.html
Copyright © 2011-2022 走看看