最新版zabbix开源报表系统 zbxtable2.1新功能介绍和安装方法

系统介绍

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

未测试

源码及二进制包

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 相关配置

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,进行如下操作:

  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,直接拷贝配置文件到即可,如果未安装 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 数据初始化

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

可修改配置文件打开 Debug 模式,查看日志文件名格式如下/tmp/ms-agent_yyyymmdd.log

开发作者:当代张思德

展开阅读全文

页面更新:2024-05-12

标签:报表   系统   最新版   新功能   主机   密码   版本   操作   二进制文件   文件   目录   程序   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top