数据采集 采集源配置 MySQL Binlog 数据采集
MySQL Binlog 数据采集
简介
通过 binlog 采集 MySQL 中的数据
前置条件
- 已安装 DataKit(DataKit 安装文档)
配置
进入 DataKit 安装目录下的 conf.d/db 目录,复制 binlog.conf.sample 并命名为 binlog.conf。示例如下:
[[inputs.binlog]]
##(optional)
null_int=0 //指定整数类型的字段值为 null 时应该替换为 0
null_float=0.0 //指定浮点类型的字段值为 null 时应该替换为 0.0
##(required)
[[inputs.binlog.sources]] # 配置 MySQL 采集源
##(required) MySQL 连接地址
addr="localhost:3306"
##(required) MySQL 连接帐号密码,只读权限即可
user="root"
password="Pa55W0rd"
##(required) 配置需采集的数据库,可配置多个
[[inputs.binlog.sources.databases]]
##(required) 数据库名
db = "test"
##(required) 配置需采集的数据库表,可配置多个
[[inputs.binlog.sources.databases.tables]]
# ##(required) 表名称
name="user"
##(optional) 采集后该表对应的指标集名,如果为空,默认会使用表名
measurement=""
##(required) 指定表中哪些字段为指标
fields=["column0"]
##(optional) 指定表中哪些字段为标签
tags=["column1"]
##(optional) 设置需排除哪些 binlog 事件,默认 binlog 的 insert,update,delete
exclude_events=[]
注意:如果表名或者字段是关键字,请使用单引号进行配置,例如:
name='\`user\`'
或tags=['\`column1\`']
或fields=['\`column0\`']
配置好后,重启 DataKit 即可生效
采集指标
采集数据的指标和标签根据用户的配置决定,但是每个指标默认会带上这些预置标签和指标:
_host_
:采集的 MySQL 服务地址,标签_collector_host_
:安装采集器的主机的 hostname,标签_db_
:数据库名,标签_event_
:日志事件类型 insert,update,delete,标签_table_
:表名,标签_logtime_
:日志产生时间,指标
问题排查
如果配置好重启 DataKit 后仍然无数据,请检查以下问题:
- MySQL binlog 是否开启
- DataKit 所在服务器是否能访问配置文件中提供的 MySQL 地址
- 帐号密码是否正确
- 在配置的 field 和 tag 中是否有 MySQL 关键字。如果用关键字,请加上
``
。例如fields=["\`select\`"]
如果仍然无法上报数据,请开启 DataKit 的 Debug 日志(将 datakit.conf
中的 loglevel
设置为 debug
,然后重启),查看datakit.log
中的日志进行排查。