zbxtable的使用
实验环境:
zabbix server 172.16.1.121
mysql 172.16.1.121
访问端 172.16.1.122
54.1 zbxtable
1 说明
ZbxTable使用Go语言编写ZbxTable,可无缝对接已有的Zabbix系统,适配目前所有Zabbix版本,
可导出指标,对告警历史、告警消息进行分析,同时支持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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
2020-04-24 29、Tomcat只允许指定域名访问,禁用IP地址访问,防止恶意解析