zoukankan      html  css  js  c++  java
  • [原创] zabbix学习之旅四:mail客户端安装

      相信大家使用zabbix的最主要目的就是当被监控机器发生故障时,能通过zabbix获得第一时间的报警提醒。zabbix常用的报警媒介有email,短信,jabber和脚本,这其中脚本类型最为灵活,尤其当邮件服务器、短信服务器不与zabbix server在同一台服务器时,自定义脚本基本上成为我们唯一可靠的方式。

      在本文中,我们将在zabbix server上安装邮件客户端,并以脚本方式将报警信息通过邮件发出来,若以后想做短信提醒、微信提醒,技术路径都是一样的。

    安装msmtp

      msmtp是一个SMTP客户端,可将邮件发送至SMTP服务端,其官网地址为http://msmtp.sourceforge.net/index.html  。

    • 下载并安装msmtp
    cd /usr/local/src
    wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download
    tar jxvf msmtp-1.4.32.tar.bz2
    cd msmtp-1.4.32
    ./configure --prefix=/usr/local/msmtp
    make && make install
    • 配置msmtp
    mkdir –p /usr/local/msmtp/etc
    vi /usr/local/msmtp/etc/msmtprc
    #添加如下内容:
    account default 
    host smtp.163.com                    
    port 25
    from xxx@163.com      
    auth login
    tls off
    user  xxx                     
    password xxx                
    logfile /var/log/mmlog

    chmod 777 /var/log/mmlog
    • 测试msmtp
    /usr/local/msmtp/bin/msmtp  xxx@163.com 
    hello,test 
    ctrl d
    # 查看日志有无成功 
    cat /usr/local/msmtp/msmtp.log
    # 查看163邮箱,看看信收到没有。

    安装Mutt

      Mutt是一个Email客户端,它不能直接发送邮件,更多的是承担对email的管理功能,与msmtp可搭配使用。其官网地址为:http://www.mutt.org/ 

    若想了解更多Mutt与msmtp的搭配使用,可查看如下地址:http://msmtp.sourceforge.net/doc/msmtp.html#Using-msmtp-with-Mutt 

    • 下载并安装Mutt
    cd /usr/local/src
    wget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz
    tar xvf mutt-1.5.24.tar.gz
    cd mutt-1.5.24
    ./configure –prefix=/usr/local/mutt
    make && make install
    • 配置Mutt
    vi /usr/local/mutt/etc/Muttrc
    #在最后添加如下几行:
    set sendmail="/usr/local/msmtp/bin/msmtp"
    set use_from=yes
    set realname="xxx"
    set from=xxx@163.com
    set envelope_from=yes
    • 测试Mutt
    echo "hello,world"|/usr/local/mutt/bin/mutt –s "test mail" xxx@163.com
    #上述语句将发送一封标题为"test mail",内容为"hello,world",收件人为xxx@163.com的邮件,可检查该邮箱能否收到邮件

      至此,邮件客户端已配置完成,那zabbix如何将报警信息传递给Mutt呢?我们仅需要写如下一段脚本:

    cd /usr/local/zabbix/share/zabbix/alertscripts
    touch notification.sh
    chmod +x notification.sh
    
    vi notification.sh
    #添加如下内容
    #!/bin/bash
    echo "$3"| /usr/local/mutt/bin/mutt -s "$2" $1

      其中$1为zabbix传递的收件人地址,$2为邮件标题,$3为邮件内容。

      而上述路径/usr/local/zabbix/share/zabbix/alertscripts是默认的zabbix脚本调用路径,当有报警信息时,zabbix会在该路径下查找并调用指定的脚本,如我们自定义的notification.sh脚本。

      下一篇文章我们将介绍如何在zabbix server界面完成报警提醒的全过程设置。

  • 相关阅读:
    git上传本地项目
    第十一章 持有对象
    java 闭包与回调
    类名.class 类名.this 详解
    匿名内部类
    第十章 内部类
    Java简单调用Zookeeper服务
    Linux下ZooKeeper集群安装
    Linux自动化安装JDK
    linux下初步实现Keepalived+Nginx高可用
  • 原文地址:https://www.cnblogs.com/hutao722/p/5176898.html
Copyright © 2011-2022 走看看