实验环境:

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. goland mod模式下不从vendor文件夹查找依赖

    goland使用vendor作为获取依赖源 软件版本: system:windows10 1709 terminal: wsl ubuntu1804 goland:201903 goland 打开项目 ...

  2. [刷题] PTA 7-62 切分表达式 写个tokenizer吧

    我的程序: 1 #include<stdio.h> 2 #include<string.h> 3 #define N 50 4 char token[]= {'+','-',' ...

  3. [刷题] 237 Delete Nodes in a Linked List

    要求 给定链表中的一个节点,删除该节点 思路 通过改变节点的值实现  实现 1 struct ListNode { 2 int val; 3 ListNode *next; 4 ListNode(in ...

  4. fedora21 桌面用户自动登录lightdm.conf -20190520 方法

    修改 /etc/lightdm/lightdm.conf 步骤:1解除注释#autologin-user=root 2等号 =后面是root或者普通用户的用户名 例如:root用户自动登录 autol ...

  5. Zabbix5.0服务端部署

    Zabbix5.0服务端部署 基础环境配置 [root@localhost ~]# systemctl disable --now firewalld Removed symlink /etc/sys ...

  6. dpkg -S {file} #ubuntu 14.04 rpm -qf {file} #centos 7

    Linux查找命令或组件对应安装包的方法原创FJEagle 最后发布于2017-12-15 19:10:06 阅读数 4603 收藏展开Linux查找命令或组件对应安装包的方法当新搭建服务器或者维护不 ...

  7. 036.Python的TCP语法

    TCP语法 1 建立一个socket对象 import socket sk = socket.socket() print (sk) 执行 [root@node10 python]# python3 ...

  8. IDEA 安装 zookeeper 可视化管理插件

    1. 安装 zookeeper 插件 打开 IDEA->Settings->Plugins,然后在 Marketplace 输入 "zookeeper" 如下: 插件安 ...

  9. Python数模笔记-PuLP库(2)线性规划进阶

    1.基于字典的创建规划问题 上篇中介绍了使用 LpVariable 对逐一定义每个决策变量,设定名称.类型和上下界,类似地对约束条件也需要逐一设置模型参数.在大规模的规划问题中,这样逐个定义变量和设置 ...

  10. Spring-Cloud之Feign原理剖析

    Feign 主要是帮助我们方便进行rest api服务间的调用,其大体实现思路就我们通过标记注解在一个接口类上(注解上将包含要调用的接口信息),之后在调用时根据注解信息组装好请求信息,接下来基于rib ...