给filebeat添加收集日志到clickhouse的功能
·
定义一个结构实现相应的插件接口

实现libbeat/outputs/outputs.go Client接口
Close() 退出时的关闭插件方法 在filebeat退出时关闭相应的数据库连接资源 保存没有保存的数据
Publish() 收集到日志时保存日志的方法 一次可能保存一批 需要对日志格式进行进一步处理(删减,过滤,转换)后再保存到相应的数据库里
String() 唯一标识一个client

这是自定义的一个结构体 可以有不同的定义方式
url 连接参数 ca,cert,key连接时用到的证书密钥 mutext连接创建时的保护锁
Connect连接方法

初始化并连接到数据库
关闭及保存

接口实现图


注册与初始化插件

注册名称为clickhouse 注册函数签名固定 在这里进行基础的操作
配置文件

包括BulkMaxSize批量大小 MaxRetries最多重试次数
保存到ClickHouse的方法具体内容

注册插件到filebeat

go build 得到二进制可执行文件

进行filebeat时指定配置文件

配置文件示例

保存到ClickHouse的细节补充

更多推荐
所有评论(0)