当前位置: 首页 > 科技观察

Prometheus-MySQLl监控

时间:2023-03-15 20:40:01 科技观察

运维监控系统介绍mysqld_exporter是一个获取mysql实例的指标服务。安装mysql授权CREATEUSERexporter@localhostidentifiedby"mima";GRANTPROCESS,REPLICATIONCLIENT,SELECTON*.*TO'exporter'@'localhost'WITHMAX_USER_CONNECTIONS3;flushprivileges;直接通过命令下载即可。wget-t1000-chttps://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gztarzxvfmysqld_exporter-0.12.1.linux-amd64.tar.gz-c/opt/cd/opt/mysqld_exporter-0.12.1.linux-amd64exportDATA_SOURCE_NAME='exporter:mima@(localhost:3306)/'./mysqld_exporter这里以环境变量的形式设置用户名和密码或者配置文件,默认的配置文件是~/.my.cnf,也可以使用参数--config.my-cnf="/opt/mysqld_exporter/.my.cnf"来设置。./mysqld_exporter--config.my-cnf="/opt/mysqld_exporter/.my.cnf"其他参数usage:mysqld_exporter[]Flags:-h,-helpShowcontext-sensitivehelp(alsotry--help-longand--help-man).--exporter.lock_wait_timeout=2Setalock_wait_timeoutontheconnectiontoavoidlongmetadatalocking.--exporter.log_slow_filterAddalog_slow_filtertoavoidslowqueryloggingofscrapes.NOTE:NosupportedbyOracleMySQL.--collect.heartbeat.database="heartbeat"从哪里收集心跳数据的数据库--collect.heartbeat-tocollecttheTable.table="heartcollect.info_schema.processlist.min_time=0最小线程必须在每个状态中被计算--collect.info_schema.processlist.processes_by_userEnablecollectingthenumberofprocessesbyuser--collect.info_schema.processlist.processes_by_hostEnablecollectingthenumberofprocessesbyhost--collect.info_schema.tables.databases="*"Thelistofdatabasestocollecttablestatsfor-or'-collectforall.mysql.user.privilegesEnablecollectinguserprivilegesfrommysql.user--collect.perf_schema.eventsstatements.limit=250Limitthenumberofeventsstatementsdigestsbyresponsetime--collect.perf_schema.eventsstatements.timelimit=86400Limithowoldthe'last_seen'eventsstatementscanbe,inseconds--collect.perf_schema.eventsstatements.digest_text_limit=120Maximumlengthofthenormalizedstatementtext--collect.perf_schema.file_instances.filter=".*"RegExfile_namefilterforperformance_schema.file_summary_by_instance--collect.perf_schema.file_instances.remove_prefix="/var/lib/mysql/"在performance_schema.file_summary_by_instance--web.listen-address=":9104"Addresstolistenonforwebinterfaceandtelemetry.--web.telemetry-path="/metrics"Pathunderwhichtoexposemetrics.--timeout-offset=0.25Offsettosubtractfromtimeoutinseconds.--config.my-cnf="/home/jalright/.my.cnf"Pathto.my.cnffiletoreadMySQLcredentialsfrom.--collect.mysql.userCollectdatafrommysql.user--collect.info_schema.tablesCollectmetricsfrominformation_schema.tables--collect.info_schema.innodb_tablespacesCollectmetricsfrominformation_schema.innodb_sys_tablespaces--collect.info_schema.innodb_metricsCollectmetricsfrominformation_schema.innodb_metrics--collect.global_statusCollectfromSHOWGLOBALSTATUS--collect.global_variablesCollectfromSHOWGLOBALVARIABLES--collect.slave_statusCollectfromSHOWSLAVESTATUS--collect.info_schema.processlistCollectcurrentthreadstatecountsfromtheinformation_schema.processlist--collect.perf_schema.tablelocksCollectmetricsfromperformance_schema.table_lock_waits_summary_by_table--collect.perf_schema.eventsstatementsCollectmetricsfromperformance_schema.events_statements_summary_by_digest--collect.perf_schema.eventsstatementssumCollectmetricsofgrandsumsfromperformance_schema.events_statements_summary_by_digest--collect.perf_schema.eventswaitsCollectmetricsfromperformance_schema.events_waits_summary_global_by_event_name--collect.auto_increment.columnsCollectauto_incrementcolumnsandmaxvaluesfrominformation_schema--collect.binlog_sizeCollectthecurrentsizeofallregisteredbinlogfiles--collect.perf_schema.tableiowaitsCollectmetricsfromperformance_schema.table_io_waits_summary_by_table--collect.perf_schema.indexiowaitsCollectmetricsfromperformance_schema.table_io_waits_summary_by_index_usage--collect.info_schema.userstatsIfrunningwithuserstat=1,settotruetocollectuserstatistics--collect.info_schema.clientstatsIfrunningwithuserstat=1,settotruetocollectclientstatistics--collect.info_schema.tablestatsIfrunningwithuserstat=1,settotruetocollecttablestatistics--collect.info_schema.schemastatsIfrunningwithuserstat=1,settotruetocollectschemastatistics--collect.perf_schema.file_eventsCollectmetricsfromperformance_schema.file_summary_by_event_name--collect.perf_schema.file_instancesCollectmetricsfromperformance_schema.file_summary_by_instance--collect.perf_schema.replication_group_member_statsCollectmetricsfromperformance_schema.replication_group_member_stats--collect.perf_schema.replication_applier_status_by_workerCollectmetricsfromperformance_schema.replication_applier_status_by_worker--collect.engine_innodb_statusCollectfromSHOWENGINEINNODBSTATUS--collect.heartbeatCollectfromheartbeat--collect.slave_hostsScrapeinformationfrom'SHOWSLAVEHOSTS'--collect.info_schema.innodb_cmpCollectmetricsfrominformation_schema.innodb_cmp--collect.info_schema.innodb_cmpmemCollectmetricsfrominformation_schema.innodb_cmpmem--collect.info_schema.query_response_timeCollectqueryresponsetimedistributionifquery_response_time_statsisON.--collect.engine_tokudb_statusCollectfromSHOWENGINETOKUDBSTATUS--log.level="info"Onlylogmessageswiththegivenseverityorabove.Validlevels:[debug,info,warn,error,fatal]--log.target.stderformat="logger.target.stderformat="logger"示例:“logger:syslog?appname=bob&local=7”t;或“logger:stdout?json=true”--versionShowapplicationversion。部署服务直接注册为systemd服务```bash#!/bin/bashVERSION="0.12.1"wget-t100-chttps://github.com/prometheus/mysqld_exporter/releases/download/v${VERSION}/mysqld_exporter-${VERSION}.linux-amd64.tar.gzif[!-emysqld_exporter-${VERSION}.linux-amd64.tar.gz]thenecho"安装包下载失败"exit1fitarxvfzmysqld_exporter-${VERSION}.linux-amd64.tar.gz-C/opt/cd/optln-smysqld_exporter-${VERSION}.linux-amd64mysqld_exportercat>/etc/systemd/system/mysqld_exporter.service<