Grafana + Prometheus + Mysqld_exporter 监控 Mysql
  ECV82r7tq19l 2023年11月05日 22 0

最近研究了对于Mysql的监控,感觉Prometheus还是挺强大的,有各种适配的度量导出工具,Mysqld_exporter也是旗下的一款工具,可以在Prometheus官网下载。本次部署使用docker

首先连接数据库,创建用于监控的账户并赋予权限,这里主要是创建mysql-exporter连接mysql需要的用户,同时并授予相应权限,操作SQL如下:

CREATE USER 'exporter'@'%' IDENTIFIED BY 'exporter';
GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'%';
GRANT SELECT ON performance_schema.* TO 'exporter'@'%';

创建mysqld-exporter的容器

docker run -d -p 9104:9104 --network xxnet --name mysql_exporter -e DATA_SOURCE_NAME="exporter:exporter@(mariadb:3306)/" prom/mysqld-exporter:v0.14.0

创建成功之后可正常访问

Grafana + Prometheus + Mysqld_exporter 监控 Mysql_docker

Grafana + Prometheus + Mysqld_exporter 监控 Mysql_docker_02

Prometheus 配置文件

root@omv:~# cat /etc/prometheus/prometheus.yml
global:

  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.

  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

  # scrape_timeout is set to the global default (10s).



# Alertmanager configuration

alerting:

  alertmanagers:

    - static_configs:

        - targets:

          # - alertmanager:9093



# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.

rule_files:

  # - "first_rules.yml"

  # - "second_rules.yml"



# A scrape configuration containing exactly one endpoint to scrape:

# Here it's Prometheus itself.

scrape_configs:

  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.

  - job_name: "prometheus"



    # metrics_path defaults to '/metrics'

    # scheme defaults to 'http'.



    static_configs:

      - targets: ["localhost:9090"]

# mysql_exporter config

  - job_name: "mysql_metrics"

    metrics_path: '/metrics'

    static_configs:

      - targets: ["mysql_exporter:9104"]
  - job_name: "mysql_metrics2"

    metrics_path: '/metrics'

    static_configs:

      - targets: ["192.168.1.21:32327"]
root@omv:~#

docker 运行prometheus

docker run --name prometheus -d -p 9092:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml --network xxnet prom/prometheus

Prometheus 运行完成后登陆查看

Grafana + Prometheus + Mysqld_exporter 监控 Mysql_mysql_03

然后docker 运行Grafana

docker run -d -p 3000:3000 --name=grafana --network xxnet grafana/grafana

运行成功之后,登陆网页设置数据源

Grafana + Prometheus + Mysqld_exporter 监控 Mysql_mysql_04

设置之后导入mysql的dashboard,效果如下图

Grafana + Prometheus + Mysqld_exporter 监控 Mysql_mysql_05

Grafana + Prometheus + Mysqld_exporter 监控 Mysql_docker_06


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  EjBjm8WvfVM8   2023年12月23日   20   0   0 ImagedockerDockerImage
ECV82r7tq19l