ZbxTable 是使用 Go 语言开发的一个开源的 Zabbix 报表系统,距离上次ZbxTable 1.0发布已有2年,随着Zabbix版本的变化,本次推出ZbxTable 2.0版本 主要功能如下:
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 | 未测试 |
ZbxTable: https://github.com/canghai908/zbxtable
ZbxTable-Web: https://github.com/canghai908/zbxtable-web
MS-Agent: https://github.com/canghai908/ms-agent
二进制包可用于部署在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 二进制文件,安装到/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`
mail 配置用于发送链路报表邮件,通 smtp 协议发送邮件,根据需要具体配置
配置企业微信的信息,企业微信配置请查看 https://blog.51cto.com/itnihao/1733245 的配置,新版本需要配置企业 IP 或域名白名单
拷贝 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 可接收 zabbix 产生的告警,并发送到 zbxtable,用于告警的统计和分析,后续会增加告警发送功能 执行以下命令在 zabbix 上配置 Ms-Agent
cd /usr/local/zbxtable/
./zbxtable install
此操作会连接 zabbix web,进行如下操作:
[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]#
MS-Agent token 为 ms-agent 发送告警的凭证,需要写到 zbxtable 的配置文件的 token 字段中
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 nginx
nginx 默认会启动 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 数据初始化
此组件需要安装在 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 模式,查看日志文件名格式如下/tmp/ms-agent_yyyymmdd.log
开发作者:当代张思德
页面更新:2024-05-12
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号