@Zabbix报表系统ZbxTable

1.ZbxTable概述

【ZbxTable产品手册 】

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

2.ZbxTable功能介绍

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

3.ZbxTable系统架构

在这里插入图片描述

4.ZbxTable组件介绍

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

5.ZbxTable线上体验

【ZbxTable线上体验】

6.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.ZbxTable安装包

RPM包与源码包

1)源码包

【ZbxTable】

【ZbxTable-Web】

【MS-Agent】

2)RPM包

【ZbxTable】

【ZbxTable-Web】

【MS-Agent】

8.ZbxTable安装部署

1)组件安装

#安装源
[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

2)数据库部署

# 安装数据库,创建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


3)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

4)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)

5)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

6)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.

7)测试访问

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

在这里插入图片描述

在这里插入图片描述

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

9.ms-agent 安装部署

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

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

1)配置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 平台配置保持一致即可,否则无法接收告警。

2)安装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/

3)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

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

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值