gpt4 book ai didi

运维监控系统之Prometheus-MySQL监控

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章运维监控系统之Prometheus-MySQL监控由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

 简介 。

mysqld_exporter是用于获取mysql实例的指标服务.

运维监控系统之Prometheus-MySQL监控

安装 。

运维监控系统之Prometheus-MySQL监控

mysql授权 。

CREATE USER exporter@localhost identified by "mima";  。

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost' WITH MAX_USER_CONNECTIONS 3;  。

flush privileges;  。

直接通过命令下载就可以了.

wget -t 1000 -c https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz  。

tar zxvf  mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /opt/  。

cd /opt/mysqld_exporter-0.12.1.linux-amd64  。

export DATA_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>]  。

  。

Flags:  。

  -h, --help                   Show context-sensitive help (also try --help-long and --help-man).  。

      --exporter.lock_wait_timeout=2    。

                               Set a lock_wait_timeout on the connection to avoid long metadata locking.  。

      --exporter.log_slow_filter    。

                               Add a log_slow_filter to avoid slow query logging of scrapes. NOTE: Not supported by Oracle MySQL.  。

      --collect.heartbeat.database="heartbeat"    。

                               Database from where to collect heartbeat data  。

      --collect.heartbeat.table="heartbeat"    。

                               Table from where to collect heartbeat data  。

      --collect.info_schema.processlist.min_time=0    。

                               Minimum time a thread must be in each state to be counted  。

      --collect.info_schema.processlist.processes_by_user    。

                               Enable collecting the number of processes by user  。

      --collect.info_schema.processlist.processes_by_host    。

                               Enable collecting the number of processes by host  。

      --collect.info_schema.tables.databases="*"    。

                               The list of databases to collect table stats for, or '*' for all  。

      --collect.mysql.user.privileges    。

                               Enable collecting user privileges from mysql.user  。

      --collect.perf_schema.eventsstatements.limit=250    。

                               Limit the number of events statements digests by response time  。

      --collect.perf_schema.eventsstatements.timelimit=86400    。

                               Limit how old the 'last_seen' events statements can be, in seconds  。

      --collect.perf_schema.eventsstatements.digest_text_limit=120    。

                               Maximum length of the normalized statement text  。

      --collect.perf_schema.file_instances.filter=".*"    。

                               RegEx file_name filter for performance_schema.file_summary_by_instance  。

      --collect.perf_schema.file_instances.remove_prefix="/var/lib/mysql/"    。

                               Remove path prefix in performance_schema.file_summary_by_instance  。

      --web.listen-address=":9104"    。

                               Address to listen on for web interface and telemetry.  。

      --web.telemetry-path="/metrics"    。

                               Path under which to expose metrics.  。

      --timeout-offset=0.25    Offset to subtract from timeout in seconds.  。

      --config.my-cnf="/home/jalright/.my.cnf"    。

                               Path to .my.cnf file to read MySQL credentials from.  。

      --collect.mysql.user     Collect data from mysql.user  。

      --collect.info_schema.tables    。

                               Collect metrics from information_schema.tables  。

      --collect.info_schema.innodb_tablespaces    。

                               Collect metrics from information_schema.innodb_sys_tablespaces  。

      --collect.info_schema.innodb_metrics    。

                               Collect metrics from information_schema.innodb_metrics  。

      --collect.global_status  Collect from SHOW GLOBAL STATUS  。

      --collect.global_variables    。

                               Collect from SHOW GLOBAL VARIABLES  。

      --collect.slave_status   Collect from SHOW SLAVE STATUS  。

      --collect.info_schema.processlist    。

                               Collect current thread state counts from the information_schema.processlist  。

      --collect.perf_schema.tablelocks    。

                               Collect metrics from performance_schema.table_lock_waits_summary_by_table  。

      --collect.perf_schema.eventsstatements    。

                               Collect metrics from performance_schema.events_statements_summary_by_digest  。

      --collect.perf_schema.eventsstatementssum    。

                               Collect metrics of grand sums from performance_schema.events_statements_summary_by_digest  。

      --collect.perf_schema.eventswaits    。

                               Collect metrics from performance_schema.events_waits_summary_global_by_event_name  。

      --collect.auto_increment.columns    。

                               Collect auto_increment columns and max values from information_schema  。

      --collect.binlog_size    Collect the current size of all registered binlog files  。

      --collect.perf_schema.tableiowaits    。

                               Collect metrics from performance_schema.table_io_waits_summary_by_table  。

      --collect.perf_schema.indexiowaits    。

                               Collect metrics from performance_schema.table_io_waits_summary_by_index_usage  。

      --collect.info_schema.userstats    。

                               If running with userstat=1, set to true to collect user statistics  。

      --collect.info_schema.clientstats    。

                               If running with userstat=1, set to true to collect client statistics  。

      --collect.info_schema.tablestats    。

                               If running with userstat=1, set to true to collect table statistics  。

      --collect.info_schema.schemastats    。

                               If running with userstat=1, set to true to collect schema statistics  。

      --collect.perf_schema.file_events    。

                               Collect metrics from performance_schema.file_summary_by_event_name  。

      --collect.perf_schema.file_instances    。

                               Collect metrics from performance_schema.file_summary_by_instance  。

      --collect.perf_schema.replication_group_member_stats    。

                               Collect metrics from performance_schema.replication_group_member_stats  。

      --collect.perf_schema.replication_applier_status_by_worker    。

                               Collect metrics from performance_schema.replication_applier_status_by_worker  。

      --collect.engine_innodb_status    。

                               Collect from SHOW ENGINE INNODB STATUS  。

      --collect.heartbeat      Collect from heartbeat  。

      --collect.slave_hosts    Scrape information from 'SHOW SLAVE HOSTS'  。

      --collect.info_schema.innodb_cmp    。

                               Collect metrics from information_schema.innodb_cmp  。

      --collect.info_schema.innodb_cmpmem    。

                               Collect metrics from information_schema.innodb_cmpmem  。

      --collect.info_schema.query_response_time    。

                               Collect query response time distribution if query_response_time_stats is ON.  。

      --collect.engine_tokudb_status    。

                               Collect from SHOW ENGINE TOKUDB STATUS  。

      --log.level="info"       Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]  。

      --log.format="logger:stderr"    。

                               Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"  。

      --version                Show application version.  。

部署服务 。

直接注册成systemd服务.

```bash  。

#!/bin/bash  。

  。

VERSION="0.12.1"  。

  。

wget  -t 100  -c  https://github.com/prometheus/mysqld_exporter/releases/download/v${VERSION}/mysqld_exporter-${VERSION}.linux-amd64.tar.gz  。

  。

if [ ! -e mysqld_exporter-${VERSION}.linux-amd64.tar.gz ]  。

then  。

    echo "安装包下载失败"  。

    exit 1  。

fi  。

tar xvfz mysqld_exporter-${VERSION}.linux-amd64.tar.gz -C /opt/  。

cd /opt  。

ln -s mysqld_exporter-${VERSION}.linux-amd64  mysqld_exporter  。

cat > /etc/systemd/system/mysqld_exporter.service <<EOF  。

  。

[Unit]  。

Description=mysqld_exporter  。

After=network.target  。

  。

[Service]  。

Type=simple  。

WorkingDirectory=/opt/mysqld_exporter  。

ExecStart=/opt/mysqld_exporter/mysqld_exporter --config.my-cnf="/opt/mysqld_exporter/.my.cnf"  。

LimitNOFILE=65536  。

PrivateTmp=true  。

RestartSec=2  。

StartLimitInterval=0  。

Restart=always  。

  。

[Install]  。

WantedBy=multi-user.target  。

EOF  。

​```  。

systemctl daemon-reload  。

systemctl enable mysqld_exporter  。

systemctl start mysqld_exporter  。

 配置prometheus Job 。

默认端口是9104 。

- job_name: 'mysqld_exporter'  。

  。

  # metrics_path defaults to '/metrics'  。

  # scheme defaults to 'http'.  。

  。

  static_configs:  。

  - targets: ['localhost:9104']  。

指标展示 。

指标可以通过prometheus的WebUI进行查看 。

http://[promethe server ip]:9090  。

如果需要画图,可以直接使用grafana,有人已经配置好了图形可以通过grafana官方下的dashboard找到mysqld_exporter相关的dashboard就可以直接使用了,配置好prometheus数据源,直接导入grafana就可以直接展示了.

运维监控系统之Prometheus-MySQL监控

原文地址:https://www.toutiao.com/i6911310105698943491/ 。

最后此篇关于运维监控系统之Prometheus-MySQL监控的文章就讲到这里了,如果你想了解更多关于运维监控系统之Prometheus-MySQL监控的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com