zoukankan      html  css  js  c++  java
  • 使用本地命令实现zabbix报警

    监控环境

    操作系统 IP地址/端口
    redhat8 192.168.100.1:10050/10051/25

    事先已经搭建好了zabbix环境,如有需要,请参考zabbix监控配置

    如果你想要使用本地命令控制zabbix报警,你需要安装一个软件包,它由mailx提供

    [root@zabbix ~]# dnf provides *bin/mail
    Updating Subscription Management repositories.
    Unable to read consumer identity
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    Last metadata expiration check: 6:14:43 ago on Mon 26 Apr 2021 10:04:46 AM CST.
    mailx-12.5-29.el8.x86_64 : Enhanced implementation of the mailx command
    Repo        : base
    Matched from:
    Other       : *bin/mail
    
    #安装它
    [root@zabbix ~]# dnf -y install mailx

    同时你还需要安装一个包,它提供邮箱服务功能

    [root@zabbix ~]# dnf provides *bin/sendmail
    postfix-2:3.3.1-12.el8.x86_64 : Postfix Mail Transport Agent
    Repo        : base
    Matched from:
    Other       : *bin/sendmail
    
    [root@zabbix ~]# dnf -y install postfix

    装完之后设置开机自启

    [root@zabbix ~]# systemctl enable --now postfix
    Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
    
    #此时你会发现25号端口起来了
    [root@zabbix ~]# ss -antl
    State    Recv-Q   Send-Q     Local Address:Port      Peer Address:Port   
    LISTEN   0        128              0.0.0.0:10051          0.0.0.0:*      
    LISTEN   0        128              0.0.0.0:9000           0.0.0.0:*      
    LISTEN   0        128              0.0.0.0:22             0.0.0.0:*      
    LISTEN   0        100            127.0.0.1:25             0.0.0.0:*      
    LISTEN   0        128              0.0.0.0:10050          0.0.0.0:*      
    LISTEN   0        80                     *:3306                 *:*      
    LISTEN   0        128                    *:80                   *:*      
    LISTEN   0        128                 [::]:22                [::]:*      
    LISTEN   0        100                [::1]:25                [::]:*

    假设我用我的QQ邮箱当作收件箱

    #这里XXX代表你的邮箱地址,写你自己的就行了,可不要给别人疯狂发邮件哦
    [root@zabbix ~]# echo "测试" | mail -s "20210426" XXX@qq.com

     我的邮箱已经收到了我发送的测试邮件了

     邮箱如果多次发送会被列入垃圾箱,所以你需要给它设置白名单

     

    本地邮箱+脚本告警配置

    本地邮箱告警脚本目录默认是/usr/local/share/zabbix/alertscripts

    [root@zabbix ~]# vim /usr/local/etc/zabbix_server.conf
    ### Option: AlertScriptsPath
    #       Full path to location of custom alert scripts.
    #       Default depends on compilation options.
    #       To see the default path run command "zabbix_server --help".
    #
    # Mandatory: no
    # Default:
     AlertScriptsPath=/usr/local/share/zabbix/alertscripts  #取消注释,修改成绝对路径
    
    //重启服务
    [root@zabbix ~]# pkill zabbix
    [root@zabbix ~]# zabbix_server
    [root@zabbix ~]# zabbix_agentd
    
    //写脚本
    [root@zabbix ~]# cd /usr/local/share/zabbix/alertscripts/
    [root@zabbix alertscripts]# cat sendmail.sh 
    #/bin/bash
    
    MESSAGE=$(echo $2 | tr "
    " "
    ")
    SUBJECT=$(echo $3 | tr "
    " "
    ")
    MAILTO=$1
    
    echo "$MESSAGE" | mail -s "$SUBJECT" $MAILTO
    
    //给予脚本执行权限
    [root@zabbix alertscripts]# chmod +x sendmail.sh
    
    //测试(xxx为你邮箱地址)
    [root@zabbix alertscripts]# su - zabbix -s /bin/bash
    [zabbix@zabbix alertscripts]$ /usr/local/share/zabbix/
    alertscripts/    externalscripts/ 
    [zabbix@zabbix alertscripts]$ /usr/local/share/zabbix/alertscripts/sendmail.sh XXX@qq.com "test" "测试"

     邮件已经收到了

    本地邮箱脚本告警配置

    添加媒介

    Administration --- Media types

     添加媒介信息

    设置收件人

    Administration --- Users --- Admin

    设置动作

    Configuration --- Actions

    //触发警报
    [root@zabbix ~]# echo "测试" >> /tmp/1

     

    第三方邮箱网页告警+脚本告警配置

    第三方邮箱网页告警

    配置步骤请见:Zabbix配置

    第三方邮箱网页告警脚本告警配置

    配置mail.rc

    SMTP的主要配置如下:

    set smtp=smtps://smtp.xxx.com:465   # 这里填入smtp地址
    set smtp-auth=login                 # 认证方式
    set smtp-auth-user=user@xxx.com     # 这里输入邮箱账号
    set smtp-auth-password=password     # 这里填入密码
    set ssl-verify=ignore               # 忽略证书警告
    set nss-config-dir=/etc/pki/nssdb   # 证书所在目录
    set from=user@xxx.com               # 设置发信人邮箱和昵称
    #set smtp-use-starttls=yes          # STARTTLS时使用

    文件默认在/etc/mail.rc

    //配置mail.rc
    [root@zabbix ~]# vim /etc/mail.rc
    #在最后一行添加如下信息
    set smtp=smtp.163.com
    set smtp-auth=login
    set smtp-auth-user=XXX@163.com
    set smtp-auth-password=XXXXXXXXXXXXX        #这里为授权码
    set from=XXX@163.com

    第三方邮箱脚本告警配置

    添加媒介

    Administration --- Media types

     

    设置收件人

    Administration --- Users --- Admin

    设置动作

    Configuration --- Actions

    触发触发器

    验证

  • 相关阅读:
    HDU 5583 Kingdom of Black and White 水题
    HDU 5578 Friendship of Frog 水题
    Codeforces Round #190 (Div. 2) E. Ciel the Commander 点分治
    hdu 5594 ZYB's Prime 最大流
    hdu 5593 ZYB's Tree 树形dp
    hdu 5592 ZYB's Game 树状数组
    hdu 5591 ZYB's Game 博弈论
    HDU 5590 ZYB's Biology 水题
    cdoj 1256 昊昊爱运动 预处理/前缀和
    cdoj 1255 斓少摘苹果 贪心
  • 原文地址:https://www.cnblogs.com/lichouluoyu/p/14705622.html
Copyright © 2011-2022 走看看