zbxtable的使用
阅读原文时间:2023年07月11日阅读:1

实验环境:

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章