• Prometheus 采集Mysql监控数据


    前言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<
    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<
    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 

  • 相关阅读:
    Android Dialog相关设置
    【图论】判环问题
    智能制造中后期:深挖成本、提升效率的关键——标准工时
    中集集团全球港航人工智能独角兽中集飞瞳,全球最先进港航人工智能AI核心技术及工业级产品,新一代人工智能港口智能化船公司智能化方案
    09【C语言 & 趣味算法】再识:折半查找(二分查找):基本思想、程序流程图及完整代码、附:顺序查找
    MAC下downie下载网页视频报错“转换错误”解决方案
    RabbitMQ 几种模式
    家用洗地机什么牌子最好用?2023年洗地机排行榜
    深度学习(PyTorch)——卷积神经网络(CNN)基础篇
    Docker-Windows安装使用
  • 原文地址:https://blog.csdn.net/hanzheng260561728/article/details/127916822