MySQL服务器出口国
在这个页面:
介绍
下面的快速入门提供设置说明和预配置的仪表板,报警规则,MySQL和记录规则出口国。贯穿在这个快速入门的步骤之后,您将:
设置和配置MySQL出口国收集MySQL度量每秒查询(每秒)和InnoDB缓冲池大小。MySQL出口国将公开这些Prometheus-style指标。
普罗米修斯刮MySQL出口国配置指标和可选船Grafana云。
建立了一个预配置和策划组记录规则缓存频繁查询。
进口Grafana仪表板可视化你的度量数据。
建立普罗米修斯报警规则提醒在你的度量数据。
指标使用
这出口国发布约1000普罗米修斯默认时间序列。看到一个度量列表默认发货出口国,请下载样本指标刮伤在这里。
注意,取决于它的配置,MySQL出口国可能收集和发布指标远远超过这个默认设置。了解更多关于配置MySQL出口国和切换其收藏家,请参阅MySQL出口国GitHub库。
超出了MySQL出口国切换的设置,您可以减少下降时间序列指标使用你不需要存储在普罗米修斯或者Grafana云。学习如何做到这一点,请参阅减少普罗米修斯指标和重新使用从Grafana云文档。
Grafana云的Linux节点集成
如果你使用Grafana云,您可以跳过本指南的所有步骤中通过安装MySQL集成,其目的是帮助你获得启动并运行命令和点击。免费注册。
学习如何获得MySQL使用MySQL集成指标,请参阅MySQL集成从Grafana云文档。
在这个页面:
MySQL出口国快速入门
在本指南您将了解如何设置和配置MySQL服务器出口国收集MySQL度量每秒查询(每秒)和InnoDB缓冲池大小,和公开Prometheus-style指标。您将配置普罗米修斯刮MySQL指标和可选船Grafana云。最后,您将建立一个预配置和策划组记录规则,Grafana指示板,报警规则。本指南的末尾你仪表板,您可以使用可视化您的MySQL服务器指标,和预配置警报。
如果您正在使用Grafana云,MySQL集成可以帮助你迅速启动并运行。MySQL集成嵌入到MySQL出口国Grafana云代理并自动报警规则规定和指示板,所以你不需要贯穿本指南中的步骤。学习如何设置节点出口国使用MySQL集成,请参阅MySQL集成从Grafana云文档。
先决条件
在你开始之前,你应该有以下可用:
- 机器兼容一个MySQL服务器出口国。可用版本的列表,请参阅释放。
- MySQL运行在您的机器上。想要了解更多关于安装和运行MySQL,请查看MySQL安装指南。
- 普罗米修斯在您的环境中或直接在机器上运行。学习如何安装普罗米修斯,请参阅安装从普罗米修斯文档。
- Grafana运行在您的环境中或直接在机器上。学习如何安装Grafana,请参阅安装Grafana从Grafana文档。
- (可选)Grafana云账户。Grafana云主机Grafana和皮质端点的普罗米修斯指标。你仍然需要刮指标,使用普罗米修斯在您的环境中安装,或Grafana云代理。了解更多关于Grafana云,请参阅Grafana云。
步骤1:设置MySQL服务器出口国
在此步骤中,我们将设置MySQL服务器出口国在您的机器上收集和公开MySQL普罗米修斯格式的指标。本指南使用一个MySQL 8.0.23 Ubuntu 20.04系统。步骤可能稍有不同,这取决于您的操作系统和MySQL版本。
首先,登录到您的机器和下载二进制有关MySQL出口国。本指南使用linux-amd64
二进制但是你应该选择一个对应于系统的操作系统和架构:
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
取代v0.12.1.linux-amd64
你想安装的版本。本指南可能变得陈旧所以最好检查MySQL出口国释放页面最新的稳定版本。
解压缩tarball,cd
目录:
焦油xvfz mysqld_exporter - * * -amd64.tar。广州cd mysqld_exporter - * . * amd64
运行MySQL出口国之前,您首先需要创建MySQL用户,它将使用数据库获取指标。登录到你的MySQL数据库,运行以下命令作为用户管理权限:
创建用户“出口国”@“localhost”被“enter_password_here”MAX_USER_CONNECTIONS 3;
查询好,0行影响(0.03秒)
注意:建议设置一个最大出口国的连接限制用户以避免服务器超载监测负载较重的情况下。这是所有MySQL / MariaDB版本不支持;例如,MariaDB 10.1(提供Ubuntu 18.04)做不支持这个功能。
接下来,这个新用户相应的权限授予获取数据库指标:
格兰特的过程,复制客户端,选择在*。*“出口国”@“localhost”;
查询好,0行影响(0.02秒)
现在您已经创建了出口国MySQL用户,您已经准备好测试出口国。
设置以下环境变量:
出口DATA_SOURCE_NAME = '出口国:enter_password_here@ (mysql_hostname: 3306) / '
一定要更换出口国
与用户上面创建的,enter_password_here
您定义的密码,mysql_hostname
MySQL实例的主机名(本地主机
如果你在同一台机器上)。
最后,运行出口国:
。/ mysqld_exporter
信息[0000]开始mysqld_exporter (version = 0.12.1分支=,= 48667 bf7c3b438b5e93b259f3d17b70a7c9aff96)修订来源= " mysqld_exporter。:257年“信息[0000]建立上下文(去= go1.12.7、用户= root@0b3e56a7bc0a日期= 20190729 - 12:35:58)源= " mysqld_exporter。:258”信息[0000]使刮刀:源= " mysqld_exporter。:269年“信息[0000]——收集。=“mysqld_exporter slave_status来源。:273年“信息[0000]——收集。=“mysqld_exporter global_status来源。:273年“信息[0000]——收集。=“mysqld_exporter global_variables来源。:273年“信息[0000]——收集。info_schema.query_response_time source="mysqld_exporter.go:273" INFO[0000] --collect.info_schema.innodb_cmp source="mysqld_exporter.go:273" INFO[0000] --collect.info_schema.innodb_cmpmem source="mysqld_exporter.go:273" INFO[0000] Listening on :9104 source="mysqld_exporter.go:283"
如果你看到上面的输出,你成功地运行MySQL服务器出口国。
MySQL出口国发布MySQL指标普罗米修斯格式在端口9104年
。你可以测试使用旋度
。你需要打开一个新的SSH会话或背景过程使用MySQL出口国旋度
。
curl http://localhost: 9104 /指标
。process_resident_memory_bytes 1.2079104 e + 07 #帮助process_start_time_seconds过程的开始时间从unix纪元在几秒钟内。#式process_start_time_seconds计process_start_time_seconds 1.61377616023 e + 09年#帮助process_virtual_memory_bytes虚拟内存大小的字节。#式process_virtual_memory_bytes计process_virtual_memory_bytes 1.16355072 e + 08 #帮助process_virtual_memory_max_bytes最大虚拟内存中可用的字节。#式process_virtual_memory_max_bytes计process_virtual_memory_max_bytes 1 #帮助promhttp_metric_handler_requests_in_flight当前的窘境。#式promhttp_metric_handler_requests_in_flight计promhttp_metric_handler_requests_in_flight 1 #帮助promhttp_metric_handler_requests_total总数擦伤的HTTP状态代码。#类型promhttp_metric_handler_requests_total计数器promhttp_metric_handler_requests_total{代码= " 200 "}1 promhttp_metric_handler_requests_total代码= " 500 "}{0 promhttp_metric_handler_requests_total代码= " 503 "}{0
如果你看到上面的输出中,您已经准备好开始使用普罗米修斯刮MySQL指标。
为了避免从命令行运行和管理MySQL出口国,您可以创建一个systemd
服务。学习如何做到这一点,请参阅创建一个systemd服务管理代理。代理二进制的路径替换为MySQL出口国之路。
您可以使用一个my.cnf
文件设置用户名和密码将使用MySQL出口国。此外,出口商提供了许多旗帜配置指标刮和发布他们的地方。更多地了解这些特性,请参阅MySQL出口国GitHub库。
第二步:刮MySQL使用普罗米修斯出口国
现在MySQL出口国已经启动并运行在您的机器上,您可以配置一个普罗米修斯刮工作度量收集和存储MySQL出口国。
添加以下刮工作配置scrape_configs
你的节prometheus.yml
配置文件:
- job_name: mysql static_configs:目标:[' mysql_exporter_machine_IP_address: 9104 ']
取代mysql_exporter_machine_IP_address
与机器的IP地址运行MySQL出口国。如果你是普罗米修斯在同一台机器上运行,这将是本地主机
。了解更多关于配置普罗米修斯,请参阅配置从普罗米修斯文档。
如果你没有一个prometheus.yml
配置文件,创建一个简单的一个使用您喜欢的文本编辑器。打开你喜欢的文本编辑器和粘贴在下面普罗米修斯配置:
全球:scrape_interval: 15秒scrape_configs: job_name: mysql static_configs: -目标:(' mysql_exporter_machine_IP_address: 9104)
这个配置告诉普罗米修斯刮所有工作每15秒。唯一刮配置工作mysql
和定义了一个mysql_exporter_machine_IP_address: 9104
目标。默认情况下,普罗米修斯将刮/指标
使用HTTP端点。
保存并关闭该文件。然后您可以使用下面的命令运行普罗米修斯的文件:
/ prometheus.yml /普罗米修斯——config.file =
航运指标Grafana云
船MySQL出口国指标从普罗米修斯Grafana云,配置remote_write
参数在你prometheus.yml
配置文件。要了解更多,请参阅度量——普罗米修斯从Grafana云文档。学习更多有关remote_write
参数,请参阅remote_write
从普罗米修斯文档。
步骤3:配置记录规则
经常使用记录的规则,你可以预计算和缓存查询指标。例如,如果一个像一个仪表盘使用计算密集型查询率()
,您可以创建一个记录规则定期降低运行和保存密集型查询的结果在一个新的时间序列。这避免了提取和计算数据每次仪表板被刷新。了解更多关于普罗米修斯记录规则,请参阅记录规则从普罗米修斯文档。
你应该加载以下记录规则在装货前仪表板在本指南。仪表板查询和报警规则使用记录规则来减少普罗米修斯或Grafana云度量服务器上的负载,根据你评估规则。
您可以获取记录规则YAML文件在这里。
这段录音规则YAML文件生成使用MySQL出口国mixin。
记录规则加载到普罗米修斯
记录规则加载到普罗米修斯,添加以下prometheus.yml
配置文件:
rule_files:——“mysql_exporter_recording_rules.yml”
一定要更换mysql_exporter_recording_rules.yml
通往你的MySQL出口国YAML文件记录的规则。
记录规则加载到Grafana云
学习如何记录规则加载到Grafana云,请参阅普罗米修斯与cortextool洛基规则。
第四步:配置仪表板
本快速入门包括一个仪表板:MySQL概述。
学习如何导入该仪表板Grafana,请参阅导入一个仪表板从Grafana文档。
仪表板查询依赖于录音前一步中定义的规则。之前一定要导入这些进口仪表板。
你可以卖到仪表板在这里。
第五步:配置警报
普罗米修斯报警规则,您可以定义警报时,火PromQL表达式违反一些阈值或在一段时间内满足指定条件。例如,您可以定义一个HighRequestLatency
火灾警报,当一个请求延迟度量大于某个阈值在一段时间内。一旦触发报警条件,警戒进入等待
状态。满足条件后定义的一段时间为
参数,警报进入发射
状态。您可以配置路由和解雇的通知提醒使用工具Alertmanager。Alertmanager还内置Grafana云。
您可以获取报警规则YAML文件在这里。
报警规则加载到普罗米修斯
报警规则加载到普罗米修斯,添加以下prometheus.yml
配置文件:
rule_files:——“mysql_exporter_alerting_rules.yml”
一定要更换mysql_exporter_alerting_rules.yml
与你的MySQL报警规则YAML文件的路径。
报警规则加载到Grafana云
学习如何报警规则加载到Grafana云,请参阅普罗米修斯与cortextool洛基规则。
结论
在这个快速入门你您的Linux机器上安装和运行MySQL出口国。然后配置普罗米修斯刮数据库和MySQL集群指标暴露于MySQL出口国。你记录和报警规则加载到普罗米修斯,最后导入Grafana仪表板可视化你的MySQL指标。
如果你使用Grafana云,您可以跳过本指南的所有步骤中通过安装MySQL与Grafana云代理的集成。这种集成一个预配置MySQL出口国嵌入剂和自动规定Grafana仪表盘和普罗米修斯报警和记录规则,所以你不必手动导入它们。学习如何设置MySQL集成,请参阅Grafana云集成。
仪表板、记录规则和报警规则生成混合使用MySQL出口国。mixin dasboards可重用模板,记录规则和警报策划和设计的主题专家。要了解更多,请参阅MySQL Mixin存储库。
在这个页面:
你应该加载以下记录规则在装货前仪表板在本指南。仪表板查询使用记录规则来减少普罗米修斯或Grafana云度量服务器上的负载,根据你评估规则。
这快速入门包括以下录音规则:
记录:实例:mysql_slave_lag_seconds
- PromQL:
mysql_slave_status_seconds_behind_master——mysql_slave_status_sql_delay
- PromQL:
实例:mysql_heartbeat_lag_seconds
- PromQL:
mysql_heartbeat_now_timestamp_seconds——mysql_heartbeat_stored_timestamp_seconds
- PromQL:
工作:mysql_transactions: rate5m
- PromQL:
和没有(命令)(率(mysql_global_status_commands_total{命令= ~”(提交|回滚)”}(5米)))
- PromQL:
组:-名称:mysqld_rules规则:- expr: mysql_slave_status_seconds_behind_master - mysql_slave_status_sql_delay记录:实例:mysql_slave_lag_seconds - expr: mysql_heartbeat_now_timestamp_seconds - mysql_heartbeat_stored_timestamp_seconds记录:实例:mysql_heartbeat_lag_seconds - expr:没有(命令)和(率(mysql_global_status_commands_total{命令= ~”(提交|回滚)”}(5米)))记录:工作:mysql_transactions: rate5m
这段录音规则YAML文件生成使用MySQL出口国mixin。
在这个页面:
注意:这些仪表板可能取决于录音规则在前面的选项卡。之前一定要导入这些进口仪表板。
MySQL概述仪表板
这个指示板包含以下指标:面板
- 正常运行时间
- 当前每秒
- InnoDB缓冲池
- MySQL连接
- MySQL客户端线程活动
- MySQL的问题
- MySQL线程缓存
- MySQL临时对象
- MySQL选择类型
- MySQL排序
- MySQL慢速查询
- MySQL连接失败
- MySQL表锁
- MySQL网络流量
- MySQL内存概述
- 上面命令计数器
- MySQL处理程序
- MySQL事务处理程序
- 进程状态
- 顶级进程状态每小时
- MySQL查询缓存内存
- MySQL查询缓存的活动
- MySQL文件开口
- MySQL打开的文件
- MySQL表打开缓存状态
- MySQL公开表
- MySQL表定义缓存
你可以直接导入仪表板使用以下仪表板ID:14057年
。
你可以卖到仪表板JSON在这里。
这个指示板使用MySQL生成出口国mixin。
在这个页面:
本快速入门包括以下报警规则:
MySQLDown
MySQL[工作](实例)不是。
MySQLGaleraNotReady
[工作](实例)是没有准备好。
MySQLGaleraOutOfSync
[工作](实例)是不同步的。
MySQLGaleraDonorFallingBehind
[工作](实例)是一个捐助者(hotbackup)和落后(队列大小(价值))。
MySQLReplicationNotRunning
奴隶复制(IO或SQL)已经超过2分钟。
MySQLReplicationLag
mysql奴隶复制已经落后于,而不是恢复。
MySQLInnoDBLogWaits
innodb日志正在等待磁盘(值)/秒的速度。
# # # # mysqld的示例普罗米修斯规则/警报。# #注意:请仔细检查阈值和行为可能无法满足# SLOs或标签。# # # #组:-名称:MySQLdAlerts规则:-警报:MySQLDown注释:描述:MySQL{{$标签。工作}}在{{$标签。实例}}不起来。摘要:MySQL没有expr: mysql_up ! = 1: 5 m标签:严重性:关键-名称:GaleraAlerts规则:-警报:MySQLGaleraNotReady注释:描述:{{$标签。工作}}在{{$标签。实例}}是没有准备好。总结:Galera集群节点没有准备好expr: mysql_global_status_wsrep_ready ! = 1: 5 m标签:严重性:警告,警告:MySQLGaleraOutOfSync注释:描述:“{{$标签。工作}}在{{$标签。未同步实例}}({{$价值}}! = 4)。“摘要:Galera集群节点的同步expr: (mysql_global_status_wsrep_local_state ! = 4和mysql_global_variables_wsrep_desync = = 0): 5 m标签:严重性:警告,警告:MySQLGaleraDonorFallingBehind注释:描述:“{{$标签。工作}}在{{$标签。实例}}是供体(hotbackup)和落后(队列大小{{$价值}})。总结:xtradb集群捐赠者节点落后expr: (mysql_global_status_wsrep_local_state = = 2和mysql_global_status_wsrep_local_recv_queue > 100): 5 m标签:严重性:警告,警告:MySQLReplicationNotRunning注释:描述:奴隶复制(IO或SQL)已经超过2分钟。 summary: Slave replication is not running expr: mysql_slave_status_slave_io_running == 0 or mysql_slave_status_slave_sql_running == 0 for: 2m labels: severity: critical - alert: MySQLReplicationLag annotations: description: The mysql slave replication has fallen behind and is not recovering summary: MySQL slave replication is lagging expr: (instance:mysql_slave_lag_seconds > 30) and on(instance) (predict_linear(instance:mysql_slave_lag_seconds[5m], 60 * 2) > 0) for: 1m labels: severity: critical - alert: MySQLReplicationLag annotations: description: The mysql slave replication has fallen behind and is not recovering summary: MySQL slave replication is lagging expr: (instance:mysql_heartbeat_lag_seconds > 30) and on(instance) (predict_linear(instance:mysql_heartbeat_lag_seconds[5m], 60 * 2) > 0) for: 1m labels: severity: critical - alert: MySQLInnoDBLogWaits annotations: description: The innodb logs are waiting for disk at a rate of {{$value}} / second summary: MySQL innodb log writes stalling expr: rate(mysql_global_status_innodb_log_waits[15m]) > 10 labels: severity: warning
这个报警规则YAML文件生成使用MySQL出口国mixin。
在这个页面:
Grafana云有一组不断扩大的集成快速得到一个可观测性堆栈在几分钟内启动并运行。MySQL集成内置Grafana云代理,暴露和擦伤必不可少的MySQL指标和推动他们Grafana云。代理将刮指标使用嵌入式MySQL出口国,和Grafana云会自动为可视化提供定制的Grafana仪表板和警报和作用于这个数据。
要了解更多,请查看Grafana云文档。
它是如何工作的
配置、安装、连接和维护普罗米修斯监控组件通常涉及重大的领域知识。可能需要很长一段时间从安装到仪表板和警报。Grafana的创造者——普罗米修斯和核心贡献者和皮层——我们构建简单的集成文摘的一些工作为了迅速开始。它是如何工作的:
- 注册(或登录)免费Grafana云账户。
- 选择目标你想观察(一个不断扩大的目录)。
- 运行一行命令安装Grafana云代理。代理嵌入和preconfigures出口商公开默认度量,并逼迫他们Grafana云指标后端。
- 瞧!你会看到定制Grafana仪表盘和将受益于理智提醒违约。
寻找不同的出口商或集成?看看我们越来越多的图书馆为受欢迎的组件集成像MySQL、Postgres复述,Memcached和更多。