Prometheus 5-Rocky Linux 9用Prometheus 3.12.0 + Alertmanager 0.33.0 邮件告警(Mysql)

发布时间:2026/7/3 7:35:44

Prometheus 5-Rocky Linux 9用Prometheus 3.12.0 + Alertmanager 0.33.0 邮件告警(Mysql) 一、MySQL 授权MySQL)mysql-uroot-psqlCREATEUSERIF NOT EXISTSexporterlocalhostIDENTIFIED BYExporter123!WITH MAX_USER_CONNECTIONS3;GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TOexporterlocalhost;FLUSH PRIVILEGES;二、mysqld_exporter 配置sudomkdir-p/etc/mysqld_exportersudotee/etc/mysqld_exporter/.my.cnf/dev/nullEOF [client] userexporter passwordExporter123! hostlocalhost port3306 EOFsudouseradd--no-create-home--shell/bin/false mysqld_exportersudochown-Rmysqld_exporter:mysqld_exporter /etc/mysqld_exportersudochmod600/etc/mysqld_exporter/.my.cnf三、安装 mysqld_exportecd/tmpwgethttps://github.com/prometheus/mysqld_exporter/releases/download/v0.19.0/mysqld_exporter-0.19.0.linux-amd64.tar.gztar-xvfmysqld_exporter-0.19.0.linux-amd64.tar.gzsudomvmysqld_exporter-0.19.0.linux-amd64/mysqld_exporter /usr/local/bin/sudochownmysqld_exporter:mysqld_exporter /usr/local/bin/mysqld_exporter四、systemd 服务sudotee/etc/systemd/system/mysqld_exporter.service/dev/nullEOF [Unit] DescriptionMySQL Exporter Afternetwork.target mysqld.service [Service] Usermysqld_exporter ExecStart/usr/local/bin/mysqld_exporter \ --config.my-cnf/etc/mysqld_exporter/.my.cnf \ --web.listen-address:9104 Restartalways [Install] WantedBymulti-user.target EOFsudosystemctl daemon-reloadsudosystemctlenable--nowmysqld_exportersudosystemctl status mysqld_exporter✅ 验证curlhttp://localhost:9104/metrics|grepmysql_up]# curl http://localhost:9104/metrics | grep mysql_up% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100175k0175k0013.2M0--:--:-- --:--:-- --:--:--14.3M# HELP mysql_up Whether the MySQL server is up.# TYPE mysql_up gaugemysql_up1五、Prometheus 加入 MySQL 采集追加到 scrape_configs末尾vim/etc/prometheus/prometheus.yml# MySQL 监控- job_name:mysqlstatic_configs: - targets:[localhost:9104]六、MySQL 告警规则追加到现有 rules 后面sudovim/etc/prometheus/rules/alert.yml# MySQL 监控告警- name: mysql rules: - alert: MySQLDown expr: mysql_up0for: 1m labels: severity: critical annotations: summary:MySQL 服务不可用description:MySQL 实例 {{$labels.instance }} 已宕机- alert: MySQLConnectionsHigh expr: mysql_global_status_threads_connected / mysql_global_variables_max_connections *10080for: 3m labels: severity: warning annotations: summary:MySQL 连接数过高description:MySQL {{$labels.instance }} 连接数占比超过 80%当前值{{$value}}%- alert: MySQLSlowQueries expr: rate(mysql_global_status_slow_queries[5m])0for: 3m labels: severity: warning annotations: summary:MySQL 存在慢查询description:MySQL {{$labels.instance }} 慢查询速率{{$value}}七、检查并重启promtool check config /etc/prometheus/prometheus.ymlsudosystemctl restart prometheus八、验证 MySQL 监控浏览器访问纯文本纯文本http://服务器IP:9090 → Status → Targets

相关新闻