GBASE南大通用-一文读懂如何用Zabbix监控GBase 8c

南大通用GBase 8c是基于openGauss3.0构建的一款多模多态的分布式数据库,支持行存、列存、内存等多种存储模式和单机、主备式、分布式等多种部署形态,具备多模多态、极高性能、极高可用、极致弹性、极致安全等特性,为金融、政务、互联网等行业核心系统提供安全可靠的数据服务。

近期随着GBase 8c首期培训课程的上线,学员们互动活跃。特此推出一系列GBase 8c数据库周边实践操作,供大家尝试探索。

Zabbix

Zabbix是一款基于Server-Client架构的高度集成的开源监控软件,能够提供企业级分布式的监控解决方案,可用于监控设备、服务与程序、数据库状态。其WEB界面提供报表、图形、仪表盘、视图等丰富的可视化形式,支持数据采集、定义告警阈值、存储历史数据、监控、告警、审计日志等功能。

Zabbix 由几个主要的功能组件组成,其职责如下所示。

Server:Zabbix server是核心组件,管理报告可用性、系统完整性信息和统计信息等。

数据库:所有配置信息以及 Zabbix 收集到的数据都被存储在数据库中。下文以PostgreSQL12为例。

Web 界面:提供基于WEB的界面,以便轻松访问Zabbix、查看监控信息。该界面是 Zabbix server 的一部分,通常与Zabbix server运行在同一台物理机器上。

Proxy:Zabbix proxy可以替Zabbix server收集性能和可用性数据。Zabbix proxy 是Zabbix环境部署的可选部分,能有效分担Zabbix server的负载。下文未涉及Proxy。

Agent:Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。

让我们来看看Zabbix & GBase 8c将擦出怎样的火花。PS:GBase 8c的安装部署过程不再赘述,请自行准备

目录

一、zabbix 安装部署

1、安装 zabbix  yum仓库

2、安装zabbix服务

3、配置存储数据库

4、修改配置

5、启动服务

二、登陆WEB界面

三、配置监控

1、配置监控采集模版

2、配置主机群组

3、配置主机

四、查看监控项

一、zabbix 安装部署

1、安装zabbix yum仓库

下载repo安装包:

[root@host ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

编辑zabbix.repo文件,调整替换为国内阿里云镜像。

[root@host ~]# vi /etc/yum.repos.d/zabbix.repo

键入”:”,并执行替换命令

:%s/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g

按键”:wq”,保存并退出文件。

2、安装zabbix服务

(1) 安装zabbix-server(推荐使用pgsql)、zabbix-agent

[root@host ~]# yum install zabbix-server-pgsql zabbix-agent

(2) 安装zabbix前端

① 需要安装 centos-release-scl ,推荐使用从阿里云进行下载:

[root@host ~]# wget https://mirrors.aliyun.com/centos/7.9.2009/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm?spm=a2c6h.25603864.0.0.62421e45seGuOO -O centos-release-scl-2-3.el7.centos.noarch.rpm

[root@host ~]# wget https://mirrors.aliyun.com/centos/7.9.2009/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm?spm=a2c6h.25603864.0.0.62421e45seGuOO -O centos-release-scl-rh-2-3.el7.centos.noarch.rpm

② 安装下好的rpm包

[root@host ~]# rpm -ivh centos-release-scl-2-3.el7.centos.noarch.rpm centos-release-scl-rh-2-3.el7.centos.noarch.rpm

③ 激活zabbix前端的仓库:

[root@host ~]# vi /etc/yum.repos.d/zabbix.repo

在文件中调整zabbix-frontend部分enabled参数值为1,gpgcheck参数值为1。

图片

按键”:wq”保存并退出。

④ 安装其他依赖包

[root@host ~]# yum install zabbix-web-pgsql-scl zabbix-nginx-conf-scl

3、配置存储数据库

前面安装时使用pgsql版zabbix-server,配置存储库时同样使用PostgreSQL(以postgresql-12为例)。此处也可以尝试使用GBase 8c。

(1) 下载postgresql-12安装包

创建安装目录。

[root@host ~]# mkdir -p /home/postgres/

[root@host ~]# cd /home/postgres/

远程获取官网tar包至安装目录:

[root@host postgres]# wget --no-check-certificate https://ftp.postgresql.org/pub/source/v12.10/postgresql-12.10.tar.gz -O /app/software/

(2) 解压并安装postgresql-12

首先解压安装包:

[root@host postgres]# tar -zxvf postgresql-12.10.tar.gz

进入解压后自动生成的目录,并安装依赖包:

[root@host postgres]# cd /home/postgres/postgresql-12.10

[root@host postgresql-12.10]# yum install -y bison flex readline-devel zlib-devel

配置选项生成makefile,默认安装到目录:/app/software/postgresql-12.10

[root@host postgresql-12.10]# ./configure --prefix=/home/postgres/postgresql-12.10

编译并安装

[root@host postgresql-12.10]# make && make install

(3) 创建添加postgres 用户到 postgres组(过程中设置postgres用户密码,请牢记)

[root@host postgresql-12.10]# groupadd postgres

[root@host postgresql-12.10]# useradd -g postgres postgres

[root@host postgresql-12.10]# passwd postgres

将postgresql-12安装目录权限赋予postgres用户:

[root@host postgresql-12.10]# chown -R postgres:postgres /home/postgres

切换为postgres用户,用于启停postgresql-12数据库。

[root@host postgresql-12.10]# su postgres

[postgres@host postgresql-12.10]#

(4) 初始化并启动存储数据库

创建postgres用户所有的data目录,用于存储数据。

[postgres@host postgresql-12.10]# mkdir -p /home/postgres/postgresql-12.10/data

初始化并启动数据库。

[postgres@host postgresql-12.10]# cd /home/postgres/postgresql-12.10/bin/

[postgres@host bin]# ./initdb -D /home/postgres/postgresql-12.10/data/

[postgres@host bin]# ./pg_ctl -D /home/postgres/postgresql-12.10/data/ -l logfile start

列出以下其他管理操作为参考(步骤中无需执行)。

--停止数据库

/home/postgres/postgresql-12.10/bin/pg_ctl -D /home/postgres/postgresql-12.10/data/ stop

--重启数据库

/home/postgres/postgresql-12.10/bin/pg_ctl restart -D /home/postgres/postgresql-12.10/data/ -m fast

(5) 创建zabbix数据库及用户

[postgres@host bin]# createuser --pwprompt zabbix

[postgres@host bin]# createdb -O zabbix zabbix

为zabbix用户授权(WEB访问Zabbix时需要参考此处,配置PG数据库、用户及密码等信息):

[postgres@host bin]# psql -d postgres

postgres=# alter database "zabbix" owner to zabbix;

postgres=# grant all on database "zabbix" to zabbix;

postgres=# alter user zabbix superuser login;

postgres=# \q

注意

若执行不成功,考虑以下操作:

1) 请检查并配置环境变量。

[postgres@host bin]# vim ~/.bashrc

# 修改环境变量值为实际路径

export PGDATA=/home/postgres/postgresql-12.10/data

export PGHOME=/home/postgres/postgresql-12.10/

export PATH=$PATH:$PGHOME/bin

2) 调整PATH变量顺序,将postgres用户.bashrc中路径地址移到前面。例如:

[postgres@host bin]# echo $PATH

/opt/protobuf-c/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/home/postgres/postgresql-12.10//bin

# 调整PATH变量中路径值的顺序

[postgres@host bin]# export PATH=/home/postgres/postgresql-12.10//bin:/opt/protobuf-c/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

# 再次查看,调整成功

[postgres@host bin]# echo $PATH

/home/postgres/postgresql-12.10//bin:/opt/protobuf-c/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

(6) 导入 zabbix 元数据信息

[postgres@host bin]# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | /home/postgres/postgresql-12.10/bin/psql zabbix

(7) 配置远程连接

编辑postgresql.conf配置文件,修改”#listen_addresses = 'localhost'”一行,将前面的#号去掉;将默认参数localhost修改成实际IP地址。

[postgres@host bin]# vim /home/postgres/postgresql-12.10/data/postgresql.conf

例如:

listen_addresses = '172.16.5.103'

编辑pg_hba.conf配置文件,增加一行,表示主机所有IP都可以访问。

[postgres@host bin]# vim /home/postgres/postgresql-12.10/data/pg_hba.conf

例如:

host    all             all             0.0.0.0/0               trust

注意:GBase 8c数据库集群也需提前配置操作,用于远程连接。分布式集群在读写CN上操作,并指定-Z参数;主备式集群在主DN上操作。

gs_guc reload [-Z coordinator] -N all -I all -h "host all all 0.0.0.0/0 sha256"

gs_guc reload [-Z coordinator] -N all -I all -c "listen_addresses=*"

gs_guc reload [-Z coordinator] -N all -I all -c "password_encryption_type=1"

4、修改配置

(1) 修改 zabbix_server 配置,包括DBHost、DBName、DBPassword。

[root@host ~]# vi /etc/zabbix/zabbix_server.conf

# 选择本地连接方式

DBHost=

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

(2) 修改 nginx 配置

[root@host ~]# vi /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

# 修改端口,注意:默认80端口需要root权限

listen 8000;

# 修改为本机名,这里以gbase8c_5_103为例。

server_name gbase8c_5_103;

[root@host ~]# vi /etc/opt/rh/rh-nginx116/nginx/nginx.conf

# 修改用户为root

user root;

(3) 修改php时区:

[root@host ~]# vi /etc/opt/rh/rh-php72/php.ini

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

# 将最前面的分号去掉,时区改成亚洲上海

date.timezone=Asia/Shanghai

图片

5、启动服务

设置开机自启动,并重启服务。

[root@host ~]# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

[root@host ~]# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

查看 zabbix_server 日志方式:

[root@host ~]# cat /var/log/zabbix/zabbix_server.log

根据返回的提示错误信息,修改。

如果安装过程一切顺利,没有错误,正常登录WEB界面即可。

二、登陆WEB界面

在浏览器地址栏输入http://IP:port/访问Zabbix界面。这里IP写安装Zabbix server的机器IP,port与/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf文件中listen的端口保持一致。

需要注意的是:

如果在访问失败,请检查错误日志信息修正。请执行locate error.log | grep nginx命令,查询error.log所在路径。例如,访问界面报错“502 Bad Gateway”,检查网络端口无误后查看错误日志如下:

图片

根据上图错误日志,可以看出没有权限访问/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock文件。进入到此路径下查看该文件权限,所有者为root。而nginx.conf配置文件中显示为”user nginx;”,修改此处用户为root,并重启服务即可。

安装成功后,WEB首页应显示为(以Zabbix 5.0为例):

图片

看到这个界面,Zabbix基本准备就绪了。草蛇伏线,灰延千里。界面提示需要配置的一些参数,在前面安装过程都有涉及,包括创建的数据库名、用户名及密码等信息。

设置数据库名、用户名等数据库配置。

图片

设置IP、端口等主机配置。

图片

# 端口查询命令:

netstat -ntlp | grep zabbix_server

图片

配置正确参数后:

图片

配置完成后跳转至Zabbix登录界面。WEB端默认用户名密码:Admin/zabbix。

图片

登录成功后,正式进入Zabbix监控界面。

图片

建议将界面语言设置为中文,方便操作。根据下图提示,选择Chinese(zh_CN),点击“update”按钮立即生效。

图片

接下来进行配置监控的一系列操作。

三、配置监控

1、创建主机群组

主机群组管辖范围包括模板主机等。后续创建的模板、主机都可以关联到主机群组。

(1) 创建一个新的主机群组。

图片

例如新建主机群组“GBase8c”:

图片

(2) 在列表中勾选刚刚新建的主机群组,并点击“启用主机”。

在这行,我们可以看到GBase8c可管辖主机、模板、成员等,同时关联到这些对象各自的界面。比如点击GBase8c这行的“模板”,自动跳转到配置模板页,与点击左侧菜单配置-模板是等效的。

图片

2、配置监控采集模版

在模板配置页,可创建或导入自定义监控模板。Zabbix5版本支持xml格式,而官网7版本已经更新到yml格式,注意格式与安装版本保持一致。推荐直接导入的方式。

(1) GBase 8c监控采集模板,可以自行参考Zabbix官方提供的PostgreSQL模版略作调整;或直接在正文左下角链接获取,内容如下:

[gbase@host ~]$ tree zabbix/

zabbix/

├── gbase8c

│   ├── gbase8c.bgwriter.sql

│   ├── gbase8c.cache.hit.sql

│   ├── gbase8c.config.hash.sql

│   ├── gbase8c.connections.prepared.sql

│   ├── gbase8c.connections.sql

│   ├── gbase8c.connections.sum.sql

│   ├── gbase8c.dbstat.sql

│   ├── gbase8c.dbstat.sum.sql

│   ├── gbase8c.discovery.db.sql

│   ├── gbase8c.frozenxid.sql

│   ├── gbase8c.locks.sql

│   ├── gbase8c.ping.time.sql

│   ├── gbase8c.query.time.sql

│   ├── gbase8c.replication.lag.sql

│   ├── gbase8c.replication.recovery_role.sql

│   ├── gbase8c.replication.status.sql

│   ├── gbase8c.scans.sql

│   ├── gbase8c.transactions.sql

│   ├── gbase8c.uptime.sql

│   └── gbase8c.wal.stat.sql

├── template_db_gbase8c.conf

└── template_db_gbase8c.xml

1 directory, 22 files

(2) 将template_db_gbase8c.conf(附件获取)上传至Zabbix部署服务器/etc/zabbix/zabbix_agentd.d 目录下。

(3) 在Zabbix部署机服务器创建/var/lib/zabbix目录,并将./gbase8c目录及文件(附件获取)上传到该目录。

(4)登录Zabbix的WEB监控平台,将本地的template_db_gbase8c.xml模版(文中为Zabbix5版本)导入至监控平台。注意无论创建还是导入模板,请与主机群组关联。

图片

选择本地文件,勾选监控规则,点击“导入”按钮。

图片

3、配置主机

(1) 创建主机

注意与主机群组关联。

图片

(2) 填写主机名称、IP、客户端,与zabbix server实际部署情况一致。

选择刚创建的主机群组名称,并修改客户端IP地址信息。

图片

(3) 同样,勾选刚刚创建好的主机,点击“启用”。

图片

(4) 链接模板

我们上一步配置的模板,只是导入到模板库中。对于新创建的主机,还需要关联相应模板才能获取模板文件中的监控项。仍回到主机详情页,如果已经退回到主机列表,可以点击主机名跳转至该主机详情。

图片

在链接新模板输入框内通过关键字搜索:

1) 输入关键字“GBase 8c”,选择 Template DB GBase8c 模版,用于监控GBase 8c数据库。

2) (可选)输入关键字“Linux”,选择 Template OS Linux by Zabbix agent 模版,用于监控服务器主机。

3) 点击添加按钮,完成链接模板的操作。

图片

(5) 配置宏

1) 在主机详情配置页面,配置宏,选择继承以及主机宏

图片

2) 根据实际情况,调整数据库连接参数如PG_HOST、PG_PORT、PG_USER、PG_DB等。通常只需要修改PG_HOST、PG_PORT即可。

图片

修改完毕后,记得拉到页面最下方点击“更新”按钮。不管下拉多久,一定要保存!

(6) 启动监控项

最后一步配置,查看刚刚配置好的监控项是否已经处于“已启用”状态。

图片

如果有个别监控项没有处于启用状态,检查是否有错误,勾选启用它。

图片

四、查看监控项

接下来,我们就可以通过美观的Dashboard,监控数据库和主机的状态。

(1) 通过WEB监测面板查看监控项:

图片

(2) 选择监测-主机,可点击“最新数据”按钮,查看实时更新的监控数据:

图片

(3) 选择“图形”可查看监控数据图表

连接数

图片

事务数

图片

慢查询

图片

锁信息

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CGAL的主成分分析

此软件包提供了分析二维和三维对象集的功能。它提供了所有有界对象的轴对齐边界框、质心和主成分分析的计算,以及加权点集的重心。请注意,与大多数CGAL软件包不同,该软件包使用近似方法(特别是线性最小二乘拟合)&#…

数据采集遇到验证码校验的一般破解方式简述

背景 百度自动采集是一种高效的数据采集方法,但是在采集过程中经常会遇到图片验证码的问题,从而导致采集失败。那么有没有什么方法可以绕过图片验证呢?本文将为您详细介绍。 解决方案 一、使用OCR技术识别验证码 OCR技术可以识别图片中的…

vue实现滑动切换:切换选项时滑块有滑动过渡的效果

效果图 思路: 1. 高亮的色块是独立的一个盒子,需要插入当前激活的内容用来撑开色块盒子的宽度,这样色块的宽度就会和当前激活的内容宽度一致,色块的字体颜色设置透明即可 2. 色块滑动的距离是读当前激活元素的offsetLeft&#x…

文献阅读:LoRA: Low-Rank Adaptation of Large Language Models

文献阅读:LoRA: Low-Rank Adaptation of Large Language Models 1. 文章简介2. 方法介绍3. 实验 & 结论 1. 基础实验 1. Bert系列模型2. GPT系列模型 2. 消解实验 1. 作用矩阵考察2. 中间维度考察3. 扰动程度分析 4. 总结 & 思考 文献链接:htt…

SLAM学习入门--机器学习

文章目录 机器学习逻辑回归(LR)基本原理为什么 LR 要使用 sigmoid 函数?LR 可以用核函数么?为什么 LR 用交叉熵损失而不是平方损失?LR 能否解决非线性分类问题?LR为什么要离散特征?逻辑回归是处…

Linux文件系统结构及相关命令2 什么是Shell? help cd cd的用法 ls 的用法

Shell 是一种用于与操作系统进行交互的命令行解释器。它是用户与操作系统内核之间的接口,接受用户的命令并将其传递给操作系统进行执行。 在大多数的 Unix-like 操作系统(如 Linux 和 macOS)以及类 Unix 系统中,Shell 是默认的命…

如何开发一个google插件(二)

前言 在上一篇文章如何开发一个google插件(一)里主要介绍了google插件的基本结构。 在这篇文章中主要结合reactwebpack进行一个代码演示,源码地址:源码地址 下载源码后打开浏览器的扩展程序管理->加载已解压的扩展程序,即可调试插件 此…

在线客服选择要点分析:如何挑选适合您需求的客服解决方案

选择一款好的在线客服系统,可以帮助企业多渠道的触达客户,与客户进行高效的沟通,最终达成转化的目的。 市面上现在成熟的客服系统产品有很多,企业在进行选择时要考虑以下几点: 1、企业需求 市场上的客服系统产品主要…

ArkTS - 组件生命周期

一、先说下自定义组件 在arkTs中,自定义组件分为两种(我的总结): 一种是:根组件,就是被装饰器Entry装饰的入口组件,这也是自定义组件(父组件)。 另一种是:没有被Entry装饰的自定义…

分布式存储考点梳理 + 高频面试题

欢迎来到分布式存储模环节,本文我将和你一起梳理面试中分布式系统的数据库的高频考点,做到温故知新。 面试中如何考察分布式存储 广义的分布式存储根据不同的应用领域,划分为以下的类别: 分布式协同系统 分布式文件系统 分布式…

Xline command 去重机制(一)—— RIFL 介绍

为什么要对 command 去重? 在一个接收外部 command 的系统中,通常一个 command 至少要执行一次,我们称其为 at-least-once semantics。如果一个 command 执行失败,系统内部经常会实现一套重试结构来尝试恢复这个问题,…

HTML 基础

文章目录 01-标签语法标签结构 03-HTML骨架04-标签的关系05-注释06-标题标签07-段落标签08-换行和水平线09-文本格式化标签10-图像标签图像属性 11-路径相对路径绝对路径 12-超链接标签13-音频14-视频 01-标签语法 HTML 超文本标记语言——HyperText Markup Language。 超文本…

【分布式配置中心】聊聊Apollo的安装与具体配置变更的原理

【管理设计篇】聊聊分布式配置中心 之前就写过一篇文章,介绍配置中心,但是也只是简单描述了下配置中心的设计点。本篇从apollo的安装到部署架构到核心原理进一步解读,大概看了下apollo的原理,感觉没有必要深究,所以就…

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项样题卷③

2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项(高职组) 样题(第3套) 目录 2023年“中银杯”四川省职业院校技能大赛“云计算应用”赛项(高职组) 样题(第3套) 模块…

【北亚数据恢复】mysql表被truncate,表数据被delete的数据恢复案例

云服务器数据恢复环境: 华为ECS云服务器,linux操作系统,mysql数据库(innodb引擎)。作为网站服务器使用。 云服务器故障: 在执行mysql数据库版本更新测试时,误将本应该在测试库上执行的sql脚本执…

亚马逊云科技Amazon Q,一款基于生成式人工智能的新型助手

近日,亚马逊云科技宣布推出Amazon Q,这是一款基于生成式人工智能(AI)的新型助手,专为辅助工作而设计,可以根据您的业务量身定制。通过连接到公司的信息存储库、代码、数据和企业系统,可以使用Am…

个人游戏启动器 | 游戏数据库 playnite 折腾记录

环境:Windows 11 问题:使用平板串联PC游戏后,需要一个本地的PC启动器 解决办法:使用playnite搭配插件 背景:我是个单机游戏爱好者,因为某些原因,需要串流游玩,需要一个方便手柄操作的…

arkts状态管理使用(@State、@Prop、@Link、@Provide、@Consume、@objectLink和@observed)

一、状态管理 1.在声明式UI中,是以状态驱动视图更新: ①状态(State):指驱动视图更新的数据(被装饰器标记的变量) ②视图(View):基于UI描述渲染得到用户界面 注意: ①…

【零基础入门VUE】VueJS - 模板

✍面向读者:所有人 ✍所属专栏:零基础入门VUE专栏https://blog.csdn.net/arthas777/category_12537076.html 我们在前面的章节中学习了如何在屏幕上以文本内容的形式输出。在本章中,我们将学习如何在屏幕上以 HTML 模板的形式获取输出。 为了…

什么是AI PC,又有哪些产品

最近一段时间,AI PC成为一个流行词。Intel在发布Core Ultra处理器的时候,直接使用了AI PC这个词语,而各大厂商发布相应的笔记本产品时,也使用了AI Ready的宣传词。而在Intel之前,AMD在发布自己的新一代APU的时候&#…