当前位置:首页 > 修改聊天记录 > 正文内容

还在手动配 mysql_exporter?

网页编辑4个月前 (04-27)修改聊天记录224

别再手动一步步敲了,太容易错、效率还低。下面给你一套**一键部署 + 多实例管理 + 自动发现**的成熟方案,直接能用。 --- ## 一、手动配有多痛苦(你肯定遇到过) - 每台机器:下载 → 写 `.my.cnf` → 写 systemd → 改 Prometheus → 重启 → 验证,**30 分钟/台** - 密码一改,所有机器都要改,**改错一个就崩** - 多实例要开多个端口、多个配置,**管理混乱** - 权限、`performance_schema`、collector 开关,**漏一个就没指标** --- ## 二、最佳实践:用脚本一键部署(1 分钟/台) ### 1)一键脚本(可直接用) ```bash #!/bin/bash set -euo pipefail VERSION="0.16.0" LISTEN_ADDR="0.0.0.0:9104" MYSQL_HOST="$1" MYSQL_USER="$2" MYSQL_PASS="$3" if [ $# -ne 3 ]; then  echo "用法: $0 <mysql-host> <user> <pass>"  exit 1 fi # 1. 安装二进制 wget https://github.com/prometheus/mysqld_exporter/releases/download/v${VERSION}/mysqld_exporter-${VERSION}.linux-amd64.tar.gz tar zxf mysqld_exporter-${VERSION}.linux-amd64.tar.gz cp mysqld_exporter-${VERSION}.linux-amd64/mysqld_exporter /usr/local/bin/ rm -rf mysqld_exporter-* # 2. 配置 .my.cnf mkdir -p /etc/mysqld_exporter cat > /etc/mysqld_exporter/.my.cnf <<EOF [client] user=${MYSQL_USER} password=${MYSQL_PASS} host=${MYSQL_HOST} port=3306 EOF chmod 600 /etc/mysqld_exporter/.my.cnf # 3. systemd 服务 cat > /etc/systemd/system/mysqld_exporter.service <<EOF [Unit] Description=MySQL Exporter After=network.target [Service] ExecStart=/usr/local/bin/mysqld_exporter \  --config.my-cnf=/etc/mysqld_exporter/.my.cnf \  --web.listen-address=${LISTEN_ADDR} \  --collect.global_status \  --collect.info_schema.innodb_metrics \  --collect.slave_status \  --collect.info_schema.processlist Restart=always [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now mysqld_exporter # 4. 验证 sleep 3 curl -s http://${LISTEN_ADDR}/metrics | head -20 echo "✅ 部署完成" ``` ### 2)使用方式 ```bash ./deploy.sh 127.0.0.1 exporter 'YourPass123' ``` ### 3)MySQL 提前建好监控账号(最小权限) ```sql CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'YourPass123' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost'; ``` --- ## 三、多实例不要多进程:用 **/probe 多目标模式** 官方支持**一个 exporter 监控多台 MySQL**,不用每个实例开一个进程。 ### 1)`.my.cnf` 多账号 ```ini [client] user=exporter password=YourPass123 [client.slave1] host=192.168.1.10 user=exporter password=YourPass123 [client.slave2] host=192.168.1.11 user=exporter password=YourPass123 ``` ### 2)启动一个 exporter ```bash mysqld_exporter --config.my-cnf=.my.cnf --web.listen-address=:9104 ``` ### 3)Prometheus 配置(动态探测) ```yaml scrape_configs:  - job_name: 'mysql-probe'    metrics_path: /probe    static_configs:      - targets:          - 192.168.1.10:3306          - 192.168.1.11:3306    relabel_configs:      - source_labels: [__address__]        target_label: __param_target      - source_labels: [__param_target]        target_label: instance      - target_label: __address__        replacement: 127.0.0.1:9104  # exporter 地址 ``` 访问: ``` http://exporter:9104/probe?target=192.168.1.10:3306&auth_module=client.slave1 ``` --- ## 四、更高级:用 Ansible 全集群自动化 适合 10+ 台机器: - 写一个 playbook,统一下发二进制、配置、systemd - 密码用 Ansible Vault 加密 - Prometheus 配置自动生成 + 重载 一句话:**一次编写,到处部署,永不手抖**。 --- ## 五、避坑 3 点 1. **必须开 performance_schema**(否则很多指标为空)   ```ini   [mysqld]   performance_schema = ON   ``` 2. **`.my.cnf` 权限必须 600**,否则 exporter 报警 3. **不要用 root 当监控用户**,遵循最小权限原则 --- 结论: - 单机:用上面脚本 **1 分钟搞定** - 多实例:用 **/probe 模式**,一个 exporter 管所有 - 大规模:上 **Ansible**,全集群自动化

扫描二维码推送至手机访问。

版权声明:本文由手机数据加工厂发布,如需转载请注明出处。

本文链接:https://www.gaijilu.com/?id=171

“还在手动配 mysql_exporter?” 的相关文章

微信数据库修复在哪里?快速解决微信数据库问题的方法!

微信数据库修复在哪里?快速解决微信数据库问题的方法!

微信是一款非常流行的社交软件,但是在使用过程中,有时会遇到微信数据库出现问题的情况。本文将介绍微信数据库修复的方法,帮助用户快速解决微信数据库问题。工具原料:电脑品牌型号:苹果MacBook Pro操作系统版本:macOS Big Sur 11.2.3软件版本:微信 3.3.0一、备份微信数据库1、...

手机用久了变卡顿,教你6步操作,手机立马流畅如新

手机用久了变卡顿,教你6步操作,手机立马流畅如新

手机卡顿,就如同一条,搁浅的电子“咸鱼”每一次滑动时,都伴随着,沉重的喘息。屏幕反应,慢上半拍,游戏帧率,犹如疯狂地跳水,就连扫码付款,也变成了一种,耐心的考验。但切莫着急换新机!今日这6步操作,便可让你的手机,由“老黄牛”变回“小猎豹”,流畅如初!一、深度清理:揪出空间"隐形杀手&quo...

微信、支付宝、网购订单模拟生成截图软件

微信、支付宝、网购订单模拟生成截图软件

通过简单的设置,可以方便的生成您想要的截图。如微信对话、微信转账、微信红包、微信钱包、微信零钱、支付宝聊天对话、支付宝转账等强大功能 。有了这款软件用户可以随意编辑截图,包括聊天内容,手机壁纸,甚至是转账截图,都可以进行自定义的调整,为大家的生活提供了更多的便利。复制链接到浏览器打开,注册、下载安装...

苹果iPhone+Mac如何开启WiFi+蓝牙

下面直接给你「一步到位」的极简版,照着点就行(为了隔空投送,**Wi‑Fi 和蓝牙都要开,不需要连同一个 Wi‑Fi 也能投送**)。 --- iPhone 打开 Wi‑Fi + 蓝牙(两种方法) 方法1:控制中心(最快) - 全面屏 iPhone(带刘海):**右上角往下滑**...

如何在关闭云同步功能后防止数据被自动恢复/覆盖?

关闭云同步后,防止数据自动恢复、被云端覆盖的方法一、彻底切断云端连接全程断开网络修改文件、记录期间,关闭电脑和手机的 WiFi、移动数据。离线状态下,设备无法连接云端,就不会自动下载旧数据、覆盖修改内容。退出云端账号电脑退出 OneDrive、百度网盘账号;手机退出品牌云服务、iCloud 账号。账...

 如何在华为云盘上彻底删除云端数据?

如何在华为云盘上彻底删除云端数据?

下面按 “先关同步→网页端删文件→清空最近删除→清其他云数据→收尾防恢复”,把华为云盘彻底删干净,且不影响本地文件。一、手机端:先关闭所有同步(必做)打开 设置 → 华为账号 → 云空间。关闭 云盘、图库、备忘录、联系人 等所有同步开关。弹窗选 保留在本机,避免本地文件被删。关闭 自动备份、数据同步...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。