当前位置:   article > 正文

Prometheus 采集Mysql监控数据_prometheus采集mysql的io信息

prometheus采集mysql的io信息

前言mysqld_exporter

mysqld_exporter是一个用于收集MySQL数据库指标的开源软件,它是Prometheus生态系统中的一个组件。mysqld_exporter运行在MySQL服务器上,并通过执行SHOW STATUS和SHOW VARIABLES等MySQL内置命令来获取各种与数据库性能、连接状态、查询执行等相关的指标信息。

mysqld_exporter可以提供大量关于MySQL数据库的指标,例如查询执行情况(如查询次数、响应时间)、连接数、缓存命中率、InnoDB引擎相关的统计信息等。这些指标可以帮助管理员了解MySQL数据库的健康状况和性能瓶颈,并进行监控和优化。

通过将mysqld_exporter与Prometheus结合使用,系统管理员可以定期从mysqld_exporter暴露的HTTP或HTTPS端点获取MySQL数据库的指标数据,并将其存储、分析和可视化。使用Prometheus的查询语言,用户可以构建自定义的监控规则和警报条件,以便在出现问题时及时发出警报并采取适当的措施。

download  mysqld_exporter

mysqld_exporter 一键监控安装脚本

  • host=YOU_IP
  • port=3306
  • user=root
  • password=root
  • 采集端口是9104
  • 安装位置/opt/mysqld_exporter
vim /mysqld_exporter.sh
  1. #!/bin/bash
  2. # -*- coding: utf-8 -*-
  3. # Author: make.han
  4. # Email: CIASM@CIASM
  5. # Date: 2024/01/12
  6. OPT_CATALOGUE=/opt
  7. MYSQLD_EXPORTER_PREFIX=/opt/mysqld_exporter
  8. MYSQLD_EXPORTER_URL=https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
  9. MYSQLD_EXPORTER_GZ=mysqld_exporter-0.15.1.linux-amd64.tar.gz
  10. MYSQLD_EXPORTER_DIRECTORY=mysqld_exporter-0.15.1.linux-amd64
  11. MYSQLD_EXPORTER_NEW=mysqld_exporter
  12. MYSQLD_EXPORTER_PORT=9104
  13. install_mysqld_exporter (){
  14. if [ ! -d ${MYSQLD_EXPORTER_PREFIX} ];then
  15. # selinux stop
  16. setenforce 0
  17. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  18. if [ $? -eq 0 ];then
  19. echo "download mysqld_exporter"
  20. curl -o $OPT_CATALOGUE/$MYSQLD_EXPORTER_GZ $MYSQLD_EXPORTER_URL
  21. echo "download mysqld_exporter"
  22. tar -xf $OPT_CATALOGUE/$MYSQLD_EXPORTER_GZ -C $OPT_CATALOGUE
  23. mv $OPT_CATALOGUE/$MYSQLD_EXPORTER_DIRECTORY $MYSQLD_EXPORTER_PREFIX
  24. echo "config mysqld_exporter"
  25. cat >>$MYSQLD_EXPORTER_PREFIX/.my.cnf<<EOF
  26. [client]
  27. host=192.168.11.98
  28. port=3306
  29. user=root
  30. password=root
  31. EOF
  32. echo "firewall mysqld_exporter port"
  33. firewall-cmd --zone=public --add-port=$MYSQLD_EXPORTER_PORT/tcp --permanent && firewall-cmd --reload
  34. echo "add mysqld_exporter.service"
  35. cat >>/usr/lib/systemd/system/mysqld_exporter.service<<EOF
  36. [Unit]
  37. Description=mysqld_exporter
  38. Documentation=https://prometheus.io/
  39. Wants=network-online.target
  40. After=network-online.target
  41. [Service]
  42. User=root
  43. Group=root
  44. Type=simple
  45. ExecStart=$MYSQLD_EXPORTER_PREFIX/mysqld_exporter --config.my-cnf=$MYSQLD_EXPORTER_PREFIX/.my.cnf
  46. Restart=on-failure
  47. [Install]
  48. WantedBy=multi-user.target
  49. EOF
  50. echo "start mysqld_exporter.service"
  51. systemctl daemon-reload
  52. systemctl enable --now mysqld_exporter
  53. echo -e "\033[32mThe mysqld exporter Install Sussess...\033[0m"
  54. else
  55. echo -e "\033[33mThe mysqld_exporter Install Failed...\033[0m"
  56. exit 1
  57. fi
  58. else
  59. echo -e "\033[31mThe mysqld_exporter Install already...\033[0m"
  60. fi
  61. }
  62. main (){
  63. install_mysqld_exporter
  64. }
  65. main

执行安装

sh /mysqld_exporter.sh

Prometheus 数据采集配置

  1. scrape_configs:
  2. - job_name: 'web'
  3. scrape_interval: 5s
  4. static_configs:
  5. - targets:
  6. - localhost:9090
  7. - job_name: 'mysql-Host-monitoring'
  8. scrape_interval: 5s
  9. static_configs:
  10. - targets:
  11. - 192.168.11.98:9104

Grafana图形展示

Import>12789>Prometheus

Import>17304>Prometheus 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/517395
推荐阅读
相关标签
  

闽ICP备14008679号