SkyWalking链路追踪监控 MySQL Server的部署配置

📅 2026/8/26 20:15:32
SkyWalking链路追踪监控 MySQL Server的部署配置
目录一、准备工作创建 MySQL 监控用户二、部署和配置 mysqld_exporter1.启动 mysqld_exporter1下载程序2编写启动脚本3启动三、部署 OpenTelemetry Collector1.下载 Collector2. 创建配置文件 config.yaml3.启动 Collector四、验证监控数据1.启动skywalking2.查看skywalking UI界面要让SkyWalking监控MySQL Server 本身的运行状态这需要额外部署mysqld_exporter和OpenTelemetry Collector来采集数据。但这属于更高级的定制监控。部署mysqld_exporter和OpenTelemetry Collector来监控 MySQL 数据库其核心流程是mysqld_exporter负责采集数据OpenTelemetry Collector负责拉取并转发数据给 SkyWalking OAP 服务器。一、准备工作创建 MySQL 监控用户为了让mysqld_exporter能连接到你的 MySQL 数据库并获取性能指标需要先在数据库中创建一个专用的监控用户并授权。在你的 MySQL 数据库这里用Navicat中执行以下 SQL 命令-- 1.创建用户 mysql_exporter密码为 mysql_exporter请根据实际情况修改 CREATE USER mysql_exporter% IDENTIFIED BY mysql_exporter; -- 2. 授予基本权限移除 WITH MAX_USER_CONNECTIONS GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO mysql_exporter%; -- 3. 单独设置最大连接数限制这个语法在 MySQL 8.0 中正确 ALTER USER mysql_exporter% WITH MAX_USER_CONNECTIONS 3; -- 4. 刷新权限 FLUSH PRIVILEGES; SELECT User, Host FROM mysql.user WHERE User mysql_exporter;点击运行确认是否执行成功输入语句SELECT User, Host FROM mysql.user WHERE User mysql_exporter;其后切换到“用户”选项卡刷新一下就能看到新创建的mysql_exporter用户了注意这里查询最多只能同时建立3 个 MySQL 连接-- 查看采集数 SELECT user,host,max_user_connections FROM mysql.user WHERE usermysql_exporter;而 mysqld_exporter OTel Collector 采集时会同时打开多个连接所以要修改最大连接数执行-- 改为20个连接数 ALTER USER mysql_exporter% WITH MAX_USER_CONNECTIONS 20;执行成功后-- 刷新权限 FLUSH PRIVILEGES;再次输入查询语句就变成了20二、部署和配置 mysqld_exportermysqld_exporter是 Prometheus 社区提供的官方数据采集器。1.启动 mysqld_exporter1下载程序访问 Prometheus 官方下载页面Download | Prometheus下载对应你系统的版本一般是mysqld_exporter-xxx.windows-amd64.zip解压到任意文件夹例如D:\skywalking-exporter2编写启动脚本在解压文件夹里新建一个文本文件 my.cnf用记事本打开粘贴以下内容[client] usermysql_exporter passwordmysql_exporter host127.0.0.1 port3306注意如果你的 MySQL 端口不是 3306 或密码不同请修改括号里的连接串。3启动输入.\mysqld_exporter.exe --config.my-cnf./my.cnf --web.listen-address:9104执行后如果看到Listening on :9104就表示成功这个窗口不要关。然后浏览器访问http://localhost:9104/metrics三、部署 OpenTelemetry Collector现在mysqld_exporter正在运行我们需要启动OpenTelemetry Collector来抓取它的数据并转发给 SkyWalking。1.下载 Collector去 OpenTelemetry Collector Contrib Releases 下载最新版的otelcol-contrib_xxx_windows_amd64注意是contrib版本因为内置了prometheus receiver。把它放到一个方便的地方比如和mysqld_exporter同一级目录D:\softwareone\skyWalking\skywalking-exporter\下。解压这个文件是.tar.gz格式你可以用7-Zip或WinRAR解压。解压后里面会有一个otelcol-contrib.exe文件2. 创建配置文件config.yaml在otelcol.exe所在目录新建一个config.yaml文件用代码编辑器或者记事本粘贴以下内容receivers: prometheus: config: scrape_configs: - job_name: mysql-monitoring scrape_interval: 30s scrape_timeout: 20s static_configs: - targets: [127.0.0.1:9104] relabel_configs: - source_labels: - instance target_label: host_name processors: batch: exporters: debug: verbosity: detailed otlp_grpc: endpoint: 127.0.0.1:11800 tls: insecure: true service: pipelines: metrics: receivers: - prometheus processors: - batch exporters: - debug - otlp_grpc注意endpoint指向你本地的 SkyWalking OAP 服务的 gRPC 端口默认11800确认你的 SkyWalking OAP 正在运行。3.启动 Collector执行.\otelcol-contrib.exe --config config.yaml四、验证监控数据1.启动skywalking2.查看skywalking UI界面点击查看侧边栏的数据库