系统介绍

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

兼容性

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 包

1.源码

ZbxTable: https://github.com/canghai908/zbxtable

ZbxTable-Web: https://github.com/canghai908/zbxtable-web

MS-Agent: https://github.com/canghai908/ms-agent

2.RPM 包:

ZbxTable: https://dl.cactifans.com/zabbix/zbxtable-1.0.0-1.el7.x86_64.rpm

ZbxTable-Web: https://dl.cactifans.com/zabbix/zbxtable-web-1.0.0-1.el7.x86_64.rpm

MS-Agent: https://dl.cactifans.com/zabbix/ms-agent-1.0.0-1.el7.x86_64.rpm

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

安装部署

系统采用前后端分离,可与 zabbix 安装到一台服务器,也可分开部署。部署步骤如下

1.后端部署

环境部署要求:
操作系统:centos7 x64

数据库:MySQL

1.1 创建数据库用户

# mysql -uroot -ppasswordmysql> 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;

1.2 后端安装

yum install https://dl.cactifans.com/zabbix/zbxtable-1.0.0-1.el7.x86_64.rpm -y

1.3 修改配置文件

配置文件在 conf/app.conf

#zbxtableappname = zbxtablehttpport = 8084runmode = prodautorender = falsecopyrequestbody = trueEnableDocs = trueappurl = http://192.168.10.10:8088#session过期时间,单位为小时,默认12小时。如需大屏自动刷新,建议配置较大配置时间session_timeout = 12

#databasehostname = localhostusername = zbxtabledbpsword = zbxtablepwd123database = zbxtableport = 3306dbprefix = zbxtable_

#zabbix server infozabbix_server = http://192.168.10.12zabbix_user = adminzabbix_pass = zabbix#alarm send tokentoken = ec573cf7388da56916f75ba9bbe46a69

主要配置有以下

  • appurl = http://ip:8088 为最终系统对外的访问地址,与图形显示有关

  • zabbix server info 为 zabbix server 的地址及账号密码

  • token 为 ms-agent 与 ZbxTable 平台通信的 token,可自行修改,与 ms-agent 配置的 token 保持一致即可,具体可查看 ms-agent 文档https://github.com/canghai908/ms-agent

1.4 启动

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

systemctl enable --now zbxtable

重启

systemctl restart zbxtable

1.5 Debug

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

2 前端部署

安装

yum install https://dl.cactifans.com/zabbix/zbxtable-web-1.0.0-1.el7.x86_64.rpm -y

安装好之后文件位于/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

3 ms-agent 部署

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

3.1 配置

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.php2020/07/18 23:22:16.881 [I] [install.go:44]  Zabbix Admin User: Admin2020/07/18 23:22:16.881 [I] [install.go:45]  Zabbix Admin Password: xxxxx2020/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-agent2020/07/18 23:22:18.198 [I] [install.go:115]  密码:xxxx2020/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,并关联到用户.

3.2 安装

此程序必须部署在 Zabbix Server

yum install https://dl.cactifans.com/zabbix/ms-agent-1.0.0-1.el7.x86_64.rpm -y

环境信息

程序 路径 作用
ms-agent /usr/lib/zabbix/alertscripts/ms-agent 接收 Zabbix 平台产生的告警并发送到 ZbxTable 平台
app.ini /etc/ms-agent/app.ini ms-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 生效

3.3 配置文件

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

[app]Debug = 1LogSavePath = /tmpHost = http://192.168.10.10:8088/v1/receiveToken = ec573cf7388da56916f75ba9bbe46a69

Debug 为程序日志级别 0 是 debug,1 为 info

LogSavePath 为日志目录,默认为/tmp 目录

Host 为 ZbxTable 系统地址,默认为 http 服务器 IP+/v1/receive

Token 与 ZbxTable 通信的 Token,可自行修改,需要与 ZbxTable 平台配置保持一致即可,否则无法接收告警。

3.4 Debug

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

Team

后端

canghai908

前端

ahyiru

系统截图

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

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

zabbix 5.0所有依赖包_开源的Zabbix报表系统ZbxTable正式发布!相关推荐

  1. zabbix 5.0所有依赖包_一杯茶的时间,上手Zabbix

    [51CTO.com原创稿件] IT 运维离不开系统监控,就好像鱼儿离不开水一样.一款强大的监控系统可以有力保证设备和业务的稳定. 图片来自 Pexels 在监控系统层出不穷的今天,作为老牌监控系统的 ...

  2. zabbix 5.0所有依赖包_Zabbix“专家坐诊”第82期问答汇总

    Q:我所有的监控项都是通过自动发现获取的item和值,这个数据获取的时间是怎么控制的,现在感觉都是无序的,我想控制在每个整点的10分左右更新数据. A:zabbix获取数据是轮询的.有时候数据会出现采 ...

  3. spring自动装配依赖包_解决Spring自动装配中的循环依赖

    spring自动装配依赖包 我认为这篇文章是在企业应用程序开发中使用Spring的最佳实践. 使用Spring编写企业Web应用程序时,服务层中的服务量可能会增加. 服务层中的每个服务可能会消耗其他服 ...

  4. npm 删除依赖包_前端开发,npm会了吗?

    npm 是Node.js的包管理工具(package manager),npm 由三个独立的部分组成: 网站(开发者查找包,设置参数以及管理npm的主要途径) 注册表(保存每个包(package)的信 ...

  5. 引入yml依赖包_手把手教你发布 Python 项目开源包

    编译:机器之心,作者:Gabriel Lerner.Nathan Toubiana 好不容易码了个 python 项目,是不是很兴奋?那么怎么把这个项目发出去让大家看到呢?本文作者写了一份在 GitH ...

  6. xmpp协议抓包_开源网络抓包与分析框架学习-Packetbeat篇

    开源简介 packbeat是一个开源的实时网络抓包与分析框架,内置了很多常见的协议捕获及解析,如HTTP.MySQL.Redis等.在实际使用中,通常和Elasticsearch以及kibana联合使 ...

  7. 依赖编译_开源项目的编译优化实践

    Zilliz 公司以 "重新定义数据科学" (Reinvent Data Science)为愿景,专注于研发利用新一代异构计算的开源数据科学软件.随着各项目的蓬勃发展,我们对于持续 ...

  8. maven 打包指定依赖包_[Maven]-Maven基础-01-基础概念

    Maven基础 1.基础概念 Maven基础概念 什么是Maven 什么是理想的项目构建? 高度自动化,跨平台,可重用的组件,标准化的 什么是依赖?为什么要进行依赖管理? 自动下载,统一依赖管理 有哪 ...

  9. 遵循gpl协议 采用jar包_开源协议适用范围及其对软件著作权侵权判定的影响

    北京阳光知识产权调解中心 开源不是免费的午餐,开源软件不是公共领域软件,其享有著作权并受著作权法保护,不可以任意使用. 作者 | 罗瑞雪 来源 |<中国版权> 开源软件并不排斥著作权保护, ...

  10. tesseract4.0.0 中文语言包_一份TensorFlow2.0中文教程

    近两个月,网上已经出现了大量 TensorFlow 2 0 英文教程.在此文章中,本文为大家推荐一个持续更新的中文教程,以便大家学习.来源:机器之心 今年 3 月份,谷歌在 Tensorflow De ...

最新文章

  1. 元素的   is_enable()、is_displayed()和is_selected()
  2. 互联网协议 — FTP 文件传输协议
  3. Java并发编程基础与实战
  4. TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344 作者简介:汪剑,现在在出门问问负责推荐与个性化。曾在微软雅虎工作,
  5. 深度学习voc数据集图片resize
  6. MySQL计划任务3(转)
  7. 图像检索:CEDD(Color and Edge Directivity Descriptor)算法
  8. SourceTree Win10 安装不成功解决过程记录
  9. 也看《猎场》:几经秋冬,青春不在,一切皆贾,蓦然回首,伊人如故
  10. ai生成图片是什么技术_什么是生成型AI?
  11. 格拉布斯准则的应用(Python)
  12. 广西南宁机器人比赛_第18届广西青少年机器人竞赛闭幕
  13. lol封号维护服务器,LOL玩家被封三年执着理论,腾讯客服是这样回复的
  14. 语雀文章导入CSDN
  15. ubuntu软件包降级命令_如何在Ubuntu上降级软件包
  16. h5页面的认识与制作
  17. JPA系列:使用原生SQL、使用JPQL查询方法简单例子
  18. 第2课:5G标准小知识
  19. 关于热是什么与人体怎么感受到热的笔记
  20. Node / v8 1gb memory limit?

热门文章

  1. 用matlab怎么仿真升降压电路,(最新整理)升降压斩波电路matlab仿真
  2. 56个免费下载的CSS+HTML表单登录模板代码
  3. hdoj 5651 xiaoxin juju needs help 【组合数学】
  4. c语言小蜜蜂编程题,小蜜蜂 pascal程序
  5. Hadoop是什么,能干什么,怎么使用
  6. Linux #! /bin/sh的意思
  7. 使用超级表格快速创建在线表单(如问卷调查、报名表)
  8. C语言图形颜色编程|颜色
  9. 银行卡号码显示每隔4位数空一格
  10. 【2021】IOS证书(.p12)和描述文件(.mobileprovision)申请