• zabbix 利用脚本发邮件(mail)


    # 源码安装mailx

    tar jxvf mailx-12.3.tar.bz2

    make && make install UCBINSTALL=/usr/bin/install

    #yum安装

    yum -y install mailx  #一般镜像文件都会有mailx 

    配置mailx   #登陆163申请帐号和设置授权码(很简单的)

    [root@zbx zabbix]# vim /etc/mail.rc

    set smtp=smtp.163.com  #中转站(由于qq需要做ssl认证,不推荐)

    set from=邮箱账户@163.com  #伪装发送人

    set smtp-auth-user=邮箱账户@163.com  #发送人

    set smtp-auth-password=邮箱账户的授权码  #发送箱密码

    set smtp-auth=login  #认证方式(登陆)

     

    # 发送测试邮件

    [root@zbx zabbix]# echo "Hello" | mail -v -s "test" x.x.x.x@qq.com
    Resolving host smtp.guohualife.com . . . done.
    Connecting to x.x.x.x:smtp . . . connected.
    220 smtp.aliyun-inc.com MX AliMail Server(x.x.x.x)
    >>> EHLO zabbix_master
    250-smtp.aliyun-inc.com
    250-STARTTLS
    250-8BITMIME
    250-AUTH=PLAIN LOGIN XALIOAUTH
    250-AUTH PLAIN LOGIN XALIOAUTH
    250-PIPELINING
    250 DSN
    >>> AUTH LOGIN
    334 dXNlcm5hbWU6
    >>> emFiYml4QGd1b2h1YWxpZmUuY29t
    334 UGFzc3dvcmQ6
    >>> MTIzYWJjZCE=
    235 Authentication successful
    >>> MAIL FROM:<zabbix@xxxx.com>
    250 Mail Ok
    >>> RCPT TO:<x.x.x.x@qq.com>
    250 Rcpt Ok
    >>> DATA
    354 End data with <CR><LF>.<CR><LF>
    >>> .
    250 Data Ok: queued as freedom
    >>> QUIT
    221 Bye

    vim /usr/lib/zabbix/alertscripts/maillog.sh  #编写邮件发送脚本(这里的3个变量需要在web页面设置内置的宏值)

    注意#如果需要发邮件带附件在mail加上-a+文件名的参数(文件名最好用txt)

    messages=`echo $3 | tr ' ' ' '`

    subject=`echo $2 | tr ' ' ' '`

    echo "${messages}" | /usr/bin/mailx -s "${subject}" -a /etc/zabbix/scripts/deal_time/log/deal.txt  $1 >>/usr/lib/zabbix/alertscripts/ybt.log 2>&1

    -s  主题

    -a (文件名)  发附件(最好用.txt结尾)

    -c  抄送人(有多人之间用空格隔开)

    ****/tmp/sendmail.log该文件zabbix用户一定要有读写权限

     

    #增加可执行权限

    chown zabbix.zabbix /usr/lib/zabbix/alertscripts/maillog.sh

    chmod a+x /usr/lib/zabbix/alertscripts/maillog.sh

    zabbix web设置

    根据环境使用的mailx,及在/usr/lib/zabbix/alertscripts/maillog.sh创建了一个脚本,每次触发都会调用maillog.sh,脚本maillog.sh中有3个变量对应下面的3个zabbix自带宏值。

    媒介这块应该选用脚本类型

    参数填写zabbix自带的宏值:

    {ALERT.SENDTO}:发送人

    {ALERT.SUBJECT}:主题

    {ALERT.MESSAGE}:内容

    指定新建或默认用户并对用户添加脚本及收件人邮箱

     

     

  • 相关阅读:
    【转】彻底解决matplotlib中文乱码问题
    angularjs依赖注入,setInterval()功能
    【转】图解SQL的各种连接join
    关于c#调用matlab时,deploytool选项没有.NET Assembly的问题的解决
    SQL从其他服务器数据库导入数据到本地数据库中
    【转】Asp.net下载文件、文件流输出 直接输出文件
    【转】正则应用实例,如将多个空格改为1个空格
    【转】线程间操作无效:从不是创建控件 的线程访问它,解决办法
    js获取鼠标坐标,设置div的高度、位置、内容等,及注意要点
    Java线程阻塞的方法
  • 原文地址:https://www.cnblogs.com/ZhengLiming/p/9936204.html
Copyright © 2020-2023  润新知