实验环境:

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. jQuery两种方法添加数据表格到HTML

    jQ创建表格的两种方法 1.模板字符串法   $(function () {           //模板字符串的方式添加到页面           $('#btn').click(function ...

  2. [bug] CDH 安装 哈希验证失败

    分析 验证 parcel 文件的哈希值 和 sha 文件不一致:文件损坏,重新下载 和 sha 官网一致:配置httpd文件 参考 哈希值和官网不一致 https://blog.csdn.net/lv ...

  3. CentOS 8 配置 VNC Server

    CentOS 8 配置 VNC Server 2020-12-31 | 标签: centos, vnc 前言 CentOS 8 配置 VNC Server, 使用户可以远程访问,本例介绍安装和配置流程 ...

  4. mysql基础之mariadb概念

    一.数据库介绍 什么是数据库(Database)? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库 ...

  5. mysql开启远程访问和oracl用户锁定问题

    开启mysql远程访问 Grant all privileges on *.* to 'root'@'%' identified by 'root'; Flush privileges; oracl锁 ...

  6. fragment textWatcher的设置位置

    override fun onStart() { super.onStart() Log.d("------------", "1") val titleWat ...

  7. 『动善时』JMeter基础 — 35、JMeter接口关联【JSON提取器】详解

    目录 1.JSON提取器介绍 2.JSON提取器界面详解 3.JSON提取器的使用 (1)测试计划内包含的元件 (2)HTTP Cookie管理器内容 (3)用户登陆请求界面内容 (4)JSON提取器 ...

  8. celery Django 简单示例

    一.目录结构 二.创建worker文件夹 __init__.py # -*- coding:utf-8 -*-import osfrom celery import Celery, platforms ...

  9. ELK搭建-windows

    一.E 二.L 启动 三.K 四.filebeat 五.配置文件使用 1.logstash-sample.conf # Sample Logstash configuration for creati ...

  10. Python+Selenium - Alert弹框

    上面三种弹窗可以在浏览器的控制台做出效果,如下图 上面三种弹窗可以用alert方法处理 示例: #出现弹窗的操作xxxx# 切换al = driver.switch_to.alert# print(a ...