网站首页 > 技术教程 正文
系统介绍
ZbxTable 是使用 Go 语言开发的一个开源的 Zabbix 报表系统,距离上次ZbxTable 1.0发布已有2年,随着Zabbix版本的变化,本次推出ZbxTable 2.0版本 主要功能如下:
- 按照主机类型,展示或导出主机资源
 - 简单资产管理,资源状态总览
 - 主机资源TOP5
 - 多套Zabbix告警接入、统计、分析、导出
 - 自定义绘制拓扑图,拓扑图可实时更新
 - 链路流量自动报表及邮件通知
 
系统架构
组件介绍
ZbxTable: 使用 Beego 框架编写的后端程序
ZbxTable-Web: 使用 Vue 编写的前端
MS-Agent: 安装在 Zabbix Server 上,用于接收 Zabbix Server 产生的告警,并发送到 ZbxTable 平台
相关文档
安装文档:https://zbxtable.cactifans.com/docs/install/
使用文档:https://zbxtable.cactifans.com/docs/usage/
安装使用视频:https://space.bilibili.com/274831847/channel/seriesdetail?sid=2430406&ctype=0
在线体验
直接点击登录即可
https://zbx.cactifans.com
版本兼容
Zabbix版本  | 兼容性  | 
6.0.x  | |
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  | 未测试  | 
源码及二进制包
1.源码
ZbxTable: https://github.com/canghai908/zbxtable
ZbxTable-Web: https://github.com/canghai908/zbxtable-web
MS-Agent: https://github.com/canghai908/ms-agent
2.二进制包
二进制包可用于部署在Linux系统,如CentOS,Ubuntu,Debian等Linux系统下
ZbxTable: https://dl.cactifans.com/zbxtable/zbxtable-2.0.0.tar.gz
ZbxTable-Web: https://dl.cactifans.com/zbxtable/web.tar.gz
MS-Agent: https://dl.cactifans.com/zbxtable/ms-agent-1.0.3.tar.gz
系统截图
系统默认账号:admin 密码:Zbxtable
系统首页
资产管理
状态总览
主机列表
主机详情
网络设备列表
网络设备详情
告警分析
告警查询
自定义拓扑图
拓扑图展示
链路报表
安装方法
安装
使用二进制方式部署ZbxTable
介绍使用二进制方式安装 zbxtable 2.1,适用于在 Centos、Ubuntu、Debian 等系统上安装,安装完成后必须进行数据初始化操作。
说明
建议新手直接使用编译好的二进制文件安装,zbxtable 可安装在 zabbix server 上也可以独立安装 ZbxTable 使用前后端分离模式,主要服务及组件如下
组件  | 功能  | 
ZbxTable  | 后台服务  | 
ZbxTable-Web  | 前端静态页面  | 
MS-Agent  | 安装在 Zabbix Server,接收 Zabbix 平台产生的告警并发送到 ZbxTable 平台  | 
zbxtable 依赖以下服务
服务  | 用途  | 
nginx  | 前端 web 静态文件及服务转发  | 
mysql 或 postgresql  | 存储 zbxtable 用户信息,存储拓扑及报表信息  | 
redis  | 数据存储及告警  | 
二进制文件下载:
ZbxTable: https://dl.cactifans.com/zbxtable/zbxtable-2.1.0.tar.gz
ZbxTable-Web: https://dl.cactifans.com/zbxtable/web.tar.gz
MS-Agent: https://dl.cactifans.com/zbxtable/ms-agent-1.0.4.tar.gz
安装配置视频
ZbxTalbe 2.1 安装
ZbxTable 2.1 数据初始化
ZbxTable 2.1 告警配置
ZbxTable 2.1 链路报表
ZbxTable 2.1 拓扑图配置
ZbxTable
部署
创建对应用户及目录,并下载 zbxtable 二进制文件,安装到/usr/local/zbxtable 目录
useradd zbxtable
wget https://dl.cactifans.com/zbxtable/zbxtable-2.1.0.tar.gz
tar zxvf zbxtable-2.1.0.tar.gz -C /usr/local/
mv /usr/local/zbxtable-2.1.0 /usr/local/zbxtable
chown -R zbxtable:zbxtable /usr/local/zbxtable
即可完成文件部署
数据库配置
zbxtable 支持 mysql 或 postgresql,确保 mysql 或 postgresql 服务已经启动,根据实际情况创建对应的数据库及用户信息
mysql 数据库
# mysql -uroot -p
create database zbxtable character set utf8mb4 collate utf8mb4_bin;
create user zbxtable@127.0.0.1 identified by 'zbxtablepwd123';
grant all privileges on zbxtable.* to zbxtable@127.0.0.1;
quit;postgresql 数据库
# su - postgres
psql
create user zbxtable with password 'zbxtablepwd123';
create database zbxtable owner zbxtable;
grant all on database zbxtable to zbxtable;
\q如果服务器未安装 redis 需要安装 redis,并启动,可使用默认密码,也可以配置密码, 以 CentOS 7 为例
yum install epel-release -y
yum install redis -y
systemctl enable --now redis配置文件
zbxtable 配置文件为程序目录下的 conf/app.ini
默认内容如下
; zbxtable
appname         = zbxtable
httpport        = 8085
runmode         = dev
timeout         = 12
token           = de0c0d234f054c74b3d87d715f69afb6
copyrequestbody = true
EnableDocs      = true
; log
log_level       = 6
log_path        = logs/app.log
maxlines        = 1000
maxsize         = 0
maxdays         = 10
daily           = true
; database
dbtype          = mysql
dbhost          = 127.0.0.1
dbuser          = zbxtable
dbpass          = zbxtablepwd123
dbname          = zbxtable
dbport          = 3306
;redis
redis_host      = 127.0.0.1
redis_port      = 6379
redis_pass      =
redis_db        = 8
; zabbix
zabbix_web      = http://192.168.10.200
zabbix_user     = Admin
zabbix_pass     = xxxxx
zabbix_token    =
;mail
email_from       = xxx@qq.com
email_port       = 465
email_host       = smtp.qq.com
email_isSSl      = true
email_secret     = xxxxx
email_nickname   = 运维监控
;wechat
wechat_agentid   = 1
wechat_corpid    = wxa7c63522727bxxxx
wechat_secret    = 5HA0o9bkvMMFDp8yFs关键配置
如果密码信息含有特殊字符需要使用``号包含起来,例如
dbpass        =`zbxtablepwd123!#@`
zabbix_pass   = `#S!_xxXxxx123123`Zabbix 相关配置
- zabbix_web zabbix 的 web 访问地址,确保此地址可以通过浏览器访问到 zabbix 的 web
 - zabbix_user 访问 zabbix 的用户名,默认为 admin,如果你的 zabbix 为 5.4 以上版本可配置 token,此项可留空
 - zabbix_pass 访问 zabbix 用户的密码,如果你的 zabbix 为 5.4 以上版本可配置 token,此项可留空
 - zabbix_token 访问 zabbix web 的 token,zabbix 5.4 版本之后可在 zabbix web 页面生成 token 访问, 只需要添加 token 即可,建议使用 admin 用户为 zbxtable 生成永久的 token
 
mail 邮件相关配置
mail 配置用于发送链路报表邮件,通 smtp 协议发送邮件,根据需要具体配置
wechat 微信告警配置
配置企业微信的信息,企业微信配置请查看 https://blog.51cto.com/itnihao/1733245 的配置,新版本需要配置企业 IP 或域名白名单
启动 ZbxTable
拷贝 zbxtable 的 systemd 启动文件
cp /usr/local/zbxtable/zbxtable.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now zbxtable查看 zbxtable 服务状态
systemctl status zbxtable确保服务状态为 active (running)状态,如果启动失败可查看日志,一般为数据库或 zabbix web 连接失败 查看日志
 cat /usr/local/zbxtable/logs/app.log根据错误提示修改配置文件,重启服务即可
配置 Ms-Agent
ms-agent 可接收 zabbix 产生的告警,并发送到 zbxtable,用于告警的统计和分析,后续会增加告警发送功能 执行以下命令在 zabbix 上配置 Ms-Agent
cd /usr/local/zbxtable/
./zbxtable install此操作会连接 zabbix web,进行如下操作:
- 建立名为 zbxtable 的 zabbix 用户,并生成随机密码
 - 建立名为 zbxtable 的 zabbix 用户组
 - 建立名为 ms-agent 的告警媒介,并导入指定的告警模板
 - 建立名为 ms-agent 的告警动作,接收所有告警通过 ms-agent 媒介发送到 zbxtable, 此操作主要是为了避免其他告警媒介和动作的影响,方便后期的更新和卸载 执行成功后会有如下输出信息
 
[root@localhost zbxtable]# ./zbxtable install
2022/07/04 16:27:48.252 [I] [command.go:163]  Create media type successfully!
2022/07/04 16:27:48.320 [I] [command.go:163]  Create user group successfully!
2022/07/04 16:27:48.575 [I] [command.go:163]  Create alarm user successfully!
2022/07/04 16:27:48.575 [I] [command.go:163]  Username : ms-agent
2022/07/04 16:27:48.575 [I] [command.go:163]  Password : qynNlKzMBx
2022/07/04 16:27:48.668 [I] [command.go:163]  Create alarm action successfully!
2022/07/04 16:27:48.668 [I] [command.go:163]  MS-Agent plugin configured successfully!
2022/07/04 16:27:48.668 [I] [command.go:163]  MS-Agent token is de0c0d234f054c74b3d87d715f69afb6
[root@localhost zbxtable]#- 如果出现错误,请在https://github.com/canghai908/zbxtable/issues 提交 zabbix 版本等环境信息
 - Ms-Agent 的 install 操作只需操作一次即可
 
MS-Agent token 为 ms-agent 发送告警的凭证,需要写到 zbxtable 的配置文件的 token 字段中
ZbxTable Web 配置
web 为全静态文件,下载解压即可。zbxtable web 通过 nginx 代理访问. 安装 ZbxTable web 文件
wget https://dl.cactifans.com/zbxtable/web.tar.gz
tar zxvf web.tar.gz -C /usr/local/zbxtable
如果你已安装 nginx,直接拷贝配置文件到即可,如果未安装 nginx 需安装
yum install nginx -y拷贝 zbxtable 自带得 nginx 配置文件到 nginx 的配置文件目录
cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/重启 nginx
systemctl enable --now nginxnginx 默认会启动 80 端口,如果和其他程序冲突,建议修改默认 80 端口
使用 http://ip:8088 即可访问 ZbxTable,系统默认账号:admin 密码:Zbxtable
部署后最终目录结构如下
├── conf
│   └── app.conf          #zbxtable 配置文件
├── web                   #zbxtable web前端静态文件目录
├── zbxtable              #zbxtable 二进制文件
├── nginx.conf            #zbxtable提供的nginx配置文件
├── zbxtable.init         #zbxtable提供的init.d启动文件
└── zbxtable.service      #zbxtable提供的systemd启动文件安装完成后,需要对数据进行初始化,否则系统内数据会显示为空,参考教程 ZbxTable 数据初始化
MS-Agent
此组件需要安装在 Zabbix Server 主机上,用于接收 zabbix 产生的告警,并发送到 zbxtable, 用于告警、分析、发送、屏蔽,支持多租户,可以将多台 zabbix 的告警统一发送到一个 zabxtable 平台
安装
如果使用 docker 部署 Zabibx Server 需要把 zabbix 的/usr/lib/zabbix/alertscripts 卷挂载到宿主机目录,把 ms-agent 解压放入此目录即可
下载二进制文件,并解压
cd /opt/
wget https://dl.cactifans.com/zbxtable/ms-agent-1.0.4.tar.gz
tar zxvf ms-agent-1.0.4.tar.gz
mv ms-agent-1.0.4 ms-agent解压之后生成一个 ms-agent 二进制文件,一个 app.ini 配置文件。
程序  | 作用  | 
ms-agent  | 接收 Zabbix 平台产生的告警并发送到 ZbxTable 平台  | 
app.ini  | ms-agent 配置文件  | 
拷贝 ms-agent 到你的 zabbix server 的 Alertscripts 目录下,默认路径为/usr/lib/zabbix/alertscripts/,也可通过修改 Zabbix Server 的配置文件指定 alertscripts 目录。 修改 zabbix server 的 Alertscripts 目录 vi zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts重启 Zabbix Server 生效. 拷贝 ms-agent 二进制及 app.ini 配置文件到 zabbix server 配置的告警脚本目录
cp ms-agent/* /usr/lib/zabbix/alertscripts/赋予 ms-agent 脚本可执行权限
chmod a+x /usr/lib/zabbix/alertscripts/ms-agent至此完成基本安装,无需重启 Zabbix Server
配置文件
zabbix server 会调用 ms-agent 进行告警的发送,同时会读取 ms-agent 程序目录下的 app.ini 配置文件,默认内容如下
[app]
Debug = 0
TenantID = zabbix01
LogSavePath = /tmp
Host = http://192.168.10.10:8088
Token = 2d7a7ab0b0be493ab0bb9a925e4a30d2- Debug 为程序日志级别 0 是 debug,1 为 info
 - LogSavePath 为日志目录,默认为/tmp 目录
 - TenantID 租户 id,默认即可,如有多套 ms-agent 发送到同一个 zbxtable,建议补重复即可
 - Host 为 ZbxTable 系统的访问地址,默认为 http:+ 服务器 IP:8088
 - Token 与 ZbxTable 通信的 Token,可自行修改,需要与 ZbxTable 平台配置保持一致即可,否则无法接收告警。
 
Debug
可修改配置文件打开 Debug 模式,查看日志文件名格式如下/tmp/ms-agent_yyyymmdd.log
开发作者:当代张思德
猜你喜欢
- 2025-01-29 A3:安卓智能助手的新战场——移动GUI Agent的全面评测平台
 - 2025-01-29 3D-LLaVA:全能型3D大模型(3d模型推荐)
 - 2025-01-29 潜伏于暗夜之中的幽魂,于无声无息中蔓延,无形无影中爆发!
 - 2025-01-29 功能强大的串口工具,抓紧收藏!(串口 工具)
 - 2025-01-29 VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记
 - 2025-01-29 热门考点other than用法解析(other than 用法)
 - 2025-01-29 合同条款中大写英文字母的运用(合同大写一定要加人民币吗)
 - 2025-01-29 Java探针-Java Agent技术(the type java.io.filter)
 - 2025-01-29 僵尸网络盯上微软,黑客用 MSSQL 数据库挖矿近两年,每天攻击近 3000 个数据库
 - 2025-01-29 混合云应用双活容灾最佳实践(混合云安全解决方案)
 
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
 - 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
 - 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
 - 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
 - 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
 - 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
 - 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
 - 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
 
- 最近发表
 - 
- Excel计算工龄和年份之差_excel算工龄的公式year
 - Excel YEARFRAC函数:时间的"年份比例尺"详解
 - 最常用的10个Excel函数,中文解读,动图演示,易学易用
 - EXCEL中如何计算截止到今日(两个时间中)的时间
 - 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
 - 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
 - Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
 - 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
 - Excel日期函数之DATEDIF函数_excel函数datedif在哪里
 - Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
 
 
- 标签列表
 - 
- 下划线是什么 (87)
 - 精美网站 (58)
 - qq登录界面 (90)
 - nginx 命令 (82)
 - nginx .http (73)
 - nginx lua (70)
 - nginx 重定向 (68)
 - Nginx超时 (65)
 - nginx 监控 (57)
 - odbc (59)
 - rar密码破解工具 (62)
 - annotation (71)
 - 红黑树 (57)
 - 智力题 (62)
 - php空间申请 (61)
 - 按键精灵 注册码 (69)
 - 软件测试报告 (59)
 - ntcreatefile (64)
 - 闪动文字 (56)
 - guid (66)
 - abap (63)
 - mpeg 2 (65)
 - column (63)
 - dreamweaver教程 (57)
 - excel行列转换 (56)
 
 

本文暂时没有评论,来添加一个吧(●'◡'●)