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

发布一下 0 0

系统介绍

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

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

系统架构

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

组件介绍

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

系统首页

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

资产管理

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

状态总览

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

主机列表

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

主机详情

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

网络设备列表

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

网络设备详情

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

告警分析

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

告警查询

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

自定义拓扑图

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

拓扑图展示

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

链路报表

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

安装方法

安装

使用二进制方式部署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 zbxtablewget https://dl.cactifans.com/zbxtable/zbxtable-2.1.0.tar.gztar zxvf zbxtable-2.1.0.tar.gz -C /usr/local/mv /usr/local/zbxtable-2.1.0 /usr/local/zbxtablechown -R zbxtable:zbxtable /usr/local/zbxtable

即可完成文件部署

数据库配置

zbxtable 支持 mysql 或 postgresql,确保 mysql 或 postgresql 服务已经启动,根据实际情况创建对应的数据库及用户信息

mysql 数据库

# mysql -uroot -pcreate 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 - postgrespsqlcreate 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 -yyum install redis -ysystemctl enable --now redis

配置文件

zbxtable 配置文件为程序目录下的 conf/app.ini

默认内容如下

; zbxtableappname         = zbxtablehttpport        = 8085runmode         = devtimeout         = 12token           = de0c0d234f054c74b3d87d715f69afb6copyrequestbody = trueEnableDocs      = true; loglog_level       = 6log_path        = logs/app.logmaxlines        = 1000maxsize         = 0maxdays         = 10daily           = true; databasedbtype          = mysqldbhost          = 127.0.0.1dbuser          = zbxtabledbpass          = zbxtablepwd123dbname          = zbxtabledbport          = 3306;redisredis_host      = 127.0.0.1redis_port      = 6379redis_pass      =redis_db        = 8; zabbixzabbix_web      = http://192.168.10.200zabbix_user     = Adminzabbix_pass     = xxxxxzabbix_token    =;mailemail_from       = xxx@qq.comemail_port       = 465email_host       = smtp.qq.comemail_isSSl      = trueemail_secret     = xxxxxemail_nickname   = 运维监控;wechatwechat_agentid   = 1wechat_corpid    = wxa7c63522727bxxxxwechat_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-reloadsystemctl 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 install2022/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-agent2022/07/04 16:27:48.575 [I] [command.go:163]  Password : qynNlKzMBx2022/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.gztar 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.gztar zxvf ms-agent-1.0.4.tar.gzmv 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 = 0TenantID = zabbix01LogSavePath = /tmpHost = http://192.168.10.10:8088Token = 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

开发作者:当代张思德

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/192234.html