zoukankan      html  css  js  c++  java
  • CentOS 7 zabbix实现微信报警

    环境 : LAMP  CentOS7  192.168.94.11

    首先搭建LAMP环境 , 安装zabbix

    [root@zabbix-server ~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    [root@zabbix-server ~]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm 
    [root@zabbix-server ~]# yum -y install mariadb mariadb-server zabbix-server zabbix-get zabbix-agent zabbix-server-mysql zabbix-web zabbix-web-mysql 
    [root@zabbix-server ~]# systemctl start mariadb
    [root@zabbix-server ~]# mysql  # 授权zabbix库给zabbix
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 2
    Server version: 5.5.60-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> quit
    Bye
    
    [root@zabbix-server ~]# cd /usr/share/doc/zabbix-server-mysql-4.0.0/  # 将数据导入zabbix库
    [root@zabbix-server zabbix-server-mysql-4.0.0]# ls
    AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
    [root@zabbix-server zabbix-server-mysql-4.0.0]# gzip -d create.sql.gz 
    [root@zabbix-server zabbix-server-mysql-4.0.0]# mysql -uzabbix -p zabbix < create.sql 
    Enter password: 

    Zabbix-agent: 客户端程序

    Zabbix-get: 服务端上命令行获取客户端检查项目的工具

    Zabbix-server-mysql: zabbix-server MySQL版

    Zabbix-web: Web界面

    Zabbix-web-mysql: Web界面MySQL相关

    安装以上包时,会连带安装httpd和PHP,因为我已经运行Nginx,我要修改httpd的监听端口

    修改httpd的监听端

    [root@zabbix-server zabbix-server-mysql-4.0.0]# vim /etc/httpd/conf/httpd.conf 
    
    Listen 80 改为 Listen 8080
    [root@zabbix-server zabbix-server-mysql-4.0.0]# systemctl start httpd

    修改zabbix-server的配置文件 , 并启动zabbix-server服务

    [root@zabbix-server zabbix-server-mysql-4.0.0]# vim /etc/zabbix/zabbix_server.conf 
    在# DBPassword=下面添加
    DBPassword=123456
    [root@zabbix-server zabbix-server-mysql-4.0.0]# vim /etc/httpd/conf.d/zabbix.conf 
    # 把时区修改为亚洲/上海 php_value date.timezone Asia/Shanghai
    [root@zabbix-server zabbix-server-mysql-4.0.0]# systemctl start zabbix-server zabbix-agent

    安装zabbbix步骤省略,安装完之后, 接下来需要注册企业微信

     https://work.weixin.qq.com/

    按照要求填写信息即可

    创建微信报警应用

     

    企业ID也会用到

    创建完企业微信之后要配置微信报警脚本

    脚本链接: https://pan.baidu.com/s/1OrXKVxI3OrXM2CVcHV5v6w 提取码: p9us

    查看zabbix的脚本路径在哪

    [root@zabbix-server ~]# grep -i scriptspath /etc/zabbix/zabbix_server.conf 
    ### Option: AlertScriptsPath
    # AlertScriptsPath=${datadir}/zabbix/alertscripts
    AlertScriptsPath=/usr/lib/zabbix/alertscripts
    [root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
    [root@zabbix-server alertscripts]# rz    # 上传下载好的脚本
    
    [root@zabbix-server alertscripts]# ll
    总用量 3496
    -rw-r--r-- 1 root root 3579488 10月  5 21:40 wechat
    [root@zabbix-server alertscripts]# chmod +x wechat    # 给上执行权限

    测试

    --corpid= 企业ID

    --corpsecret= 应用密码

    --msg= 报警内容

    --user= 用户或组的账号

    详细可以使用./wechat -h or --help 查看

    如果报错 {"errcode":40014,"errmsg":"invalid access_token"}

    那么需要把企业微信号里的应用删除 , 重新添加 , 就可以发送成功了

    测试成功之后就可以配置zabbix的报警机制了

    因为我使用了Nginx , http每次访问都要加端口号, 我这里直接使用nginx来代理httpd

    创建nginx的虚拟主机配置文件

    [root@zabbix-server zabbix-server-mysql-4.0.0]# vim /usr/local/nginx/conf/vhosts/zabbix.conf 
    
    server                                                                                       
    {
        listen 80; 
        server_name 192.168.94.11;
        
        location /
        {   
            proxy_pass http://192.168.94.11:8080/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
        }   
    }

     配置zabbix报警

      

    设置报警格式 可以自定义

    报警信息:
    Error:{EVETN.NAME}
    hostname: ({HOST.NAME} Time:{EVENT.DATE} {EVENT.TIME} level:{TRIGGER.SEVERITY} message:{TRIGGER.NAME} event:{ITEM.NAME}:{ITEM.VALUE} 恢复报警:
    Ok:{EVENT.NAME}
    hostname: ({HOST.NAME} Time:{EVENT.DATE} {EVENT.TIME} level:{TRIGGER.SEVERITY} message:{TRIGGER.NAME} event:{ITEM.NAME}:{ITEM.VALUE}

    恢复配置 

    记住 , 每一步的配置一定要点击配置项里面的Add , 全部配置完成之后再点击全局的Add才能保存上

    下面来测试一下 , 查看报警

    [root@zabbix-server alertscripts]# systemctl stop zabbix-agent

    微信报警

    [root@zabbix-server alertscripts]# systemctl start zabbix-agent

    如果上面的测试都可以 , 但是配置zabbix之后不报警 , 那么就是user的问题 , 把user的权限提升到zabbix Administrator 即可

    以上只是简单的微信报警 , 仅供参考

  • 相关阅读:
    存储引擎-Buffered tree
    存储引擎-Bitcast
    飞锐GIS开发基础系列
    arcgisserver
    综​合​管​网​方​案​说​明
    Leaflet交流
    .NET开源工程推荐(Accord,AForge,Emgu CV)
    GIS科研站
    C语言I博客作业008
    预习原码补码
  • 原文地址:https://www.cnblogs.com/bigdevilking/p/9745468.html
Copyright © 2011-2022 走看看