ZbxTable Go语言开发的开源Zabbix报告系统
Posted 我的紫霞辣辣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZbxTable Go语言开发的开源Zabbix报告系统相关的知识,希望对你有一定的参考价值。
系统介绍
ZbxTable 是使用 Go 语言开发的一个开源的 Zabbix 报表系统。 基本功能如下:
1. 导出监控指标特定时间段内的详情数据与趋势数据到 xlsx 2. 导出特定时间段内 Zabbix 的告警消息到 xlsx 3. 对特定时间段研内的告警消息进行分析,告警 Top10 等 4. 按照主机组导出巡检报告 5. 对 Zabbix 图形按照数类型进行显示和查看并支持导出到 pdf 6. 主机未恢复告警显示和查询
系统架构
组件介绍
ZbxTable:使用 beego 框架编写的后端程序
ZbxTable源码
ZbxTable-Web:使用 React 编写的前端
ZbxTable-Web源码
MS-Agent:安装在 Zabbix Server 上,用于接收 Zabbix Server 产生的告警,并发送到 ZbxTable 平台
MS-Agent源码
兼容性
zabbix版本 | 兼容性 |
---|---|
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 | 支持 |
部署ZbxTable工具
下载组件包(zbxtable,zbxtable-web,ms-agent)
# 下载 rpm 包
rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm
yum clean all
yum makecache
# 安装 Zbxtable
yum -y install zbxtable
# 安装 Zbxtable-Web
yum -y install zbxtable-web
# 安装 ms-agent
yum -y install ms-agent
数据库初始化
# 数据库初始化,创建数据库及用户
mysql -uroot -p123
create database zbxtable character set utf8 collate utf8_bin;
create user zbxtable@localhost identified by '123';
grant all privileges on zbxtable.* to zbxtable@localhost;
quit;
Zbxtable 配置
# 生成配置文件
cd /usr/local/zbxtable/
./zbxtable init
# ✔ mysql
# DBHost: localhost
# DBName: zbxtable
# DBUser: zbxtable
# DBPass: 123
# DBPort: 3306
# Connected to database zbxtable successfully!
# Zabbix Web URL: http://192.168.15.7/zabbix
# Zabbix Username: Admin
# Zabbix Password: zabbix
# Connected to Zabbix API successfully!Zabbix version is 5.0.17
# The configuration information is as follows:
# ZbxTable dbtype: mysql
# ZbxTable dbhost: localhost
# ZbxTable dbname: zbxtable
# ZbxTable dbuser: zbxtable
# ZbxTable dbpass: 123
# ZbxTable dbport: 3306
# Zabbix Web URL: http://192.168.15.7/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!
# 二维码
# 查看配置文件
cat conf/app.conf
# ; zbxtable
# appname = zbxtable
# httpport = 8084
# runmode = prod
# timeout = 12
# token = 2144aa207c6c4ea9acf1a6b76e4adfeb
# copyrequestbody = true
# ; database
# dbtype = mysql
# dbhost = localhost
# dbuser = zbxtable
# dbpass = 123
# dbname = zbxtable
# dbport = 3306
# ; zabbix
# zabbix_web = http://192.168.15.7/zabbix
# zabbix_user = Admin
# zabbix_pass = zabbix
启动
# 修改好配置后,使用以下命令启动
systemctl enable --now zbxtable
systemctl restart zbxtable
部署Zbxtable-Web工具
nginx官方源
# 配置nginx官方源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Zbxtable-Web 配置
# 下载nginx软件
yum -y install nginx
# 复制nginx配置文件
cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/
# 启动nginx服务
systemctl restart nginx
systemctl enable nginx
# 使用http://ip:8088 即可访问系统,系统默认账号:admin 密码:Zbxtable
部署 ms-agent 工具
这个程序必须部署在Zabbix Server上!!!作用:接收Zabbix平台产生的告警并发送到ZbxTable平台。
ms-agent 工具下载网址:https://dl.cactifans.com/zabbix/ms-agent-1.0.0-1.el7.x86_64.rpm
初始化配置
cd /usr/local/zbxtable
./zbxtable install
# 2021/11/02 14:52:15.235 [I] [command.go:163] Create media type successfully!
# 2021/11/02 14:52:15.263 [I] [command.go:163] Create user group successfully!
# 2021/11/02 14:52:15.345 [I] [command.go:163] Create alarm user successfully!
# 2021/11/02 14:52:15.345 [I] [command.go:163] Username :ms-agent
# 2021/11/02 14:52:15.345 [I] [command.go:163] Password : PSFGcJiHsx
# 2021/11/02 14:52:15.411 [I] [command.go:163] Create alarm action successfully!
# 2021/11/02 14:52:15.411 [I] [command.go:163] MS-Agent plugin configured successfully!
# 2021/11/02 14:52:15.411 [I] [command.go:163] MS-Agent token is 2144aa207c6c4ea9acf1a6b76e4adfeb
表示配置成功.此步骤会在 Zabbix Server 创建 ms-agent,密码为随机,并配置相关 Action 和 Media Type,并关联到用户.
修改ms-agent配置文件
# 配置文件
vim /etc/ms-agent/app.ini
[app]
Debug = 1
# TenantID = zabbix01
LogSavePath = /tmp
Host = http://192.168.15.7:8088/v1/receive
Token = 2144aa207c6c4ea9acf1a6b76e4adfeb
# Debug 为程序日志级别 0 是 debug,1 为 info
# LogSavePath 为日志目录,默认为/tmp 目录
# Host 为 ZbxTable 系统地址,默认为 http 服务器 IP+/v1/receive
# Token 与 ZbxTable 通信的 Token,可自行修改,需要与 ZbxTable 平台配置保持一致即可,否则无法接收告警。
部署完成
以上是关于ZbxTable Go语言开发的开源Zabbix报告系统的主要内容,如果未能解决你的问题,请参考以下文章
Go Cloud项目开源发布:Go语言将成为云端应用开发的首选语言?