集群运维2:监控、SQL 限流与索引优化 | 学习笔记(一)

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 快速学习集群运维2:监控、SQL限流与索引优化

开发者学堂课程【PolarDB-X 开源人才初级认证培训课程集群运维2:监控、SQL限流与索引优化学习笔记(一),与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1075/detail/15544


集群运维2:监控、SQL 限流与索引优化


内容介绍:

一、 PolarDB-X 架构介绍

二、课程演示

三、如何在 PolarDB-X 中优化慢 SQL

四、 PolarDB-X SQL 限流

五、 SQL 执行的过程

六、数据库优化

七、 PolarDB-X SQL Advisor 基本原理

 

一、 PolarDB-X 架构介绍

主要围绕 PolarDB-X 集群运维中的一些相关知识,今天的内容主要分成两个部分,第一个部分会介绍是如何对 PolarDB-X 进行监控的第二个部分是当 PolarDB-X 系统里面遇到了一些问题的 SQL ,我们是如何通过限流的手段对其进行处理优化,来保障目前系统上的业务稳定运行开始之前,首先对 PolarDB-X 这款产品做一个简单的介绍 PolarDB-X是阿里云上的云原生分布式数据库,这边给出了它的架构图。

从架构图中可以看到由四个核心的组件构成

1. 第一个组件是我们的计算节点 CN。 它是整个集群流量的入口,负责收到应用服务器发过来的业务 SQL ,向其进行相应分布式的计算以及路由同时也负责了全分布式事务的一个维护以及全二级索引的维护。

2. 第二个组件是我们的 DN 节点它是实际的数据存储服务节点同时它还通过了 paxos 协议来保证了数据的强一致和高可靠。

3. 第三个组件是我们的语言数据中心 GMS 它存储了整个 PolarDB-X 集群中的拓扑,同时也是我们分布式事务所依赖的 TSO 的授时组建。

4. 第四个组件的话是我们的 CDC 它的主要作用是将每个上存在的物理 binlog 汇聚成一条与 MySQL  binlog 完全兼容的逻辑 binlog流能够让我们与大下游的大数据的生态系统进行无缝的对接。

前面提到 PolarDB-X 是一款云原生的分布式数据库,既然提到云原生的话,那自然也就绕不开 K8S 这个话题 PolarDB-X 也在积极的拥抱了 K8S 生态,在 K8S 上也构建了自己的扩展叫 PolarDB-X Operator基于 K8S 也有像 scheduler、apiserver、controller-manager 这样的一些基础能力构建了 PolarDB-X 自己的控制面,能够在 K8S 集群上对 PolarDB-X 数据库进行部署以及相关的运维能力。例如依赖了 Deployment 去对 CDC  CN 这样的无状态的组件进行管理依赖了类似 StatefulSet 这样的方式 DN 节点进行管理除了正常的一些部署和常规的运维生命周期方面的能力外,我们还提供了像弹性伸缩高可用备份恢复以及监控审计等一些解决的能力。今天的课程所介绍的监控也是围绕 K8S Operator 的方式去进行构建的。

 

二、课程演示

首先演示如何在 K8S 集群里面为 PolarDB-X 集群安装监控然后通过 Grafana 来访问目前监控报表

进入操作界面后,左边是PolarDB-X Operate的监控文档,右边是在阿里云上购买的一台 ECS 。会按照监控文档的操作步骤一起为 PolarDB-X 开启监控。

首先第一步我们需要安装 PolarDB-X  monitor 这个组件是干什么的因为 PolarDB-X 的监控是通过 Prometheus 和 Grafana 来实现的,因此我们在 PolarDB-X  monitor 这个组件里面集成了 Prometheus 这个组建站然后只要安装了这个  monitor 组件,便可以一键安装整套的 Prometheus 的软件站

在这个过程中有一个前置的要求,首先第一步需要有一个运行中的 K8S 集群同时已经安装好了Helm 3;另外也需要安装好 PolarDB-X Operator。已经前置安装好了通过 kubectl get  PolarDB-X clustrt 的方式,可以看到已经安装好了 PolarDB-X Operate和创建好了一个 PolarDB-X 的实例这边的操作过程和前两天在课程中使用的云起实验室是类似的,同时这边也可以通过 kubectl get PXC 这个命令查看 PolarDB-X状态。可以理解为 PXC 就是 PolarDB-X cluster 这个资源的缩写。接下来将按照监控文档中的步骤来开启监控首先需要创建一个叫 PolarDB-X - monitor 里头的命名空间,通过 kubectl create namespace polardbx- monitor 这个命令来创建一下。创建完成接下来,由于 PolarDB-X Operate 是直接安装的,所以说这边  monitor  CRD 和下面这部分是可以跳过的

下面直接去通过 Helm Chart 仓库的方式来安装 PolarDB-X  monitor 这个组件。第一步是添加一个 PolarDB-X Helm仓库,已经把它添加进来接下来我会使用 helm instell --namespace palardbx --monitor  or polardbx -monitor or polardbx/polardbx- monitor 这样一条命令来去创建的 PolarDB-X monitor 。这边有一个需要说明的地方因为是在 ECS 上通过minikube 方式虚拟出了一个 K8S 的集群,而monitor 组件里面由于依赖 Prometheus ,他默认的资源要求会相对较高一点,如果在minikube上去安装,需要将它的一个资源通过压膜文件的方式来默认调小一点,这样就会能够保证它创建成功,要不然可能会出现因为资源不够导致的创建失败。这边已经准备好了一个 values 文件,通过 -f 的参数去指定它就可以去对它进行创建已经创建出来了,来看一下 values 文件的内容。

image.png

可以看到 values 文件里面定义了 monitor 里面的 Prometheus 组件,将它的resource的 lim RT 限制到了2c 8G然后request的限制到了 1c2G 。这一部分的内容已经在监控文档上有了说明,可以参考监控文档,按这个操作来进行。已经看到了上面的这样的一个输出,就是表示 PolarDB-X  monitor 已经安装完成了image.png

接下来去查看一下 PolarDB-X  monitor 里面依赖的相关组件是否到了 ready 的状态。通过这样的一个命令 kubectl get pods -n polardbx- monitor 来查看 PolarDB-X   monitor 这个命名空间下,所有的 pod 是否引起来可以看到这边的所有的 pod 都已经到了 ready 的状态,它主要包括几个关键的组件,第一个是 Grafana ,是一个可视化组件然后还有 node exporter 是我们资源采集的组件然后还有一个重要的 Prometheus 。这几个组件都已经进入了一个 ready 的状态

那接下来就将 PolarDB-X  实例开启监控。已经先创建好了一个 PolarDB-X  的实例,要为他开始监控,需要创建一个叫 PolarDB-XMonitor 的对象这个对象的内容会通过 polardbx- monitor .yaml 的样本文件去定义它的内容也比较简单,第一个部分就 kind资源类型是 PolarDB-X   monitor 类型然后它的名字你可以随便一个,这边直接就叫PXC dome  monitor 。然后 spec 部分有三个关键的参数第一个是我 clusterName ,它表示的是需要开启监控的 PolarDB-X 集群的名称,也就是对应的通过上面这个命令拿到的PXC的demo下面第二个参数是 monitor interval,它表示的是监控采集的间隔,这边我设了一个15秒然后第三个是scrapeTimeout ,表示的是监控数据每次采集的一个超时时间。有了这样的文件,通过 kubectl apply 的方式来创建一下这个 PolarDB-X monitor 的对象。通过 kuberctl get pxm 这个命令这个对象已经创建完成,目前正在监控的状态。image.png

接下来来访问一下 Grafana Dashboard 查看具体的监控指标。通过这样 kubectl part-forward svc/grafana -n polardbx- monitor 3000命令将这个 Grafana 的服务转到本地看一下 Grafana 创建了哪些service。可以看到在 PolarDB-X monitor 空间下创建了 Grafana Service ,还有 Prometheus Service监控报表就是在 Grafana Service 上面,所以通过这样一条命令  kubectl part-forward svc/grafana -n polardbx- monitor 3000 口转到这台 ECS 上。这有一个说明因为需要从本地的MAC电脑来访问这台 ECS ,因此它是要从外部时访问,需要加上一个更高address 的参数,大家可以看一下,就是要等于0.0.0,这边还没显示到,我把它一下---address -0.0.0,等于0.0.0。image.png

然后对它进行一个端口的转,接下来我通过浏览器来访问一下的监控页面第一次访问可能要稍等一小会请求断,重新转发一次应该就好了,再重新打开。已经进入到了 Grafana 的登录页面。image.png

默认的用户名和密码都是 admin,密码我就不重设了,直接通过 skip 的方式跳过。这边也开启一个 sysbench 压缩测流量来把请求打起来也准备好了 sysbench 压测流量直接就是把它开启。有一个叫sysbench select的 get pod 正在启动,稍等一下。他已经起来了,来看一下它的日志 kubectl logs,可以看到它的流量已经起来了,目前的 QPS  大概在四千多左右接下来访问一下我们的监控页面,可以看到现在的监控页面已经展示出来了。image.png

目前, QPS 四千八左右然后 RT 的话在1.34毫秒。

首先简单介绍一下我们的 PolarDB-X 监控页面的分布。它分成这么几个部分

第一个部分的话是 Overview 部分,他给出了几个重要的指标的概括干情况,然后下面的话分别是我们的 GMS 、CN 、 DN  CDC个不同组件的详细的监控指标。

Overview 部分的两个指标做一简单的介绍

1. 第一个是 QPS  ,可以看一下分成了两个,一个叫逻辑  QPS 也就是 Logical QPS  ,一个叫physical QPS ,就是物理 QPS 。它们两个分别代表的是什么含义?逻辑 QPS 表示的是应用服务器发送的业务 SQL PolarDB-X 每秒的 SQL 物理 QPS 对应的是 PolarDB-X 经过相应的分布式的路由与计算,将逻辑 SQL 转化成了对应的物理 SQL ,下发到边上每秒的 SQL 数。这边可以看一下我们的逻辑 QPS 和物理 QPS 是比较接近的,它说明的一个问题是基本上所有的业务需求都是只涉及单个 DN  分片的一个查询,属于偏点查点写的业务。那假如突然发现物理 QPS 远远高于我的逻辑 QPS ,这时候可能就是要注意,有可能我们的业务中有一些 SQL 它涉及了较多的分片查询,就需要关注是否需要对其进行优化。

2. 另外一个指标是 Response Time ,也就是 RT ,它也是分成了逻辑和物理两部分逻辑 RT 表示的是我应用服务器发送 SQL PolarDB-X直到我们把所有的处理结果返回到应用服务器的时间。而物理 RT 的话表示的是 PolarDB-X  CN 节点把物理 SQL 发到 DN 节点,然后 DN 反馈结果给了 CN 节点的时间。通过这两个指标的话,可以帮助我们判断当前系统的瓶颈主要在哪里。例如我们发现系统的 RT 突然上升了,这时候去看发现主要的变化是物理 RT 大部分,这时候主要的系统的题主要在 DN 层面假如发现物理 RT 并没有什么变化,但是逻辑 RT 却上升的很高,那很有可能系统的瓶颈点就出现在了 CN 层。通过这两个指标能够帮助我们快速的定位系统的状态,以及可能出现问题的组件。

3. 另外这个报表里面还有很多其他的一些监控指标,可以自己去按照我们的文档操作去体验去上面去查看。这边我就不再续一一做详细的介绍了。接下来我将继续介绍我们的内容。

首先刚才演示的 PolarDB-X 监控能力的架构做一个简单介绍image.png

监控首先看一下监控指标的采集层,它的指标分成两种类型,一部分的话是我们的引擎相关的指标,例如像刚才说的 QPS 、 RT 等等的指标,这些指标针对一个不同的组件构建了一个 Exporters 的服务,他通过HTTP的方式来暴露监控指标, Prometheus 会定期的从这边来拿取数据这个定期就是我们刚才PolarDB-X monitor 的这个对象里面monitor interable 这个参数决定的对于资源层面,例如像CPU内存这些基本的指标,是通过开源的lowder Exporter 去暴露的。

刚才在 PolarDB-X  Monitor 这个命名空间下创建好了一些 node Exporter 的这样的 pod 去负责监控的采集采集完监控指标之后, Prometheus 会将它的监控指标存在内部的持续数据库里面,之后 Grafana data监控报表会通过 PromQL 这种方式来从 Prometheus 里面拿取监控数据构建一些图表让我们了解实例的运行状况除此之外,我们是对于 Prometheus cluster ,我们是通过 Prometheus Operator 这个组件来去管理的,这样它可以帮助我们去有效的去部署和管理 Prometheus 的集群。另外对于一个 K8S 集群内,哪些 PolarDB-X 实例需要监控,然后以什么样的频率监控,那这都是刚才创建 PolarDB-X monitor 这个对象所控制的,它会告诉 Prometheus 我需要采集哪些实例的监控指标

是整个 PolarDB-X   K8S 上构建的监控体系的基本架构。


三、如何在 PolarDB-X 中优化慢 SQL

接下来开始下一个部分,就是PolarDB-X 集群如果遇到了一些问题 SQL 的时候,是如何通过已有的一些手段来对它进行处理优化,来保障系统的一个稳定运行的。会介绍两个能力,一个是 SQL 限流,另外一个叫 SQL advisor ,就是索引推荐这部分的能力,目前我们已经在云起实验室中上线了相关的课程,今天也会直接通过云起实验室的课程来进行演示。直接打开我的游戏实验室的链接,这边已经可以看到有一个实验叫如何在 PolarDB-X 中优化慢 SQL 。

首先需要创建一下实验相关的资源,稍等一下资源应该已经创建完成了之后去登录,已经登录上来了。接下来会按照实验手册的步骤,一步一步的去进行操作。第一步是需要连接 PolarDB-X 集群,首先需要切换账号到 galaxykube 下面这个已经预制在我们这台机器上了接下来我需要通过下面这个命令 minikube start --cpus4-- memory 12288--imag -- mirror --country cn--registry -mirror -https://docker. image.png

创建一个 minikube K8S 集群,需要稍等一下。集群其实已经在这台 ECS 上准备好了,现在只是把它重新拉起来这边已经拉起来了接下来的话这边其实已经提前我们这边已经提前创建好了一个 PolarDB-X 集群。正在启动中,可能需要一时间目前 GMS 和 DN 已经起来了,就差 CN 和 CDC 了,来看一下它 pod 的情况。因存在错误,我把刚刚这个集群删掉,重新创建一下。可能预制在 ECS 上的集群有一些问题 K8S operter 已经把它拉起来,稍等一下。把 CN 的pod delete 下image.png

我们的 CN 已经ready了,现在就差一个CDC了CDC 已经ready状态,接下来按照这个命令,先拿到这个集群的登录密码,那这条命令其实就是从 K8S 里面的 SQL 的获取到 PolarDB-X 里面相关密码密码都是存在 SQL 的这个对象里面的,然后将其进行,进行一个 base 64的解码,就可以拿到这样的一个密码。接下来需要将这个 PolarDB-X 实例的3306端口转发到我这台机器上,通过kubectl put forward这个命令就可以实现。在这基础之上,需要再新开一个窗口,通过这边的加号命名,开了一个新的终端之后通过 MySQL 命令行的方式来登录这个实例。然后密码是刚刚获取到的已经登录上来了,来看一下里面数据库的情况可以看到现在是一个的实例image.png

接下来按照下一步来进行操作。首先需要启动一个 sysbench 的业务,创建一个database叫sysbench test,接下来用使用这个 sysbench test,我会use一下这个库,登录到这个数据库里面好已经change过来,来show tables。目前这是一个 kube 库,接下来按照第三步,需要在页面的右上角重新再创建一个新的终端三然后切换到 Galaxy kube 这个账号下,之后到 Galaxy kube 这个账号的主目录编辑一个 sysbench prepare yaml 文件,然后这个  yaml 文件的内容,在下面这边已经给出来了,将它复制进来。它其实就是一个 K8S 的一个job,使用的镜像的话是 sysbench 的公开镜像,在参数部分我们配置PolarDB-X 实例的连接信息,包括连接串端口、用户名密码,同时我这边会导入一个16万行的数据,使用的是 sysbench 里面的 parallel prepare 这一个场景image.png

接下来把这个文件保存然后通过 kubectl apply sysbench .yaml的方式创建一下 job 对象来导入数据。看一下这个job是不是创建出来了: kubectl get jobs ,显示已经正在创建,然后来 kubectl get pods ,可以看到这边这个 sysbench prepare date pod 正在创建中。它已经开始运行,看一下它的日志。通过 kubectl logs 命令就可以看到它正在导入一个16万行的数据到一个叫 sbtest1 的表里面

数据已经导入完成接下来我会启动一个 sysbench 的一个压测流量,这边可以看一下这个名字叫 vim sysbench -select .yaml通过 vim 的方式创建这个 yaml 文件把里面的内容先粘进去,然后解释一下也是一个 K8S 的 job,使用的容器还是和刚刚准备数据的容器是一样的,也是 sysbench 的一个公开镜像。另外也是配置了刚刚实例的一个连接串,同时我们这边采用的压测场景是select random points,就是一个随机的点察。下面我会把这个压测流量开起来,保存好,然后通过kubectl apply的方式来创建一下这个 job :kubectl apply-f sysbench-select.yaml 。

创建完成后,通过 kubectl get pods 来查看一下这个运行中的pods 。可以看到这个 kubectl select-k 这个pods已经起来了来观察一下他的日志,可以看到压测流量目前已经起来,现在他的 QPS 大概在六七百的样子。image.png

接下来开始下一步,去体验 SQL 限流和SQL Advisor 现在假设模拟了一下 sysbench 的压测流量是一个存在问题 SQL 的业务,然后它占用了较多的资源,对线上的其他业务产生了一定的影响接下来需要去找到这问题 SQL ,然后将其进行一个限流。首先的话到刚刚第二个终端的页面,也就是刚刚研究 sysbench test 的数据库,然后通过执行这样一条语句叫 show full processlist where info is not full 查看当前这个数据库里面执行的 SQL 情况,这边可以看到目前压测流量里有大量的 SQL SELECT id,k,c,pad ,然后它是一个基于k列的查询假设它对我们的系统业务造成影响,然后影响了其他的在线业务这时候的话我可以通过 PolarDB-X 提供的SQL限流语法来快速的创建一个 SQL 限流规则,把这条 SQL 拦截起来,不让他去消耗我们的资源

这边我把这条限流规则创建出来,解释一下这个规则这边是 creat ccl_rul 是关键。然后起的这个ccl_rul 的一个限流规则的名字叫 block_select ,它是对 sysbench 这个 test的数据库是生效的,然后只对select语句生效,同时会通过关键字 pad 来去进行限流,最后是 max concurryency ,限定的是0,就是说不允许这 SQL 在我们的系统上执行。image.png

接下来切到之前刚刚的终端里面的 sysbench 流量,看一下现在发生了什么。可以发现 sysbench 流量已经变零了,有大量的报错说明刚刚这个业务起来的 SQL 已经被全部拦截,不会被执行了。接下来通过左边的一条命令叫 show ccl_rules 能够查看一下我当前 SQL 限流规则的运行状况第一个这边能看到它的一个 rule 的名字,就是刚刚创建的叫block select,接下来他给出了我目前这个规则已经 killed 的SQL请求数,目前已经 killed 了17万的数目下面的话给出的是我们 SQL 限流的一些匹配规则,比如说只针对select的语句规则去限流,然后的话用户是 PolarDB-X rule 的,然后关键字的话是一个包含 pad SQL 。这样它就已经起到了个限流的效果,保证了我业务的稳定正常运行。把这条业务 SQL已经限流住了,恢复了正常的在线业务,下面要做的事便是要去分析一下刚刚这条 SQL 为什么会导致系统问题。首先的话对于有经验的 DBA ,可能第一件事去看一下它的执行计划以及这张表的结构。image.png

通过刚刚云起实验室里的命令,这边已经打出了执行计划可以看到这条查询的话是涉及到了我们有个分片上的查询,然后的话会下发到每个分片上去进行这样的查询请求而这个 k 的话它的in值只是一个值,所以说它的最终的结果只会存在一个分片上。因此我们来看一下这张表的结构

我们是有几个列一个是 id ,kc还有一个 pad id 的话你可以看到它是我们的一个分库件k的话既不是分件也不是分表键,但是我们在上面有一个本地的索引,由于只有本地索引的存在,而没有全 区索引的存在,所以不知道 k等于10这条数据会具体落在哪几个分片上,因此我会把这条 SQL 转化成一个相应的物理 SQL 下发到所有的分片,造成一定的不必要的查询。这时候有经验的DBA 的话可能会想到的一个操作就是我针对这个 k的列创建一个全二级索引,这样就能减少不必要的分辨查询操作 PolarDB-X我们已经提供好了一个很方便的工具叫 explain advisor 的命令,它能够帮助我们自动的去做一个索引推荐的操作,不要我们去再做刚刚这样的SQL分析。image.png

来执行一下。 explain advisor 就是关键字后面跟的就是这条需要去分析的SQL的文本SELECT id,k,c,pad from sbtest1 where  k in(10)\G 可以看出他给出了一个推荐的索引叫 ADVISE_INDEX ,可以看到他推荐的也是创建一个关k这个列的全二级索引同时这边我们还给出了我们预估创建完这个索引之后性能提升的一个比例,看到会有一个37%的提升。另外我们的结果里还给出一旦把这个索引创建出来后我们最新的执行计划会变成什么样的情况。

接下来将按照这个 SQL advisor 给出的建议来创建一下索引。这个已经创建完成,由于刚刚已经创建了一个 SQL 限流的规则把有问题的 SQL 给拦截了所以要把这个限流规则给删除掉,理论上如果刚刚创建的这个全会对那条 SQL 进行一个优化,来提高它的一个执行效率。接下来把这个刚刚的限流规则给删掉,这时候接着看一下刚刚的 sysbench 的流量这边可以看到在前面因为有 SQL 限流规则存在,流量跌之后,把 SQL 限流规则给清理掉,流量已经开始恢复。另外一个现象是在最初这条 SQL 之前的 QPS 只有大概七八百的样子等把刚才加上了刚刚的推荐出来的全二级索引,整个的实例的QPS 已经到了2000左右,它的执行效率得到了大大的提升。这便是云起实验室里面演示的SQL adviser和SQL限流两个内容。这部分实验就演示就到这里,接下来开始对这今天实验中内容做知识的介绍。image.png 

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
174 3
|
1月前
|
消息中间件 数据采集 运维
一份运维监控的终极秘籍!监控不到位,宕机两行泪
【10月更文挑战第25天】监控指标的采集分为基础监控和业务监控。基础监控涉及CPU、内存、磁盘等硬件和网络信息,而业务监控则关注服务运行状态。常见的监控数据采集方法包括日志、JMX、REST、OpenMetrics等。Google SRE提出的四个黄金指标——错误、延迟、流量和饱和度,为监控提供了重要指导。错误监控关注系统和业务错误;延迟监控关注服务响应时间;流量监控关注系统和服务的访问量;饱和度监控关注服务利用率。这些指标有助于及时发现和定位故障。
95 1
|
2月前
|
运维 Prometheus 监控
运维之眼:监控的艺术与实践
在信息技术飞速发展的今天,运维监控已成为保障系统稳定运行的关键。本文将探讨运维监控的重要性,介绍常用的监控工具和方法,并通过实际案例分析,展示如何有效地实施监控策略,以确保系统的高可用性和性能。
|
2月前
|
SQL 运维 关系型数据库
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
48 1
|
2月前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
55 1
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
147 0
|
2月前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
50 0
|
2月前
|
SQL 消息中间件 分布式计算
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
87 0
|
2月前
|
SQL 大数据
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(二)
65 0
|
2月前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
55 0