CentOS 7 zabbix實現微信報警

環境 : LAMP  CentOS7  192.168.94.11php

首先搭建LAMP環境 , 安裝zabbixmysql

 

[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: 客戶端程序nginx

Zabbix-get: 服務端上命令行獲取客戶端檢查項目的工具web

Zabbix-server-mysql: zabbix-server MySQL版sql

Zabbix-web: Web界面vim

Zabbix-web-mysql: Web界面MySQL相關微信

安裝以上包時,會連帶安裝httpd和PHP,由於我已經運行Nginx,我要修改httpd的監聽端口ide

修改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 便可

以上只是簡單的微信報警 , 僅供參考

相關文章
相關標籤/搜索