【Prometheus】mysqld_exporter安装+常⽤配置参数详解
在Prometheus架构中,exporter是负责收集数据并将信息汇报给Prometheus Server的组件,mysqld_exporter是常⽤的数据库监控⼯具。
⼀、mysqld_exporter的安装
1、mysql库创建相应⽤户并赋权:
create user'exporter'@'%' identified by 'MONty_00';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%' WITH MAX_USER_CONNECTIONS 3;
flush privileges;
2、配置.myf
.myf默认放置在启动⽤户的家⽬录,启动时⽆需指定;也可以随意放置在任意⽬录,在启动时通过 ---cnf={conf_dir}/.myf指定配置⽂件。
.
myf内容
[client]
host=127.0.0.1
port=3306
user=exporter
password=123456
3、启动mysqld_exporter
mysqld_exporter默认监听9104端⼝,启动命令如下:
./mysqld_exporter ---cnf=/opt/mysqld_exporter-0.10.0.linux-amd64/.myf
4、使⽤环境变量运⾏(不推荐)
使⽤环境变量运⾏时⽆需指定配置⽂件。
export DATA_SOURCE_NAME='user:password@(hostname:3306)/'
./mysqld_exporter <flags>
⼆、mysqld_exporter常⽤启动参数
1、如何指定启动参数
1) exporter版本>0.10.0时:
--collect.lumns
--no-collect.lumns
2)exporter版本<=0.10.0时:
-collect.lumns
-collect.lumns=[true|false]
2、通过以下参数控制收集数据
启动参数MySQL
版本
参数含义
collect.lumns 5.1 +从information_schema收集auto_increment列和最⼤值。
collect.binlog_size 5.1+收集所有已注册的Binlog⽂件的当前⼤⼩
collect.global_status 5.1+通过SHOW GLOBAL STATUS 收集数据(默认开启)collect.global_variables
5.1+通过SHOW GLOBAL VARIABLES收集数据(默认开启)
collect.info_schema.clientstats
5.5+
如果被监控的MySQL使⽤userstat = 1运⾏,则此参数需要设置为1以收集
客户端统计信息
collect.info_schema.innodb_metrics 5.6+从information_schema.innodb_metrics收集数据。collect.info_schema.innodb_tablespaces
5.7+从information_schema.innodb_sys_tablespaces收集数据。collect.info_schema.innodb_cmp 5.5+从information_schema.innodb_cmp收集InnoDB压缩表指标。collect.info_schema.innodb_cmpmem
5.5+从information_schema.innodb_cmpmem收集InnoDB缓冲池。
collect.info_schema.processlist 5.1+从information_schema.processlist收集线程状态计数。
collect.info_schema.processlist.min_time 5.1+线程状态停留多长时间会被统计。(默认值:0)
collect.info_schema.query_response_time
5.5+如果query_response_time_stats为ON,则收集查询响应时间。
collect.plica_host 5.6+从plica_host_status收集数据。
collect.info_schema.tables 5.1+从information_schema.tables中收集数据。collect.info_schema.tables.databases
5.1+
收集表统计信息的数据库列表,或*全部为’的数据库
collect.info_schema.tablestats 5.1+
如果被监控的MySQL使⽤userstat = 1运⾏,则设置为true以收集表统计信
息。
collect.info_schema.schemastats 5.1+
如果被监控的MySQL使⽤userstat = 1运⾏,则设置为true以收集架构统计
信息
collect.info_schema.userstats 5.1+
如果被监控的MySQL使⽤userstat = 1运⾏,则设置为true以收集⽤户统计
信息。
collect.perf_schema.eventsstatements 5.6+
打开mysql服务命令从performance_schema.events_statements_summary_by_digest收集
数据。
collect.perf_schema.eventsstatements.digest_text_limit
5.6+规范化语句⽂本的最⼤长度。(默认值:120)collect.perf_schema.eventsstatements.limit 5.6+通过响应时间限制事件语句摘要的数量。(预设值:250)
collect.perf_schema.eventsstatements.timelimit
5.6+
限制“ last_seen”事件语句的年龄(以秒为单位)。(预设值:86400)collect.perf_schema.eventsstatementssum 5.7+
从Performance_schema.events_statements_summary_by_digest汇总
中收集指标。
collect.perf_schema.eventswaits 5.5+从
Performance_schema.events_waits_summary_global_by_event_name
收集指标。
collect.perf_schema.file_events 5.6+从Performance_schema.file_summary_by_event_name收集指标。collect.perf_schema.file_instances
5.5+
从performance_schema.file_summary_by_instance收集指标。collect.perf_schema.indexiowaits 5.6+
从performance_schema.table_io_waits_summary_by_index_usage收
集指标。
collect.perf_schema.tableiowaits 5.6+
从Performance_schema.table_io_waits_summary_by_table收集指标。collect.perf_schema.tablelocks 5.6+
从Performance_schema.table_lock_waits_summary_by_table收集指
标。
collect.plication_group_members 5.7+从plication_group_members收集指标。collect.plication_group_member_stats
5.7 +
从plication_group_member_stats收集指标。collect.plication_applier_status_by_worker 5.7+
从plication_applier_status_by_worker收集指
标。
collect.slave_status 5.1+
从SHOW SLAVE STATUS收集(默认情况下启⽤)
启动参数
MySQL 版本参数含义
collect.slave_hosts
5.1+从SHOW SLAVE HOSTS收集
collect.heartbeat 5.1+从⼼跳中收集。
collect.heartbeat.database 5.1+从中收集⼼跳数据的数据库。(默认值:⼼跳)collect.heartbeat.table
5.1+
从何处收集⼼跳数据的表。(默认值:⼼跳)
启动参数MySQL 版本参数含义
3、通⽤启动参数
Name Description
<-cnf
.myf⽂件的路径。(默认值:~/.myf)log.level
⽇志级别 记录详细程度(默认:信息)
exporter.lock_wait_timeout 在连接上设置lock_wait_timeout以避免长时间的元数据锁定。(默认值:2秒)exporter.log_slow_filter 添加⼀个log_slow_filter以避免刮擦的慢速查询⽇志记录。注意:Oracle MySQL不⽀持。
web.listen-address 监听端⼝ 默认lemetry-path
公开metric的路径 默认/metrics
version
打印版本信息
三、SSL 配置
如果MySQL服务器⽀持SSL,则需要指定⼀个CA信任库来验证服务器的信任链,并为SSL连接的客户端指定SSL密钥对。要将mysqld_exporter配置为使⽤⾃定义CA证书,请将以下内容添加到.myf的配置⽂件中:
ssl -ca=/path/to/ca/file
要指定客户端SSL密钥对,请将以下内容添加到cnf中。
ssl -key=/path/to/ssl/client/key ssl -cert=/path/to/ssl/client/cert
仅在mysql cnf⽂件中⽀持⾃定义SSL配置,如果在环境变量DATA_SOURCE_NAME中设置mysql服务器的数据源名称,则不⽀持⾃定义SSL配置。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论