实验环境:前端
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