开源的Zabbix报表系统ZbxTable正式发布!

ZABBIX优化、如配置文件优化、后台数据库优化……

版主: sfzhang

回复
mxj333
论坛管理员
论坛管理员
Articles: 0
帖子: 99
注册时间: 2013年 11月 22日 11:55 星期五

开源的Zabbix报表系统ZbxTable正式发布!

帖子 mxj333 »

 

系统介绍

ZbxTable 是使用 Go 语言开发的一个开源的 Zabbix 报表系统。基本功能如下:

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

系统架构

图片

组件介绍

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

在线体验

直接点击登录即可
https://zbx.cactifans.com

官方文档

https://zbxtable.cactifans.com

兼容性

zabbix 版本兼容性
5.0.x LTS✅
4.4.x✅
4.2.x✅
4.0.x LTS✅
3.4.x❓ 理论支持未测试
3.2.x❓ 理论支持未测试
3.0.x LTS❓ 理论支持未测试

源码及 RPM 包

源码

ZbxTable: https://github.com/canghai908/zbxtable
ZbxTable-Web: https://github.com/canghai908/zbxtable-web
MS-Agent: https://github.com/canghai908/ms-agent
由于 ZbxTable 使用 Go 语言编写,无任何系统以来组建,建议使用 RPM 方式进行安装,推荐使用 ZbxTable 的 yum 源,可方便安装各个组件并可使用 yum update 对组件进行更新。

添加 yum 源

CentOS 6.x x86_64

代码: 全选

rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/6/x86_64/zbxtable-release-1.0-1.el6.noarch.rpm
yum clean all

CentOS 7.x x86_64

代码: 全选

rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/7/x86_64/zbxtable-release-1.0-1.el7.noarch.rpm
yum clean all

CentOS 8.x x86_64

代码: 全选

rpm -Uvh https://repo.cactifans.com/zbxtable/1.0/rhel/8/x86_64/zbxtable-release-1.0-1.el8.noarch.rpm
dnf clean all

系统默认账号:admin 密码:Zbxtable

安装

安装 Zbxtable

代码: 全选

yum install zbxtable -y

安装 Zbxtable-Web

代码: 全选

yum install zbxtable-web -y

安装 ms-agent

代码: 全选

yum install ms-agent -y

配置

Zbxtable 配置

数据库初始化

按照以下命令创建数据库及用户

代码: 全选

# mysql -uroot -p
password
mysql> create database zbxtable character set utf8 collate utf8_bin;
mysql> create user zbxtable@localhost identified by 'zbxtablepwd123';
mysql> grant all privileges on zbxtable.* to zbxtable@localhost;
mysql> quit;

修改配置文件

配置文件在 conf/app.conf

代码: 全选

#zbxtable
appname = zbxtable
httpport = 8084
runmode = prod
autorender = false
copyrequestbody = true
EnableDocs = true
#session过期时间,单位为小时,默认12小时。如需大屏自动刷新,建议配置较大配置时间
session_timeout = 12
#database
hostname = localhost
username = zbxtable
dbpsword = zbxtablepwd123
database = zbxtable
port = 3306
dbprefix = zbxtable_
#zabbix web info
zabbix_server = http://192.168.10.12
zabbix_user = admin
zabbix_pass = zabbix
#alarm send token
token = ec573cf7388da56916f75ba9bbe46a69

主要配置有以下

  • zabbix web info 为 访问 zabbix web 的地址及账号密码,确保使用 zabbix_server 所配置的地址能打开 zabbix web 页面,如果有/zabbix 后缀也需要添加
  • token 为 ms-agent 与 ZbxTable 平台通信的 token,可自行修改及配置,与 ms-agent 配置的 token 保持一致即可,具体可查看 ms-agent 文档https://github.com/canghai908/ms-agent

启动

修改好配置后,使用以下命令启动

代码: 全选

systemctl enable --now zbxtable

重启

代码: 全选

systemctl restart zbxtable

Debug

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

Zbxtable-Web 配置

安装好之后文件位于/usr/local/zbxtable/web
前端为纯静态文件,需使用 nginx,如机器未安装 nginx,使用以下命令安装 nginx

代码: 全选

yum install nginx -y

拷贝 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 配置

初始化配置

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

代码: 全选

cd /usr/local/zbxtable
./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,并关联到用户.

环境信息

环境信息

程序路径作用
ms-agent/usr/lib/zabbix/alertscripts/ms-agent接收 Zabbix 平台产生的告警并发送到 ZbxTable 平台
app.ini/etc/ms-agent/app.inims-agent 配置文件

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

代码: 全选

AlertScriptsPath=/usr/lib/zabbix/alertscripts

修改后重启 Zabbix Server 生效

配置文件

/etc/ms-agent/app.ini 为程序配置文件,默认内容如下

代码: 全选

[app]
Debug = 1
LogSavePath = /tmp
Host = http://192.168.10.10:8088/v1/receive
Token = ec573cf7388da56916f75ba9bbe46a69

Debug 为程序日志级别 0 是 debug,1 为 info
LogSavePath 为日志目录,默认为/tmp 目录
Host 为 ZbxTable 系统地址,默认为 http 服务器 IP+/v1/receive
Token 与 ZbxTable 通信的 Token,可自行修改,需要与 ZbxTable 平台配置保持一致即可,否则无法接收告警。

Debug

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

Team

后端
canghai908
前端
ahyiru

系统截图

系统登录
图片
系统首页
图片
主机列表
图片
图形管理
图片
图形导出
图片
指标导出
图片
巡检报告导出
图片
告警分析
图片
告警导出
图片

如果觉得我的文章对您有用,请关注我的公众号,有更多技术干货!
图片

 
 
 
 

 
 
 
 
 
 
 
 
 

zabbix中文社区:www.zabbix.org.cn
图片
zabbix中文社区公众号


回复