• 【zabbix教程系列】五、邮件报警设置(脚本方式)


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

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

    一、zabbix-server端安装mailx服务

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

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

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

    二、配置外部邮箱

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

    添加如下内容

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

    发送测试邮件

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

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

    三、定义发送脚本

    查看当前所设置语系

    [root@ltt01 ~]# locale
    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=
    [root@ltt01 ~]# echo $LANG  
    en_US.UTF-8

    查看zabbix报警脚本位置

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

    进入所在目录

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

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

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

    :wq保存退出

    给脚本赋值运行权限

    [root@ltt01 alertscripts]# ls -l
    total 4
    -rw-r--r-- 1 root root 39 Apr  2 14:59 sendMail.sh
    [root@ltt01 alertscripts]# chmod +x sendMail.sh 
    [root@ltt01 alertscripts]# ls -l
    total 4
    -rwxr-xr-x 1 root root 39 Apr  2 14:59 sendMail.sh

    测试发送脚本

    [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连接,等待接收邮件。

  • 相关阅读:
    使用脚本进入一个命令行控制台,并预设执行的命令列表
    cifs挂载远程文件出现 No such device or address错误
    longtable 跨越多个页面时,如何在跨页时自动断行并加上横线及去掉页眉
    matplotlib中文显示-微软雅黑
    latex编译过程-关于嵌入所有字体
    python做图笔记
    linux启动全过程
    连接并同步windows下的git仓库
    反向ssh
    Ubuntu更改启动内存
  • 原文地址:https://www.cnblogs.com/tijun/p/8695532.html
Copyright © 2020-2023  润新知