系统介绍
ZbxTable 是使用 Go 语言开发的一个开源的 Zabbix 报表系统。 基本功能如下:
1. 导出监控指标特定时间段内的详情数据与趋势数据到 xlsx 2. 导出特定时间段内 Zabbix 的告警消息到 xlsx 3. 对特定时间段研内的告警消息进行分析,告警 Top10 等 4. 按照主机组导出巡检报告 5. 对 Zabbix 图形按照数类型进行显示和查看并支持导出到 pdf 6. 主机未恢复告警显示和查询
系统架构
组件介绍
ZbxTable 官方文档
ZbxTable:使用 beego 框架编写的后端程序
ZbxTable源码
ZbxTable-Web:使用 React 编写的前端
ZbxTable-Web源码
MS-Agent:安装在 Zabbix Server 上,用于接收 Zabbix Server 产生的告警,并发送到 ZbxTable 平台
MS-Agent源码
兼容性
| zabbix版本 | 兼容性 |
|---|---|
| 5.4.x | 支持 |
| 5.2.x | 支持 |
| 5.0.x LTS | 支持 |
| 4.4.x | 支持 |
| 4.2.x | 支持 |
| 4.0.x LTS | 支持 |
| 3.4.x | 支持 |
| 3.2.x | 支持 |
| 3.0.x LTS | 支持 |
部署ZbxTable工具
下载组件包(zbxtable,zbxtable-web,ms-agent)
# 下载 rpm 包 rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm yum clean all yum makecache # 安装 Zbxtable yum -y install zbxtable # 安装 Zbxtable-Web yum -y install zbxtable-web # 安装 ms-agent yum -y install ms-agent
数据库初始化
# 数据库初始化,创建数据库及用户 mysql -uroot -p123 create database zbxtable character set utf8 collate utf8_bin; create user zbxtable@localhost identified by '123'; grant all privileges on zbxtable.* to zbxtable@localhost; quit;
Zbxtable 配置
# 生成配置文件 cd /usr/local/zbxtable/ ./zbxtable init # ✔ mysql # DBHost: localhost # DBName: zbxtable # DBUser: zbxtable # DBPass: 123 # DBPort: 3306 # Connected to database zbxtable successfully! # Zabbix Web URL: http://192.168.15.7/zabbix # Zabbix Username: Admin # Zabbix Password: zabbix # Connected to Zabbix API successfully!Zabbix version is 5.0.17 # The configuration information is as follows: # ZbxTable dbtype: mysql # ZbxTable dbhost: localhost # ZbxTable dbname: zbxtable # ZbxTable dbuser: zbxtable # ZbxTable dbpass: 123 # ZbxTable dbport: 3306 # Zabbix Web URL: http://192.168.15.7/zabbix # Zabbix Username: Admin # Zabbix Password: zabbix # ✔ Yes # The configuration file ./conf/app.conf is generated successfully! # Follow WeChat public account to get the latest news! # 二维码 # 查看配置文件 cat conf/app.conf # ; zbxtable # appname = zbxtable # httpport = 8084 # runmode = prod # timeout = 12 # token = 2144aa207c6c4ea9acf1a6b76e4adfeb # copyrequestbody = true # ; database # dbtype = mysql # dbhost = localhost # dbuser = zbxtable # dbpass = 123 # dbname = zbxtable # dbport = 3306 # ; zabbix # zabbix_web = http://192.168.15.7/zabbix # zabbix_user = Admin # zabbix_pass = zabbix
启动
# 修改好配置后,使用以下命令启动 systemctl enable --now zbxtable systemctl restart zbxtable
部署Zbxtable-Web工具
nginx官方源
# 配置nginx官方源 vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
Zbxtable-Web 配置
# 下载nginx软件 yum -y install nginx # 复制nginx配置文件 cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/ # 启动nginx服务 systemctl restart nginx systemctl enable nginx # 使用http://ip:8088 即可访问系统,系统默认账号:admin 密码:Zbxtable
部署 ms-agent 工具
这个程序必须部署在Zabbix Server上!!!作用:接收Zabbix平台产生的告警并发送到ZbxTable平台。
ms-agent 工具下载网址:https://dl.cactifans.com/zabbix/ms-agent-1.0.0-1.el7.x86_64.rpm
初始化配置
cd /usr/local/zbxtable ./zbxtable install # 2021/11/02 14:52:15.235 [I] [command.go:163] Create media type successfully! # 2021/11/02 14:52:15.263 [I] [command.go:163] Create user group successfully! # 2021/11/02 14:52:15.345 [I] [command.go:163] Create alarm user successfully! # 2021/11/02 14:52:15.345 [I] [command.go:163] Username :ms-agent # 2021/11/02 14:52:15.345 [I] [command.go:163] Password : PSFGcJiHsx # 2021/11/02 14:52:15.411 [I] [command.go:163] Create alarm action successfully! # 2021/11/02 14:52:15.411 [I] [command.go:163] MS-Agent plugin configured successfully! # 2021/11/02 14:52:15.411 [I] [command.go:163] MS-Agent token is 2144aa207c6c4ea9acf1a6b76e4adfeb 表示配置成功.此步骤会在 Zabbix Server 创建 ms-agent,密码为随机,并配置相关 Action 和 Media Type,并关联到用户.
修改ms-agent配置文件
# 配置文件 vim /etc/ms-agent/app.ini [app] Debug = 1 # TenantID = zabbix01 LogSavePath = /tmp Host = http://192.168.15.7:8088/v1/receive Token = 2144aa207c6c4ea9acf1a6b76e4adfeb # Debug 为程序日志级别 0 是 debug,1 为 info # LogSavePath 为日志目录,默认为/tmp 目录 # Host 为 ZbxTable 系统地址,默认为 http 服务器 IP+/v1/receive # Token 与 ZbxTable 通信的 Token,可自行修改,需要与 ZbxTable 平台配置保持一致即可,否则无法接收告警。
部署完成



