实验环境:

zabbix server 172.16.1.121

mysql 172.16.1.121

访问端 172.16.1.122

54.1 zbxtable

1 说明

ZbxTable使用Go语言编写ZbxTable,可无缝对接已有的Zabbix系统,适配目前所有Zabbix版本,

可导出指标,对告警历史、告警消息进行分析,同时支持GraphTree功能。

参考文档:

https://zbxtable.cactifans.com/2020/07/24/zbxtable-1.0/

https://zbxtable.cactifans.com/docs/install/rpm/

2 架构图

3 部署Zbxtable

在172.16.1.122节点上操作

(1) 添加yum源

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

(2) 安装

1) 安装 Zbxtable

# yum install zbxtable -y

# ls -l /usr/local/zbxtable/

total 38168

-rwxr-xr-x 1 zbxtable zbxtable 39082862 Dec 24 23:10 zbxtable

2) 安装 Zbxtable-Web

# yum install zbxtable-web -y

# ls -l /usr/local/zbxtable/

total 38168

drwxr-xr-x 5 root root 187 Jan 30 20:45 web

-rwxr-xr-x 1 zbxtable zbxtable 39082862 Dec 24 23:10 zbxtable

(3) ZbxTable 配置

1) mysql数据库初始化

在172.16.1.121节点上操作

# mysql -uroot -p'zabbix5.0@lc'

mysql> create database zbxtable character set utf8 collate utf8_bin;

mysql> create user zbxtable@'%' identified by 'zbxtablepwd123';

mysql> grant all privileges on zbxtable.* to zbxtable@'%';

mysql> quit;

2) 系统初始化

# cd /usr/local/zbxtable/

# ./zbxtable init

# 会进入交互式命令行,根据实际情况输入数据库账号及密码,以及zabbix连接信息,

# 最后确认即可生成配置文件。如数据库及zabbix连接错误,会要求重新输入连接信

# 息,否则无法生成配置文件。

# ls -l /usr/local/zbxtable/

total 52868

drwxr-xr-x 2 root root 22 Jan 30 20:48 conf

-rwxr-xr-x 1 root root 733 Jan 30 20:48 control

-rwxr-xr-x 1 root root 15043584 Jan 30 20:48 msty.ttf

-rwxr-xr-x 1 root root 387 Jan 30 20:48 nginx.conf

drwxr-xr-x 5 root root 187 Jan 30 20:45 web

-rwxr-xr-x 1 zbxtable zbxtable 39082862 Dec 24 23:10 zbxtable

# cat /usr/local/zbxtable/conf/app.conf

; zbxtable

appname = zbxtable

httpport = 8084

runmode = prod

timeout = 12

token = 8bb379179d5d4a7c83a1cbc17d4b2bdb

copyrequestbody = true

; database

dbtype = mysql

dbhost = 172.16.1.121

dbuser = zbxtable

dbpass = zbxtablepwd123

dbname = zbxtable

dbport = 3306

; zabbix

zabbix_web = http://172.16.1.121/zabbix

zabbix_user = Admin

zabbix_pass = zabbix

(4) 启动Zbxtable

# systemctl start zbxtable

# systemctl enable zbxtable

(5) 查看Zbxtable服务状态

# systemctl status zbxtable

# 一定要确保zbxtable服务是Active: active(running)状态,如不是正常状态,

# 建议查看日志/usr/local/zbxtable/logs/zbxtable.log或者系统

# /var/log/message日志。

# netstat -tunlp | grep zbxtable

tcp6 0 0 :::8084 :::* LISTEN 1579/zbxtable

(6) Zbxtable-Web配置

文件位于/usr/local/zbxtable/web前端为纯静态文件,需nginx做代理。

1) 安装nginx

# yum install nginx -y

2) 拷贝nginx配置文件

# cp /usr/local/zbxtable/nginx.conf /etc/nginx/conf.d/

# 说明:此时/etc/nginx/nginx.conf默认server 80端口还在,如果

# 和本地端口有冲突,建议将配置注释掉。

3) 启动nginx

# systemctl start nginx

4) 配置开机启动

# systemctl enable nginx

5) 查看端口

# netstat -tunlp | grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1686/nginx: master

tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 1686/nginx: master

(7) 访问zbxtable

http://172.16.1.122:8088

系统默认账号:admin

密码:Zbxtable

4 部署MS-Agent

在172.16.1.121节点上操作

(1) 说明

1) MS-Agent为告警消息采集客户端,安装在zabbix-server端,采集zabbix-server产生的告警信息,并发送到ZbxTable平台。

ms-agent需使用zbxtable命令完成在Zabbix Server的报警Actoin等配置,要确保zbxtable服务器上

/usr/local/zbxtable/conf/app.conf配置正确。

2) /usr/lib/zabbix/alertscripts/ms-agent

接收Zabbix-server平台产生的告警并发送到ZbxTable平台。

如果你的Zabbix Server的alertscripts目录不为/usr/lib/zabbix/alertscripts/,需要移动ms-agent到你的zabbix server

的alertscripts目录下即可,否则会在Zabbix告警页面出现找不到ms-agent的错误提示,ZbxTable平台也无法收到告警消息。也可以

修改Zabbix Server的配置文件,将alertscripts目录指向/usr/lib/zabbix/alertscripts/。

3) /etc/ms-agent/app.ini

ms-agent的配置文件。

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

[app]

Debug = 1

TenantID = zabbix01

LogSavePath = /tmp

Host = http://192.168.10.10:8088/v1/receive

Token = ec573cf7388da56916f75ba9bbe46a69

# Debug 为程序日志级别 0 是 debug,1 为 info,查看日志文件名格式如下/tmp/ms-agent_yyyymmdd.log

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

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

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

(2) 在zabbix-server上生成告警Action等

在172.16.1.122节点上操作

# cd /usr/local/zbxtable/

# ./zbxtable install

# 在zabbix中查看创建的动作

(3) 安装MS-Agent

1) 添加yum源

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

2) 安装

# yum install ms-agent -y

3) 修改app.ini配置文件

# vim /etc/ms-agent/app.ini

[app]

Debug = 1

TenantID = zabbix01

LogSavePath = /tmp

Host = http://172.16.1.122:8088/v1/receive

Token = 8bb379179d5d4a7c83a1cbc17d4b2bdb

(4) 重启zabbix-server

# systemctl restart zabbix-server.service

5 查看zbxtable告警分析

http://172.16.1.122:8088/alarm/query

zbxtable的使用的更多相关文章

随机推荐

  1. [Qt] 项处理组件

                             项(Item):一个项存储了文字.文字的格式.自定义数据等. 1.项视图(Item View) 针对一个数据模型,可能有不同的展示需求,如文件夹中图片 ...

  2. Linux_交换分区SWAP

    一.交换分区SWAP 1️⃣:交换分区SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用. 2️⃣:交换分区一般指定虚拟内存的大小 ...

  3. Spark SQL 之 RDD、DataFrame 和 Dataset 如何选择

    引言 Apache Spark 2.2 以及以上版本提供的三种 API - RDD.DataFrame 和 Dataset,它们都可以实现很多相同的数据处理,它们之间的性能差异如何,在什么情况下该选用 ...

  4. 6.5 scp:远程文件复制

    scp命令 用于在不同的主机之间复制文件,它采用SSH协议来保证复制的安全性.scp命令每次都是全量完整复制,因此效率不高,适合第一次复制时使用,增量复制建议使用rsync命令替代.     scp ...

  5. Centos7.4永久修改系统时间

    [root@V3B01-zsy yum.repos.d]# date -s "2019-09-24 17:02:30" 2019年 09月 24日 星期二 17:02:30 CST ...

  6. Windows上能看朋友圈的微信来了 | 附下载地址

    昨天的时候,电脑端的微信提示更新就顺手更新了一下,更新完成后习惯性的点了下设置,纳尼,居然被灰到了测试版本? 带着好奇,赶快看了下更新了什么内容: 支持浏览朋友圈 "搜一搜"支持搜 ...

  7. 使用mybatis逆向工程Example类,(或者)or条件查询(Day_47)

    使用Example类,or条件查询 SetmealExample setmealExample=new SetmealExample(); setmealExample.or().andNameLik ...

  8. Navigation 在fragment之间用bundel传递数据

    使用 Bundle 对象在目的地之间传递参数 如果您不使用 Gradle,仍然可以使用 Bundle 对象在目的地之间传递参数.创建 Bundle 对象并使用 navigate() 将它传递给目的地, ...

  9. opentack - 本地化

    目录 1 Openstack minimal component 1 组件与功能 2 集群数据存储 2 neutron控制端和计算节点 2.1 SDN网络实现方式 2.2 安全组实现 2.3 虚拟机内 ...

  10. 在Go语言项目中使用Zap日志库

    在Go语言项目中使用Zap日志库 本文先介绍了Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档. 在Go语言项 ...