CentOS 7 zabbix实现微信报警

环境 : LAMP  CentOS7  192.168.94.11

首先搭建LAMP环境 , 安装zabbix

[[email protected] ~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[[email protected] ~]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
[[email protected]-server ~]# yum -y install mariadb mariadb-server zabbix-server zabbix-get zabbix-agent zabbix-server-mysql zabbix-web zabbix-web-mysql
[[email protected]-server ~]# systemctl start mariadb
[[email protected]-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

[[email protected]-server ~]# cd /usr/share/doc/zabbix-server-mysql-4.0.0/  # 将数据导入zabbix库
[[email protected]-server zabbix-server-mysql-4.0.0]# ls
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
[[email protected]-server zabbix-server-mysql-4.0.0]# gzip -d create.sql.gz
[[email protected]-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的监听端

[[email protected] zabbix-server-mysql-4.0.0]# vim /etc/httpd/conf/httpd.conf 

Listen 80 改为 Listen 8080
[[email protected]-server zabbix-server-mysql-4.0.0]# systemctl start httpd

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

[[email protected] zabbix-server-mysql-4.0.0]# vim /etc/zabbix/zabbix_server.conf
在# DBPassword=下面添加
DBPassword=123456
[[email protected]-server zabbix-server-mysql-4.0.0]# vim /etc/httpd/conf.d/zabbix.conf
# 把时区修改为亚洲/上海 php_value date.timezone Asia/Shanghai
[[email protected]-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的脚本路径在哪

[[email protected] ~]# grep -i scriptspath /etc/zabbix/zabbix_server.conf
### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[[email protected]-server ~]# cd /usr/lib/zabbix/alertscripts/
[[email protected]-server alertscripts]# rz    # 上传下载好的脚本

[[email protected]-server alertscripts]# ll
总用量 3496
-rw-r--r-- 1 root root 3579488 10月  5 21:40 wechat
[[email protected]-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的虚拟主机配置文件

[[email protected] 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才能保存上

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

[[email protected] alertscripts]# systemctl stop zabbix-agent

微信报警

[[email protected] alertscripts]# systemctl start zabbix-agent

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

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

原文地址:https://www.cnblogs.com/bigdevilking/p/9745468.html

时间: 2024-08-28 12:24:27

CentOS 7 zabbix实现微信报警的相关文章

Zabbix 实现微信报警

Zabbix实现微信报警 操作系统:Centos 6.5  zabbix版本:2.4.6 一.注册微信公众号 首先申请微信公众平台https://mp.weixin.qq.com 在扫二维码关注微信公众号    点击总用户数,在点击你的微信头像以下部位就是你的微信ID 二.下载微信公众平台私有接口 下载API git clone https://github.com/lealife/WeiXin-Private-API cp到zabbix默认的报警脚本目录 cp -r Weixin-Privat

关于zabbix的微信报警的二次开发

zabbix用微信报警网上有很多教程了,基本可以实现zabbix推送报警到微信,如http://mageedu.blog.51cto.com/4265610/1687589 但是存在如下缺点: 1.推送信息简单,不能显示历史数据: 2.zabbix没有一个很好的报警确认机制.我现在生产环境有24小时值班收报警的人员,他收到报警会通知相关管理员处理报警,当一个管理员不小心触发一个报警时候,他自己是知道这个报警是如何去接触的,那么他要反向去通知值班收报警的人员,如此场景zabbix并没有一个好的报警

金庸武功之“黯然销魂掌”---zabbix实现微信报警

一.部署环境 系统:CentOS 6.5x64 最小化安装 Server:192.168.93.126 Client:192.168.93.125 二.基础软件包安装 在server安装基础软件包,这里的环境使用yum安装,如果使用源码安装也是可以的. yum -y install wget vim tree gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_

Zabbix之微信报警

zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 下文讲述了如何通过微信实现zabbix的告警: 第一步.注册微信公众号 首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的,申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号

【马哥linux学员学习笔记】zabbix实现微信报警

本文作者系马哥linux学员典韦. 一.注册微信公众号 首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的 申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号. 就可以看到用户数了,接下来的就要使用的用户的微信ID号了.点击用户查看用户的微信ID号.在浏览器查看用户的微信ID号.就是那个红色的ID了. https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=mes

zabbix使用微信报警(三)

https://qy.weixin.qq.com/  企业号注册 http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5    微信调用接口说明 http://qydev.weixin.qq.com/debug 微信企业号接口调试地址 一.首先申请企业公众号 二.获取AccessToken 使用微信,应该最重要的就是这个了,下面是如何获取他,在他的接口文档中,有说明: 首先测试一下,看通过接口调试工具,如何获取Acce

配置zabbix通过微信报警企业微信报警

如今势态: 报警的方式可谓是八仙过海各显神通,如电话报警,短信报警,邮件报警,QQ报警,微信报警等等. 电话报警:一般都是使用别的平台的工具,平台给你提供一个接口供你使用,大多数为限量收费款 短信报警:一般是服务器安装串口GSM短信猫(也有其他平台提供这种接口),zabbix可以使用他来发送短信通知给管理员 邮件报警:一般是在server端安装邮件的客户端如sendEmail等,写脚本给zabbix进行调用,触发后发邮件给管理员 Q Q 报警:一般使用Mojo-Webqq的perl模板和cpan

zabbix使用微信报警python脚本

没有学过python语言,使用二天时间查了网上相关的脚本,有些不支持中文报警,自己重新写了一份.给大家参考下. 只提供脚本,减少大家的时间,微信申请请参考大神博客http://itnihao.blog.51cto.com/1741976/1733245 一.效果图: 二.python2脚本: #!/usr/bin/python # coding: utf-8 #python2将zabbix报警信息发送到微信. #by linwangyi #2016-01-18 import urllib,url

通过脚本发送zabbix微信报警

实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业号上新建应用 上传应用logo,填写应用名称,应用介绍等 应用创建完之后查看并启用应用,同时会生成应用的AgentId以及Secret,这个在后面步骤会有用 3.接口调用测试 点击:API文档-->开发者工具-->接口调试工具,找不到就直接点这个地址 http://work.weixin.qq.c