菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow prometheusbreadcrumb arrow prometheus.exporter.mysql
开源

prometheus.exporter.mysql

prometheus.exporter.mysql 组件嵌入 mysqld_exporter 用于从 MySQL 服务器收集统计信息。

用法

alloy
prometheus.exporter.mysql "LABEL" {
    data_source_name = DATA_SOURCE_NAME
}

参数

以下参数可用于配置导出器的行为。所有参数都是可选的。省略的字段将使用其默认值。

名称类型描述默认值必需
data_source_namesecret数据源名称 用于连接到 MySQL 服务器。
enable_collectorslist(string)除了默认集之外要启用的 收集器 列表。
disable_collectorslist(string)要从默认集中禁用的 收集器 列表。
set_collectorslist(string)要运行的 收集器 列表。完全覆盖默认集。
lock_wait_timeoutint获取元数据锁的超时时间(以秒为单位)。2
log_slow_filterbool用于避免将抓取查询记录到慢查询日志中。

在连接上设置 lock_wait_timeout 以避免元数据锁的潜在长时间等待时间。查看有关 lock_wait_timeout 的更详细文档 在 MySQL 文档中

注意: log_slow_filter 不受 Oracle MySQL 支持。

以下块在 prometheus.exporter.mysql 的定义中受支持,以配置特定于收集器的选项

层次结构名称描述必需
info_schema.processlistinfo_schema.processlist配置 info_schema.processlist 收集器。
info_schema.tablesinfo_schema.tables配置 info_schema.tables 收集器。
perf_schema.eventsstatementsperf_schema.eventsstatements配置 perf_schema.eventsstatements 收集器。
perf_schema.file_instancesperf_schema.file_instances配置 perf_schema.file_instances 收集器。
perf_schema.memory_eventsperf_schema.memory_events配置 perf_schema.memory_events 收集器。
heartbeatheartbeat配置 heartbeat 收集器。
mysql.usermysql.user配置 mysql.user 收集器。

info_schema.processlist 块

名称类型描述默认值必需
min_timeint线程必须处于每个状态的最小时间,才能被计算在内。0
processes_by_userbool启用按用户收集进程数。
processes_by_hostbool启用按主机收集进程数。

info_schema.tables 块

名称类型描述默认值必需
info_schema_tables_databasesstring正则表达式,用于匹配要为其收集表统计信息的数据库。"*"

perf_schema.eventsstatements 块

名称类型描述默认值必需
limitint限制事件语句摘要的数量(按 last_seen 降序排序)。250
time_limitint限制 last_seen 事件语句可以有多旧(以秒为单位)。86400
text_limitint规范化语句文本的最大长度。120

perf_schema.file_instances 块

名称类型描述默认值必需
filterstring正则表达式,用于选择 performance_schema.file_summary_by_instance 中的行。".*"
remove_prefixstring要从 file_name 中修剪掉的 前缀。"/var/lib/mysql"

查看有关在 perf_schema_file_instances_filterperf_schema_file_instances_remove_prefix 中使用的表的更详细文档 在 MySQL 文档中

perf_schema.memory_events 块

名称类型描述默认值必需
remove_prefixstring要从 performance_schema.memory_summary_global_by_event_name 中修剪掉的 前缀。"memory/"

heartbeat 块

名称类型描述默认值必需
databasestring要从其收集心跳数据的数据库。"heartbeat"
tablestring要从其收集心跳数据的表。"heartbeat"
utcbool对当前服务器的时间戳使用 UTC(pt-heartbeat--utc 方式调用)。

mysql.user 块

名称类型描述默认值必需
privilegesbool启用从 mysql.user 收集用户权限。

支持的收集器

支持的收集器完整列表是

名称描述默认启用
auto_increment.columnsinformation_schema 收集 auto_increment 列和最大值。
binlog_size收集所有已注册 binlog 文件的当前大小。
engine_innodb_statusSHOW ENGINE INNODB STATUS 收集指标。
engine_tokudb_statusSHOW ENGINE TOKUDB STATUS 收集指标。
global_statusSHOW GLOBAL STATUS 收集指标。
global_variablesSHOW GLOBAL VARIABLES 收集指标。
heartbeat从心跳数据库和表中收集指标。
info_schema.clientstats如果以 userstat=1 运行,则启用以收集客户端统计信息。
info_schema.innodb_cmpmeminformation_schema.innodb_cmpmem 收集指标。
info_schema.innodb_metricsinformation_schema.innodb_metrics 收集指标。
info_schema.innodb_tablespacesinformation_schema.innodb_sys_tablespaces 收集指标。
info_schema.processlistinformation_schema.processlist 收集当前线程状态计数。
info_schema.query_response_time如果 query_response_time_stats 为 ON,则收集查询响应时间分布。
info_schema.replica_hostinformation_schema.replica_host_status 收集指标。
info_schema.schemastats如果以 userstat=1 运行,则启用以收集模式统计信息。
info_schema.tablesinformation_schema.tables 收集指标。
info_schema.tablestats如果以 userstat=1 运行,则启用以收集表统计信息。
info_schema.userstats如果以 userstat=1 运行,则启用以收集用户统计信息。
mysql.usermysql.user 收集数据。
perf_schema.eventsstatementsperformance_schema.events_statements_summary_by_digest 收集指标。
perf_schema.eventsstatementssumperformance_schema.events_statements_summary_by_digest 收集总体指标。
perf_schema.eventswaitsperformance_schema.events_waits_summary_global_by_event_name 收集指标。
perf_schema.file_eventsperformance_schema.file_summary_by_event_name 收集指标。
perf_schema.file_instancesperformance_schema.file_summary_by_instance 收集指标。
perf_schema.indexiowaitsperformance_schema.table_io_waits_summary_by_index_usage 收集指标。
perf_schema.memory_eventsperformance_schema.memory_summary_global_by_event_name 收集指标。
perf_schema.replication_applier_status_by_workerperformance_schema.replication_applier_status_by_worker 收集指标。
perf_schema.replication_group_member_statsperformance_schema.replication_group_member_stats 收集指标。
perf_schema.replication_group_membersperformance_schema.replication_group_members 收集指标。
perf_schema.tableiowaitsperformance_schema.table_io_waits_summary_by_table 收集指标。
perf_schema.tablelocksperformance_schema.table_lock_waits_summary_by_table 收集指标。
slave_hostsSHOW SLAVE HOSTS 抓取信息。
slave_statusSHOW SLAVE STATUS 抓取信息。

导出字段

以下字段将被导出,并且可以被其他组件引用。

名称类型描述
targetslist(map(string))可用于收集导出器指标的目标。

例如,targets 可以传递给 discovery.relabel 组件以重写目标的标签集,也可以传递给收集公开指标的 prometheus.scrape 组件。

导出的目标使用 run 命令指定的配置的 内存中流量 地址。

组件健康状况

只有在给出无效配置时,prometheus.exporter.mysql 才会报告为不健康。在这种情况下,导出字段会保留其最后一次健康的值。

调试信息

prometheus.exporter.mysql 不公开任何特定于组件的调试信息。

调试指标

prometheus.exporter.mysql 不公开任何特定于组件的调试指标。

示例

此示例使用 prometheus.scrape 组件prometheus.exporter.mysql 收集指标

alloy
prometheus.exporter.mysql "example" {
  data_source_name  = "root@(server-a:3306)/"
  enable_collectors = ["heartbeat", "mysql.user"]
}

// Configure a prometheus.scrape component to collect mysql metrics.
prometheus.scrape "demo" {
  targets    = prometheus.exporter.mysql.example.targets
  forward_to = [prometheus.remote_write.demo.receiver]
}

prometheus.remote_write "demo" {
  endpoint {
    url = PROMETHEUS_REMOTE_WRITE_URL

    basic_auth {
      username = USERNAME
      password = PASSWORD
    }
  }
}

替换以下内容

  • PROMETHEUS_REMOTE_WRITE_URL: 要将指标发送到的 Prometheus remote_write 兼容服务器的 URL。
  • USERNAME: 用于对 remote_write API 进行身份验证的用户名。
  • PASSWORD: 用于对 remote_write API 进行身份验证的密码。

兼容组件

prometheus.exporter.mysql 有可以被以下组件使用的导出内容

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参考链接文档。