@Zabbix报表系统ZbxTable

1|01.ZbxTable概述

【ZbxTable产品手册 】

ZbxTable 是使用 Go 语言开发的一个开源的 Zabbix 报表系统

2|02.ZbxTable功能介绍

#主要特点: 1)导出监控指标特定时间段内的详情数据与趋势数据到 xlsx 2)导出特定时间段内 Zabbix 的告警消息到 xlsx 3)对特定时间段研内的告警消息进行分析,告警 Top10 等 4)按照主机组导出巡检报告 5)对 Zabbix 图形按照数类型进行显示和查看并支持导出到 pdf 6)主机未恢复告警显示和查询

3|03.ZbxTable系统架构

在这里插入图片描述

4|04.ZbxTable组件介绍

#相关组件 ZbxTable: 使用 beego 框架编写的后端程序 ZbxTable-Web: 使用 React 编写的前端 MS-Agent: 安装在 Zabbix Server 上,用于接收 Zabbix Server 产生的告警,并发送到 ZbxTable 平台

5|05.ZbxTable线上体验

【ZbxTable线上体验】

6|06.ZbxTable版本兼容性

Zabbix版本组件兼容性
zabbix5.4.x支持
zabbix5.2.x支持
zabbix5.0.x LTS支持
zabbix4.4.x支持
zabbix4.2.x支持
zabbix4.0.x LTS支持
zabbix3.4.x支持
zabbix3.2.x支持
zabbix3.0.x LTS支持

7|07.ZbxTable安装包

RPM包与源码包

7|11)源码包

【ZbxTable】

【ZbxTable-Web】

【MS-Agent】

7|22)RPM包

【ZbxTable】

【ZbxTable-Web】

【MS-Agent】

8|08.ZbxTable安装部署

8|11)组件安装

#安装源 [root@server ~]# rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm Retrieving https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm Preparing... ################################# [100%] Updating / installing... 1:zbxtable-release-1.0-1.el7 ################################# [100%] #组件下载 #安装 Zbxtable [root@server ~]# yum -y install zbxtable #安装 Zbxtable-Web [root@server ~]# yum -y install zbxtable-web #安装 ms-agent [root@server ~]# yum -y install ms-agent

8|22)数据库部署

# 安装数据库,创建ZbxTable数据库用户 [root@server ~]# mysql -uzabbix -p"Password@2022" #本地创建方式: mysql> create database zbxtable character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) mysql> create user zbxtable@localhost identified by 'Hzl@2022'; Query OK, 0 rows affected (0.03 sec) mysql> grant all privileges on zbxtable.* to zbxtable@localhost; Query OK, 0 rows affected (0.00 sec) mysql> quit; Bye #远程方式指定 mysql> create database zbxtable character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) mysql> create user zbxtable@'%' identified by 'Hzl@2022'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on zbxtable.* to zbxtable@'%'; Query OK, 0 rows affected (0.01 sec) mysql> quit; Bye

8|33)ZbxTable系统初始化

#初始化 [root@server ~]# cd /usr/local/zbxtable/ [root@server zbxtable]# ll total 33592 drwxr-xr-x 5 nginx nginx 4096 Mar 31 20:56 web -rwxr-xr-x 1 zbxtable zbxtable 34392786 Aug 14 2021 zbxtable [root@server zbxtable]# ./zbxtable init ✔ mysql DBHost: localhost #选择存储的数据库,默认选择本地吧 DBName: zbxtable #选择的数据库 ✔ DBUser: zbxtable█ #数据库的登录用户 ✔ DBPass: Hzl@2022█ #数据库的密码 DBPort: 3306 Connected to database zbxtable successfully! Zabbix Web URL: http://20.212.232.106/zabbix #指定调用的zabbix web URL ✔ Zabbix Username: Admin█ ✔ Zabbix Password: zabbix█ Connected to Zabbix API successfully!Zabbix version is 5.0.21 #获取URL当前zabbix server版本状态 The configuration information is as follows: ZbxTable dbtype: mysql ZbxTable dbhost: localhost ZbxTable dbname: zbxtable ZbxTable dbuser: zbxtable ZbxTable dbpass: Hzl@2022 ZbxTable dbport: 3306 Zabbix Web URL: http://20.212.232.106/zabbix Zabbix Username: Admin Zabbix Password: zabbix ✔ Yes The configuration file ./conf/app.conf is generated successfully! Follow WeChat public account to get the latest news! #zbxTable博主的公众号 ###################################################################### ###################################################################### ###################################################################### ###### ###### ###### ## ## ###### ###### ########## #### ######## ## #### ########## ###### ###### ## ## ## #### #### #### ## ## ## ###### ###### ## ## #### #### ## ######## ## ## ## ###### ###### ## ## #### #### ###### ## #### ## ## ###### ###### ########## ###### ## ## ## ########## ###### ###### ## ## ## ## ## ## ## ## ###### ###################### #### ## ## ## ## ###################### ###### ## ###### #### ###### ########## ###### ######## #### ## ## #### #### #### ###### ########## ## #### #### ## #### ## ## ###### ######## ###### ###### ## ###### ## ## ######## ########## ## ## ## ## #### #### ## #### ## ###### ###### ###### #### #### ## ## ## #### ## ###### ########## #### #### ## ######## #### #### ###### ########## ## #### ## ## ## ## ## ## ######## ########## #### ## ## ## ## ###### ###### ########## #### ## ## #### ## ###### ## ###### ###### ## ## ## ## ########## ## ###### ######## ## ## ###### ## ########## ## ######## ###### ######## ## #### ###### ###### ############## ###################### ## ## ## ## ###### ## ###### ###### ## ######## #### ## ## ## ## ###### ###### ########## ## ## ## ## ## ###### ###### ###### ###### ## ## ## ## #### #### ############ ###### ## ## #### ## ## #### #### ###### ###### ## ## ## ## ## ## ## #### ###### ###### ########## ## #### ###### ## ########## ######## ###### ## ## ## #### #### ###### ###################################################################### ###################################################################### ###################################################################### #生成的配置文件 [root@server zbxtable]# ll total 48296 drwxr-xr-x 2 root root 4096 Mar 31 21:35 conf -rwxr-xr-x 1 root root 733 Mar 31 21:32 control -rwxr-xr-x 1 root root 15043584 Mar 31 21:32 msty.ttf -rwxr-xr-x 1 root root 387 Mar 31 21:32 nginx.conf drwxr-xr-x 5 nginx nginx 4096 Mar 31 20:56 web -rwxr-xr-x 1 zbxtable zbxtable 34392786 Aug 14 2021 zbxtable

8|44)ZbxTable配置

1》当我们的配置ok后,会自动在zabbix上建立一个ms-agent用户,密码为随机,权限为管理员。最后输出MS-Agent token为MS-Agent 与ZbxTable通信的token,需要和MS-Agent 配置文件里的token保持一致,否则无法正常收到告警。
2》Token我们可以在conf/app.conf文件里找到

#查看当前初始化的主配置文件 [root@server zbxtable]# cat conf/app.conf ; zbxtable appname = zbxtable httpport = 8084 runmode = prod timeout = 12 token = 47e4638ee8fd429e9b2c8b2096309cf6 copyrequestbody = true ; database dbtype = mysql dbhost = localhost dbuser = zbxtable dbpass = Hzl@2022 dbname = zbxtable dbport = 3306 ; zabbix zabbix_web = http://20.212.232.106/zabbix zabbix_user = Admin zabbix_pass = zabbix #主要配置信息如以下 appurl = http://ip:8088 #系统对外的访问地址 zabbix server info 为 zabbix server 的地址及账号密码 token 为 ms-agent 与 ZbxTable 平台通信的 token,可自行修改,与 ms-agent 配置的 token 保持一致即可,具体可查看 ms-agent 文档 ps:ms-agent文档(https://github.com/canghai908/ms-agent)

8|55)ZbxTable服务启动

#重启ZbxTable服务 [root@server ~]# systemctl restart zbxtable #加入开机自启 [root@server ~]# systemctl enable --now zbxtable Created symlink from /etc/systemd/system/multi-user.target.wants/zbxtable.service to /usr/lib/systemd/system/zbxtable.service. #ZbxTable状态查看 [root@server ~]# systemctl status zbxtable ● zbxtable.service - zbxtable Loaded: loaded (/usr/lib/systemd/system/zbxtable.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2022-03-31 21:56:34 CST; 36s ago Main PID: 14804 (zbxtable) Tasks: 5 Memory: 37.3M CGroup: /system.slice/zbxtable.service └─14804 /usr/local/zbxtable/zbxtable web Mar 31 21:56:34 server bash[14804]: $$ / $$$$$$$\ | \$$$$ / $$ | $$$$$$$$ |$$$$$$$\ |$$ | $$$$$\ Mar 31 21:56:34 server bash[14804]: $$ / $$ __$$\ $$ $$< $$ | $$ __$$ |$$ __$$\ $$ | $$ __| Mar 31 21:56:34 server bash[14804]: $$ / $$ | $$ |$$ /\$$\ $$ | $$ | $$ |$$ | $$ |$$ | $$ | Mar 31 21:56:34 server bash[14804]: $$$$$$$$\ $$$$$$$ |$$ / $$ | $$ | $$ | $$ |$$$$$$$ |$$$$$$$$\ $$$$$$$$\ Mar 31 21:56:34 server bash[14804]: \________|\_______/ \__| \__| \__| \__| \__|\_______/ \________|\________| Mar 31 21:56:34 server bash[14804]: 2022/03/31 21:56:34.627 [I] [web.go:47] Connected to database zbxtable successfully! Mar 31 21:56:36 server bash[14804]: 2022/03/31 21:56:36.340 [I] [web.go:47] Connected to zabbix web successfully!Zabbix version is : 5.0.21 Mar 31 21:56:36 server bash[14804]: table `zbxtable_alarm` already exists, skip Mar 31 21:56:36 server bash[14804]: table `zbxtable_manager` already exists, skip Mar 31 21:56:37 server bash[14804]: 2022/03/31 21:56:37.463 [I] [asm_amd64.s:1371] http server Running on http://:8084

8|66)Zbxtable-Web 配置

Zbxtable Web需使用nginx

#web安装 [root@server ~]# yum install nginx -y Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile .... #web配置文件 [root@server ~]# cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/ #启动web [root@server ~]# systemctl restart nginx [root@server ~]# systemctl enable nginx Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

8|77)测试访问

用http://ip:8088 即可访问ZbxTable系统
默认账号:admin 密码:Zbxtable

在这里插入图片描述

在这里插入图片描述

如启动失败或者出现错误错误,可修改通过需改程序配置文件,修改运行模式为 dev 模式,并重启 zbxtable,查看程序日志解决,日志位于 logs/zbxtable.log

9|09.ms-agent 安装部署

ms-agent 必须部署在 Zabbix Server 服务器,ms-agent 接收 zabbix 的告警消息,通过 http 协议发送到 ZbxTable 平台

ms-agent 需使用 zbxtable 命令完成在 Zabbix Server 的配置,包括创建用户,配置动作等配置。配置过程如下,确保 ZbxTable 配置文件里的 Zabbix Server 信息配置正确

9|11)配置ms-agent

[root@server ~]# cd /usr/local/zbxtable [root@server ~]# ./zbxtable install 2020/07/18 23:22:16.881 [I] [install.go:43] Zabbix API Address: http://zabbix-server/api_jsonrpc.php 2020/07/18 23:22:16.881 [I] [install.go:44] Zabbix Admin User: Admin 2020/07/18 23:22:16.881 [I] [install.go:45] Zabbix Admin Password: xxxxx 2020/07/18 23:22:17.716 [I] [install.go:52] 登录zabbix平台成功! 2020/07/18 23:22:17.879 [I] [install.go:69] 创建告警媒介成功! 2020/07/18 23:22:18.027 [I] [install.go:82] 创建告警用户组成功! 2020/07/18 23:22:18.198 [I] [install.go:113] 创建告警用户成功! 2020/07/18 23:22:18.198 [I] [install.go:114] 用户名:ms-agent 2020/07/18 23:22:18.198 [I] [install.go:115] 密码:xxxx 2020/07/18 23:22:18.366 [I] [install.go:167] 创建告警动作成功! 2020/07/18 23:22:18.366 [I] [install.go:168] 插件安装完成! #如上所示 表示配置成功.此步骤会在 Zabbix Server 创建 ms-agent,密码为随机,并配置相关 Action 和 Media Type,并关联到用户
# 配置文件 [root@Zabbix server ~]# vim /etc/ms-agent/app.ini [app] Debug = 1 # TenantID = zabbix LogSavePath = /tmp Host = http://1.116.153.193:8088/v1/receive Token = 2144aa207c6c4ea9acf1a6b76e4adfeb # Debug 为程序日志级别 0 是 debug,1 为 info # LogSavePath 为日志目录,默认为/tmp 目录 # Host 为 ZbxTable 系统地址,默认为 http 服务器 IP+/v1/receive # Token 与 ZbxTable 通信的 Token,可自行修改,需要与 ZbxTable 平台配置保持一致即可,否则无法接收告警。

9|22)安装ms-agent

部署在 Zabbix Server

部署环境:

程序路径作用
ms-agent/usr/lib/zabbix/alertscripts/ms-agent接收 Zabbix 平台产生的告警并发送到 ZbxTable 平台
app.ini/etc/ms-agent/app.inims-agent 配置文件
#下载安装包 [root@Zabbix server ~]# yum install https://dl.cactifans.com/zabbix/ms-agent-1.0.0-1.el7.x86_64.rpm -y

1》如果 Zabbix Server 的 alertscripts 目录不为/usr/lib/zabbix/alertscripts/ 需要移动 ms-agen 到你的 zabbix server 的 alertscripts 目录下即可,否则会在 Zabbix 告警页面出现找不到 ms-agent 的错误提示,也无法收到告警消息。
2》也可以修改 Zabbix Server 的配置文件,将 alertscripts 目录指向/usr/lib/zabbix/alertscripts/

9|33)zabbix server配置

#配置编辑 [root@Zabbix server ~]# vim /et/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts #重启zabbix server [root@Zabbix server ~]# systemctl restart zabbix-server

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


__EOF__

本文作者ଲ小何才露煎煎饺
本文链接https://www.cnblogs.com/zeny/p/16088661.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ଲ小何才露煎煎饺  阅读(490)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
历史上的今天:
2021-04-01 @LNMP的架构体系
2021-04-01 @ssh远程服务
2021-04-01 @网络通信原理
2021-04-01 @HTTP协议
2021-04-01 @nginx及配置https
2021-04-01 @nginx常用初始内容
2021-04-01 @nginx多server及使用优化(php)
点击右上角即可分享
微信分享提示