当前位置: 首页 > news >正文

8.2 grafana上导入模板看图并讲解告警

本节重点介绍 :

  • grafana 上导入mysqld-dashboard
  • global status 相关源码解读
  • 重要指标讲解
    • 连接数
    • 内存
    • TPS、QPS

将采集任务添加到prometheus中

  - job_name: mysqld_exporterhonor_timestamps: truescrape_interval: 8sscrape_timeout: 8smetrics_path: /metricsscheme: httpfollow_redirects: truestatic_configs:- targets:- 192.168.3.200:9104

grafana 上导入mysqld-dashboard

  • 地址 https://grafana.com/grafana/dashboards/11323

调整大盘变量

  • 举例图片
  • image.png
  • 最终的效果图
  • image.png

指标讲解和相关源码讲解

global status 相关的

mysql_global_status_threads_connected 表示当前连接数

  • 源码 位置 D:\go_path\src\github.com\ning1875\mysqld_exporter\collector\global_status.go
  • 执行SHOW GLOBAL STATUS命令,逐行遍历,如果key 不在 正则中,则用 mysql_global_status前缀+key,类型为prometheus.UntypedValue
  • scrape函数
func (ScrapeGlobalStatus) Scrape(ctx context.Context, db *sql.DB, ch chan<- prometheus.Metric, logger log.Logger) error {globalStatusRows, err := db.QueryContext(ctx, globalStatusQuery)for globalStatusRows.Next() {if err := globalStatusRows.Scan(&key, &val); err != nil {return err}if floatVal, ok := parseStatus(val); ok { // Unparsable values are silently skipped.key = validPrometheusName(key)match := globalStatusRE.FindStringSubmatch(key)if match == nil {ch <- prometheus.MustNewConstMetric(newDesc(globalStatus, key, "Generic metric from SHOW GLOBAL STATUS."),prometheus.UntypedValue,floatVal,)continue}
  • globalStatusRE正则
mysql_global_variables_innodb_buffer_pool_sizevar globalStatusRE = regexp.MustCompile(`^(com|handler|connection_errors|innodb_buffer_pool_pages|innodb_rows|performance_schema)_(.*)$`)
  • 指标metrics结果
# HELP mysql_global_status_threads_connected Generic metric from SHOW GLOBAL STATUS.
# TYPE mysql_global_status_threads_connected untyped
mysql_global_status_threads_connected 9

- 为什么进行这样

其它连接数

  • mysql_global_status_max_used_connections 表示 服务器启动后已经同时使用的连接的最大数量
  • mysql_global_variables_max_connections 表示 最大连接数
  • mysql_global_status_questions 已执行的由客户端发出的语句
  • mysql_global_status_aborted_connects 尝试已经失败的MySQL服务器的连接的次数
  • mysql_global_status_aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量

内存

  • mysql_global_status_innodb_page_size innodb内存划分粒度
  • mysql_global_status_buffer_pool_pages 用于缓存索引和数据的内存大小
  • mysql_global_variables_innodb_log_buffer_size 用来设置缓存还未提交的事务的缓冲区的大小

TPS 服务器每秒处理的事务数

  • 计算方法
Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit'; 
Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback'; 
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime'; 
TPS=(Com_commit + Com_rollback)/Uptime 
  • promqlsum(rate(mysql_global_status_commands_total{command=~"(commit|rollback)"}[5m])) without (command)

QPS

  • 计算方法
Questions = SHOW GLOBAL STATUS LIKE 'Questions'; 
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime'; 
QPS=Questions/Uptime 
  • promql irate(mysql_global_status_queries[5m])

本节重点总结 :

  • grafana 上导入mysqld-dashboard
    • 变量的处理,没有图,变量解析的不对
  • global status 相关源码解读
  • 重要指标讲解
    • 连接数
    • 内存
    • TPS、QPS

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【论文笔记】4D Millimeter-Wave Radar in Autonomous Driving: A Survey
  • JavaSE面试篇章——一文干破Java集合
  • (二)测试工具
  • 数字孪生赋能智慧城市大脑智建设方案(可编辑65页PPT)
  • 简单了解下Spring中的各种Aware接口实现依赖注入
  • 【单片机毕业设计选题24099】-室内空气质量检测及净化系统
  • 学习笔记第十七天
  • 15.75.【C语言】表达式求值
  • Dubbo源码深度解析(中)
  • yum 方式下载安装 java 1.8
  • Android SurfaceFlinger——渲染开始帧(四十三)
  • MySQL基础练习题22-第二高的薪水
  • C#:通用方法总结—第15集
  • AGI思考探究的意义、价值与乐趣Ⅳ
  • 36k Star的开源大模型应用开发平台,太强了!
  • avalon2.2的VM生成过程
  • axios 和 cookie 的那些事
  • C++入门教程(10):for 语句
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • linux学习笔记
  • MySQL数据库运维之数据恢复
  • SpingCloudBus整合RabbitMQ
  • 第十八天-企业应用架构模式-基本模式
  • 分布式事物理论与实践
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 使用parted解决大于2T的磁盘分区
  • 一起参Ember.js讨论、问答社区。
  • kubernetes资源对象--ingress
  • RDS-Mysql 物理备份恢复到本地数据库上
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • ​力扣解法汇总946-验证栈序列
  • !!Dom4j 学习笔记
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #1014 : Trie树
  • $.ajax中的eval及dataType
  • (+4)2.2UML建模图
  • (33)STM32——485实验笔记
  • (bean配置类的注解开发)学习Spring的第十三天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (java)关于Thread的挂起和恢复
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (黑马点评)二、短信登录功能实现
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (五)c52学习之旅-静态数码管
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)