環境 : 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步驟省略,安裝完以後, 接下來須要註冊企業微信
按照要求填寫信息便可
建立微信報警應用
企業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 便可
以上只是簡單的微信報警 , 僅供參考