ZbxTable 2.0 发布(附安装)

系统介绍

ZbxTable 是使用 Go 语言开发的一个开源的 Zabbix 报表系统,距离上次ZbxTable 1.0发布已有2年,随着Zabbix版本的变化,本次推出ZbxTable 2.0版本
主要功能如下:

  • 按照主机类型,展示或导出主机资源
  • 简单资产管理,资源状态总览
  • 主机资源TOP5
  • 多套Zabbix告警接入、统计、分析、导出
  • 自定义绘制拓扑图,拓扑图可实时更新
  • 链路流量自动报表及邮件通知

系统架构

ZbxTable 2.0 发布(附安装)

组件介绍

  • ZbxTable: 使用 Beego 框架编写的后端程序
  • ZbxTable-Web: 使用 Vue 编写的前端
  • MS-Agent: 安装在 Zabbix Server 上,用于接收 Zabbix Server 产生的告警,并发送到 ZbxTable 平台

在线体验

版本兼容

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未测试

安装指南

本文环境

  • 系统:RockyLinux 8.5
  • 数据库版本:Mysql 8.0

下载二进制包

cd /opt
wget https://dl.cactifans.com/zbxtable/zbxtable-2.0.0.tar.gz
ZbxTable 2.0 发布(附安装)

解压相关软件包

tar -zxvf zbxtable-2.0.0.tar.gz

解压后的文件夹路径

[root@zbxtable opt]# tree
.
├── zbxtable-2.0.0
│   ├── conf
│   │   └── app.conf
│   ├── nginx.conf
│   ├── zbxtable
│   ├── zbxtable.init
│   └── zbxtable.service
└── zbxtable-2.0.0.tar.gz

部署

1.添加用户

useradd zbxtable

2.移动文件到目的文件夹

mv zbxtable-2.0.0 /usr/local/zbxtable

3.修改权限

chown -R zbxtable:zbxtable /usr/local/zbxtable

数据库部分配置

1.安装数据库

dnf -y install mariadb-server
### 启动数据库
service mariadb restart

2.创建库、用户、授权

create database zbxtable character set utf8mb4 collate utf8mb4_bin;
create user zbxtable@localhost identified by 'kasar123';
grant all privileges on zbxtable.* to zbxtable@localhost;
quit;
ZbxTable 2.0 发布(附安装)

1.安装数据库

dnf -y install postgresql-server
### 初始化数据库
/usr/bin/postgresql-setup initdb
### 启动数据库
systemctl start postgresql

2.创建库

su - postgres
psql
create user zbxtable with password 'kasar123';
create database zbxtable owner zbxtable;
grant all on database zbxtable to zbxtable;
\q

安装 Redis

dnf -y install redis
### 启动redis
systemctl start redis 

配置文件

zbxtable 配置文件为程序目录下的conf/app.ini(本文完整路径在/usr/local/zbxtable/conf)

; 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   = 运维监控

需要修改的部分

1.database 部分

改成前面数据库部分的配置,本文仅修改数据库密码部分

2.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

3.mail根据需求自行填写

启动 zbxtable

拷贝守护文件致相关目录

cp /usr/local/zbxtable/zbxtable.service /etc/systemd/system/

启动服务

systemctl start zbxtable && systemctl enable zbxtable

查看zbxtable服务状态

systemctl status zbxtable
ZbxTable 2.0 发布(附安装)
running即为正常

配置Ms-Agent

ms-agent可接受zabbix产生的告警,并发送到zbxtable,用于告警的统计和分析,后续会增加告警发送功能 执行以下命令在zabbix上配置Ms-Agent

cd /usr/local/zbxtable/
./zbxtable install

此操作会连接zabbix web,进行如下操作:

  1. 建立名为zbxtable的zabbix用户,并生成随机密码
  2. 建立名为zbxtable的zabbix用户组
  3. 建立名为ms-agent的告警媒介,并导入指定的告警模板
  4. 建立名为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]# 

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

dnf install nginx -y

拷贝 zbxtable 的 nginx配置文件到 nginx 的配置文件目录

cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/

默认端口为8088,如果想改为80访问

1.修改zbxtable的nginx文件,将端口改为80

vim /etc/nginx/conf.d/nginx.conf
ZbxTable 2.0 发布(附安装)

2.修改nginx配置,将80端口注释掉

vim /etc/nginx/nginx.conf
ZbxTable 2.0 发布(附安装)

3.重启nginx服务

service nginx restart

登录

ZbxTable 2.0 发布(附安装)
系统默认账号:admin 密码:Zbxtable
ZbxTable 2.0 发布(附安装)

原创文章,作者:Kasar

如若转载,请注明出处:https://blog.kasarit.cn/?p=936

(5)
上一篇 2022年7月5日 下午3:28
下一篇 2022年7月21日 下午3:28

相关推荐

发表回复

您的电子邮箱地址不会被公开。