探索GreatADM:如何快速定义监控

引文

在数据库运维过程中,所使用的运维管理平台是否存在这样的问题:

  • 1、默认监控粒度不够,业务需要更细颗粒度的监控数据。
  • 2、平台默认的监控命令不适合,需要调整阈值量身定制监控策略。
  • 3、不同类型的实例或组件需要有不同的监控重点,但管理平台监控固化,难以应对多样化的监控需求。
  • 4、只监控系统关键指标,屏蔽不必要的指标,优化CPU消耗、网络、采集数据量等,减少资源消耗,提升系统性能。

在数据库运维过程中,用户或者DBA经常会因为管理平台监控面板无法配置,或者监控模板固化,监控模板中没有所关注的指标项,而不得已弃用部分管理平台,进而自建监控或者基于自身业务自定义一批运维监控脚本,来实现数据库或者主机的多样化监控需求。

但这些脚本往往出自不同DBA之手,监控脚本的管理、更新和维护,以及风险评估给数据库的稳定运行带来了新的风险,而且脚本的输出结果需要DBA周期检查分析,展示上也不够直观。今天我们来看下GreatADM是如何解决上述问题的。

一、GreatADM的监控介绍

GreatADM提供灵活的自定义监控配置方法,支持通用的prometheus+grafana的规范,用户可以按照实际业务上的需求,通过配置标准的grafana面板json格式文件或者通过图形化选项配置监控采集项,手动定义dashboard面板。用户可按需灵活的配置监控面板。同时GreatADM支持用户按需调整监控数据的采集频率、监控超时阈值等,用户可按实际业务需求来定义调整,以及对应的SQL命令的调整等。

GreatADM提供不同数据库架构的监控指标和监控模板,支持采集频率、超时阈值的调整,并提供3个维度监控:

  • 1、架构层面:数据库高可架构整体全局状态概览和复制状态、延迟、运行时长、趋势概览。
  • 2、数据库实例:数据库实例节点层面的监控,如SQL执行情况,内存波动,网络请求,I/O负载等方面监控。
  • 3、物理主机:数据库实例所在主机性能指标如CPU、内存、IO、磁盘用量等,可以发现数据库的性能瓶颈,及时进行优化。

file

针对监控采集,DBA在分析判断问题时,也可清晰了解到监控使用的SQL命令是什么,方法是否和自己的使用的SQL相同等。

file

如果上面的监控指标,或者面板不是你想要的,接下来我们就详细看下GreatADM如何自定义业务中,或者DBA想要的监控项,和监控面板的配置。

二、如何自定义GreatADM的监控面板

配置整体步骤如下:

  • a、添加监控采集指标,编辑采集命令

    • Demo1:只监控Linux根空间用量
    • Demo2:监控慢日志累计增长量
  • b、检查采集器是否有效

  • c、配置监控面板

  • d、自定义监控完成

  • e、多个面板配置在同一页面

1、添加空间采集项

Demo1、【如何增加主机自定义监控项---独立监控linux根空间用量】

针对以下选项: 填写采集组名称:host_root 采集频率:300s 采集超时:5s 采集组默认是否启用:启用 添加到哪个类型数据库架构:paxos高可用复制

file

采集目标:数据库主机 选择任一节点:hostname 运行shell采集命令:df -Th|grep root|awk -F' ' '{print $6}'|awk -F'%' '{print $1}' 采集命令注意:监控主机,则采集语句为shell命令,目标选择主机;监控数据库,则采集语句为SQL命令,目标选择数据库。另外对应的采集器返回的结果只允许是"单项结果值",如果存在多列,多行结果,对应的采集器会报错,并且无法正常采集。

file

采集器添加完成之后,信息如下

file

查看对应的采集命令

file

Demo2、【如何增加数据库自定义监控项---数据库慢日志增长趋势】

针对以下选项配置方法同上: 填写采集组名称:slow_queries 采集频率:5s 采集超时:5s 采集组默认是否启用:启用 添加到哪个类型数据库架构:paxos高可用复制

file

采集目标:数据库实例 选择任一实例节点: 选择数据库名:paxos_600 实例节点:database_1 运行SQL采集命令:select variable_value from performance_schema.global_status where variable_name='slow_queries'

file

提交并查看监控项信息

file

使用的SQL语句

file

添加采集项的整体配置流程可以总结为:

  • 1选择类型
  • 2选择主机/数据库
  • 3采集命令
  • 4运行采集命令
  • 5提交并检查

2、检查新增采集项是否有效

选择【监控告警】--子项【查询】来验证新增加的采集项是否可采集到数据,以及前端绘图是否正常

file

点击【使用查询】可看到对应的graph的绘制图,点击【检查】,可具体看到采集项【统计数据】,如下共采集了482行。当前因为我选择了2台主机的,因截图遮展示框盖住了另外一台的绘图。

file

具体【数据】可查看到时序时间对应的主机采集的磁盘数值。

file

登录主机和实际主机的磁盘根空间对比查看

file

确认对应的采集数据可以正常,无误,为可用状态。(数据库的采集项和此检查一致,这里就不在赘述了)。 接下来就可以配置grafana面板了。

3、配置监控面板

登录GreatADM的http://172.17.139.50/graph/login可直接跳转到GreatADM集成Grafana面板配置页,默认账号为admin,密码为GreatADM内置的初始密码。

file

选择【+】 Dashboard--添加新的【panel】

file

在这里Data sorce 选择【监控】

file

点击【指标浏览器】--搜索栏搜索采集项名称【host_root】--匹配到【node_ext_host_root_demo】--自动匹配【address标签】展示可监控的主机IP列表

file

选择要监控的主机【IP】--点击【使用查询】--可正常绘制监控图 调整横坐标轴的标题title【主机 "/" 根空间使用率】和纵坐标的lable描述【磁盘空间使用率(%)】

file

下一步针对绘图线的格式调整,点击【选项】--【图例】--【自定义(提供命名模板)】

file

将{{label_name}}修改为{{address}}之后,对应的主机信息就完整了

file

保存配置,并为Dashboard 定义名称

file

配置好之后的Grafana面板如下:

file

接下来只需要将定义好的面板的json数据配置信息,cp到greatadm的自定义监控项中,粘贴进去即可。

4、完成自定义监控面板

拷贝当前配置完成的Grafana面板的json数据,到greatadm自定义面板页面,选择【Edit】

file

点击【配置的齿轮图标】

file

选择【JSON Model】--全选--复制即可

file

点击GreatADM的【监控告警】---【自定义监控】--【新增监控面板】--粘贴拷贝的json文本

file

提交即可看到自定义的监控面板了。

file

同样的方式配置slow_queries的增长趋势,方法和主机监控的相同,这里就不在重复介绍了。整体效果如下2个面板针对不同的监控项做定制。

file

但此时有人问了,如何将面板都配置在同一页面中呢?

5、多个面板如何配置在同一页面

如果将多个面板如何配置在同一页面中展示呢,比如将慢日志增长趋势的和主机根空间配置在一起。接下来继续看。 选择 【add panel】--添加新的面板

file

将慢查询增长趋势,正常配置进去

file

调整--【选项】--【自定义】--【{{address}}:{{port}}:{{name}}】对应【数据库实例IP:端口:实例名】,配置方法完全一直。

file

最终在GreatADM页面点击【保存】之后,配置效果如下

file

验证监控效果; 慢查询增长通过:select sleep(10);select sleep(10);select sleep(10); 增加3条慢查询记录,从9条增加到12条。

file

磁盘空间使用dd 命令,临时创建1个10G的大文件,看根空间的使用率变化,从50%增长到55%

[root@gip /]# dd if=/dev/zero of=/test_root_space  bs=1024M count=10

file

增长趋势变化可直观的查看到,与实际数据库和主机的值匹配。表示监控项是有效可用可直观观察到变化。

file

三、自定义监控的使用场景和意义

为什么需要自定义监控功能解决了用户和dba现场维护数据库时的几个诉求,以及提供基于业务可定制监控的途径。其意义如下:

1、个性化监控:不同类型的实例或组件需要有不同的视角,但管理平台监控固化,而自定义监控解决了应对多样化的监控需求。自定义监控面板允许管理员选择所需的监控指标和图表,根据自己的实际需求来展示重要的数据库运行数据,提高信息关注度和有效性。

2、重点监控:针对特定的业务需求,管理员可以将自定义面板中的监控指标和图表设置为关注重点,确保数据库的关键功能和性能得到优先监控。

3、运行趋势监控:数据库管理平台自定义监控面板能够提高数据的可视化程度。使数据库性能和健康状况更容易理解和分析。通过设置预警和警报规则,自定义面板有助于及时发现潜在问题,并采取措施进行干预,确保数据库的稳定运行。 这也是GreatADM再结合诸多业务的实际运维场景,紧贴用户实际需求开发的产品,真正做到易用,好用,可灵活配置,解决实际问题为目的,为数据库的平稳运行保驾护航。

Enjoy GreatSQL :)

关于 GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

image

社区有奖建议反馈: https://greatsql.cn/thread-54-1-1.html

社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html

(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)

技术交流群:

微信&QQ群:

QQ群:533341697

微信群:添加GreatSQL社区助手(微信号:wanlidbc )好友,待社区助手拉您进群。

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

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

相关文章

界面组件DevExpress WinForms v23.1 - 增强的图表、甘特图功能

DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…

《Python入门到精通》time模块详解,Python time标准库,time库函数大全

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 time模块详解 1、获取操作time.time() 获取时间戳(float)time.time_ns() 获取时间戳(int)time.thread_time()…

VIT中的einops包详解

‘’‘einops有三个常用方法:rearrange,repeat,reduce’‘’ rearrange的操作相当于转置 rearrange(image,‘h w c -> w h c’) 高和宽转置 path ../data/cat_and_mouse.jpg image cv2.imread(path) h,w,c image.shape # shape第一个值是h,第二个是w image…

电子电路学习笔记之NCV84120DR2G——车规级单通道高压侧驱动器

关于车规级芯片: 关于车规级芯片(Automotive Grade Chip),车规级芯片是专门用于汽车行业的芯片,具有高可靠性、高稳定性和低功耗等特点,以满足汽车电子系统的严格要求。这些芯片通常用于车载电子控制单元&…

【java】【SSM框架系列】【一】Spring

目录 一、简介 1.1 为什么学 1.2 学什么 1.3 怎么学 1.4 初识Spring 1.5 Spring发展史 1.6 Spring Framework系统架构图 1.7 Spring Framework学习线路 二、核心概念(IoC/DI,IoC容器,Bean) 2.1 概念 2.2 IoC入门案例 …

十五、Webpack打包图片-js-Vue、Label命令、resolve模块解析

一、webpack打包图片 (1)加载图片案例准备 为了演示我们项目中可以加载图片,我们需要在项目中使用图片,比较常见的使用图片的方式是两种: img元素,设置src属性;其他元素(比如div&…

IP175D参考资料和引脚图

特性 宽工作温度范围IP175DLF(0C至70C) IP175DLFI (-40C至85C)内置6个MAC和5个PHY 每个端口可配置为10base-t、100Base-TX 最多2K个MAC地址 支持自极性10Mbps 广播风暴防护 汽车MDI-MDIX 支持3个MIL/RMII接口Layer2-4多字段分类器支持8-MultiField输入支持交通政策支持…

React 全栈体系(四)

第二章 React面向组件编程 六、组件的生命周期 1. 效果 需求:定义组件实现以下功能&#xff1a; 让指定的文本做显示 / 隐藏的渐变动画从完全可见&#xff0c;到彻底消失&#xff0c;耗时2S点击“不活了”按钮从界面中卸载组件 <!DOCTYPE html> <html lang"e…

特殊矩阵的压缩存储(对称矩阵,三角矩阵和三对角矩阵)

目录 1.对阵矩阵 2.三角矩阵 3.三对角矩阵&#xff08;带状矩阵&#xff09; 均假设数组的下标从0开始 1.对阵矩阵 定义&#xff1a;若对一个n阶矩阵A中的任意一个元素 aᵢ,ⱼ 都有aᵢ,ⱼaⱼ,ᵢ &#xff08;1≤i,j≤n&#xff09;&#xff0c;则称其为对称矩阵。 存储策略…

⛳ MVCC 原理详解

&#x1f38d;目录 ⛳ MVCC 原理详解&#x1f43e; 一、事务回顾&#x1f4d0; 1.1、什么是数据库事务&#xff0c;为什么要有事务&#x1f389; 1.2、事务包括哪几个特性&#xff1f;&#x1f38d; 1.3、事务并发存在的问题1.3.1、脏读1.3.2、不可重复读1.3.3、幻读 &#x1f…

Android Jetpack 中Hilt的使用

Hilt 是 Android 的依赖项注入库&#xff0c;可减少在项目中执行手动依赖项注入的样板代码。执行 手动依赖项注入 要求您手动构造每个类及其依赖项&#xff0c;并借助容器重复使用和管理依赖项。 Hilt 通过为项目中的每个 Android 类提供容器并自动管理其生命周期&#xff0c;…

依赖项的处理与层的创建与注册

依赖项的处理与层的创建与注册 依赖项的处理与层的创建与注册 新问题什么是 layer?layer 的创建与注册 与函数同时创建和绑定单独上传 layer 再绑定函数(推荐) 真正的运行时依赖 注册包的约定与平台强关联的运行时 1. 云端安装依赖2. 本地构建 Amazon Linux 2 容器环境3. 利用…

数字图像滤波的本质

一、说明 在数字时代&#xff0c;图像是我们交流和表达不可或缺的一部分。从社交媒体到医学成像&#xff0c;图像的质量和内容非常重要。这就是图像过滤和卷积领域介入的地方&#xff0c;为我们提供了一个转换和完善这些视觉叙事的工具包。 图像过滤不仅仅是让照片看起来更好;这…

Fiddler 系列教程(二) Composer创建和发送HTTP Request跟手机抓包

Fiddler Composer介绍 Composer的官方帮助文档&#xff1a;http://www.fiddler2.com/fiddler/help/composer.asp Fiddler的作者把HTTP Request发射器取名叫Composer(中文意思是&#xff1a;乐曲的创造者), 很有诗意 Fiddler Composer的功能就是用来创建HTTP Request 然后发送…

Chrome 基于 Wappalyzer 查看网站所用的前端技术栈

1. 找到谷歌商店 https://chrome.google.com/webstore/search/wappalyzer?utm_sourceext_app_menu 2. 搜索 Wappalyzer 3. 添加至Chrome 4. 使用 插件 比如打开 https://www.bilibili.com/ 就可以看到其所以用的前端技术栈了

【系统设计系列】 负载均衡和反向代理

系统设计系列初衷 System Design Primer&#xff1a; 英文文档 GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. 中文版&#xff1a; https://github.com/donnemart…

一百七十二、Flume——Flume采集Kafka数据写入HDFS中(亲测有效、附截图)

一、目的 作为日志采集工具Flume&#xff0c;它在项目中最常见的就是采集Kafka中的数据然后写入HDFS或者HBase中&#xff0c;这里就是用flume采集Kafka的数据导入HDFS中 二、各工具版本 &#xff08;一&#xff09;Kafka kafka_2.13-3.0.0.tgz &#xff08;二&#xff09;…

ES 集群常用排查命令

说明&#xff1a;集群使用非默认端口9200&#xff0c;使用的是7116端口举例 一、常用命令 #1.集群健康状态 [wlsadminelastic-01~]$ curl -XGET "http://10.219.27.00:7116/_cluster/health?pretty" { cluster name":"cluster" "status"…

flutter报错-cmdline-tools component is missing

安装完androidsdk和android studio后&#xff0c;打开控制台&#xff0c;出现错误 解决办法 找到自己安装android sdk的位置&#xff0c;然后安装上&#xff0c;并将下面的勾选上 再次运行 flutter doctor 不报错&#xff0c;出现以下画面 Doctor summary (to see all det…