實驗環境:前端
zabbix server 172.16.1.121mysql
mysql 172.16.1.121nginx
訪問端 172.16.1.122web
54.1 zbxtablesql
1 說明數據庫
ZbxTable使用Go語言編寫ZbxTable,可無縫對接已有的Zabbix系統,適配目前全部Zabbix版本,vim
可導出指標,對告警歷史、告警消息進行分析,同時支持GraphTree功能。服務器
參考文檔:架構
https://zbxtable.cactifans.com/2020/07/24/zbxtable-1.0/併發
https://zbxtable.cactifans.com/docs/install/rpm/
2 架構圖
3 部署Zbxtable
在172.16.1.122節點上操做
(1) 添加yum源
CentOS 7.x x86_64
# rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm
# yum clean all
CentOS 8.x x86_64
# rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/8/x86_64/zbxtable-release-1.0-1.el8.noarch.rpm
# dnf clean all
(2) 安裝
1) 安裝 Zbxtable
# yum install zbxtable -y
# ls -l /usr/local/zbxtable/
total 38168
-rwxr-xr-x 1 zbxtable zbxtable 39082862 Dec 24 23:10 zbxtable
2) 安裝 Zbxtable-Web
# yum install zbxtable-web -y
# ls -l /usr/local/zbxtable/
total 38168
drwxr-xr-x 5 root root 187 Jan 30 20:45 web
-rwxr-xr-x 1 zbxtable zbxtable 39082862 Dec 24 23:10 zbxtable
(3) ZbxTable 配置
1) mysql數據庫初始化
在172.16.1.121節點上操做
# mysql -uroot -p'zabbix5.0@lc'
mysql> create database zbxtable character set utf8 collate utf8_bin;
mysql> create user zbxtable@'%' identified by 'zbxtablepwd123';
mysql> grant all privileges on zbxtable.* to zbxtable@'%';
mysql> quit;
2) 系統初始化
# cd /usr/local/zbxtable/
# ./zbxtable init
# 會進入交互式命令行,根據實際狀況輸入數據庫帳號及密碼,以及zabbix鏈接信息,
# 最後確認便可生成配置文件。如數據庫及zabbix鏈接錯誤,會要求從新輸入鏈接信
# 息,不然沒法生成配置文件。
# ls -l /usr/local/zbxtable/
total 52868
drwxr-xr-x 2 root root 22 Jan 30 20:48 conf
-rwxr-xr-x 1 root root 733 Jan 30 20:48 control
-rwxr-xr-x 1 root root 15043584 Jan 30 20:48 msty.ttf
-rwxr-xr-x 1 root root 387 Jan 30 20:48 nginx.conf
drwxr-xr-x 5 root root 187 Jan 30 20:45 web
-rwxr-xr-x 1 zbxtable zbxtable 39082862 Dec 24 23:10 zbxtable
# cat /usr/local/zbxtable/conf/app.conf
; zbxtable
appname = zbxtable
httpport = 8084
runmode = prod
timeout = 12
token = 8bb379179d5d4a7c83a1cbc17d4b2bdb
copyrequestbody = true
; database
dbtype = mysql
dbhost = 172.16.1.121
dbuser = zbxtable
dbpass = zbxtablepwd123
dbname = zbxtable
dbport = 3306
; zabbix
zabbix_web = http://172.16.1.121/zabbix
zabbix_user = Admin
zabbix_pass = zabbix
(4) 啓動Zbxtable
# systemctl start zbxtable
# systemctl enable zbxtable
(5) 查看Zbxtable服務狀態
# systemctl status zbxtable
# 必定要確保zbxtable服務是Active: active(running)狀態,如不是正常狀態,
# 建議查看日誌/usr/local/zbxtable/logs/zbxtable.log或者系統
# /var/log/message日誌。
# netstat -tunlp | grep zbxtable
tcp6 0 0 :::8084 :::* LISTEN 1579/zbxtable
(6) Zbxtable-Web配置
文件位於/usr/local/zbxtable/web前端爲純靜態文件,需nginx作代理。
1) 安裝nginx
# yum install nginx -y
2) 拷貝nginx配置文件
# cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/
# 說明:此時/etc/nginx/nginx.conf默認server 80端口還在,若是
# 和本地端口有衝突,建議將配置註釋掉。
3) 啓動nginx
# systemctl start nginx
4) 配置開機啓動
# systemctl enable nginx
5) 查看端口
# netstat -tunlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1686/nginx: master
tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 1686/nginx: master
(7) 訪問zbxtable
http://172.16.1.122:8088
系統默認帳號:admin
密碼:Zbxtable
4 部署MS-Agent
在172.16.1.121節點上操做
(1) 說明
1) MS-Agent爲告警消息採集客戶端,安裝在zabbix-server端,採集zabbix-server產生的告警信息,併發送到ZbxTable平臺。
ms-agent需使用zbxtable命令完成在Zabbix Server的報警Actoin等配置,要確保zbxtable服務器上
/usr/local/zbxtable/conf/app.conf配置正確。
2) /usr/lib/zabbix/alertscripts/ms-agent
接收Zabbix-server平臺產生的告警併發送到ZbxTable平臺。
若是你的Zabbix Server的alertscripts目錄不爲/usr/lib/zabbix/alertscripts/,須要移動ms-agent到你的zabbix server
的alertscripts目錄下便可,不然會在Zabbix告警頁面出現找不到ms-agent的錯誤提示,ZbxTable平臺也沒法收到告警消息。也能夠
修改Zabbix Server的配置文件,將alertscripts目錄指向/usr/lib/zabbix/alertscripts/。
3) /etc/ms-agent/app.ini
ms-agent的配置文件。
/etc/ms-agent/app.ini爲程序配置文件,默認內容以下
[app]
Debug = 1
TenantID = zabbix01
LogSavePath = /tmp
Host = http://192.168.10.10:8088/v1/receive
Token = ec573cf7388da56916f75ba9bbe46a69
# Debug 爲程序日誌級別 0 是 debug,1 爲 info,查看日誌文件名格式以下/tmp/ms-agent_yyyymmdd.log
# LogSavePath 爲日誌目錄,默認爲/tmp 目錄
# Host 爲 ZbxTable 系統地址,默認爲 http 服務器 IP+/v1/receive
# Token 與 ZbxTable 通訊的 Token,可自行修改,須要與 ZbxTable 平臺配置保持一致便可,不然沒法接收告警。
(2) 在zabbix-server上生成告警Action等
在172.16.1.122節點上操做
# cd /usr/local/zbxtable/
# ./zbxtable install
# 在zabbix中查看建立的動做
(3) 安裝MS-Agent
1) 添加yum源
CentOS 7.x x86_64
# rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm
# yum clean all
CentOS 8.x x86_64
# rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/8/x86_64/zbxtable-release-1.0-1.el8.noarch.rpm
# dnf clean all
2) 安裝
# yum install ms-agent -y
3) 修改app.ini配置文件
# vim /etc/ms-agent/app.ini
[app]
Debug = 1
TenantID = zabbix01
LogSavePath = /tmp
Host = http://172.16.1.122:8088/v1/receive
Token = 8bb379179d5d4a7c83a1cbc17d4b2bdb
(4) 重啓zabbix-server
# systemctl restart zabbix-server.service
5 查看zbxtable告警分析
http://172.16.1.122:8088/alarm/query