基于filebeat processor开发日志采样功能

in 网站建设
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

描述

简单了解filebeat开发插件的流程,及插件工作的机制。
github源码地址

Processors 说明

filebeat对于收集的每行日志都封装成event, event 发送到 output 之前,可在配置文件中定义processors去处理 event。
processor 作用:

每个 processor 会接收一个 event,将一些定义好的行为应用到 event,然后返回 event,如果你在配置文件中定义了一系列 processors,那么他会按定义的顺序依次执行。

所以,可以基于此机制进行filebeat功能扩展。

filebeat-plugin

filebeat plugin processor

add_sample_data

add_sample_data使用场景

准确率要求不高的情况下,可以使用采样的机制,比如,通过日志,计算服务的可用性,基于统计计数的情况,会存在误差,服务波动情况下,可能导致抽样的数据都是正常的,异常的日志漏掉。

版本信息

基于以上版本测试通过

测试运行

./filebeat -e -c filebeat_test.yml --plugin add_sample_data.so

开发

// processor名称定义用于filebeat.yml配置文件Processors配置
const (
    processorName = "add_sample_data"
)

// 插件注册
var Bundle = plugin.Bundle(
    processors.Plugin(processorName, newSampleProcessor),
)

打包

基于 https://github.com/elastic/beats 源码下进行编译打包

cd libbeat/processors/add_sample_data
go build -buildmode=plugin

filebeat.yml配置

#================================ Processors =====================================
processors:
  - add_sample_data: ~

问题

  1. 启动运行命令签名错误
由于Mac系统(csrutil)保护系统完整性导致的问题,运行 csrutil status 查看结果,如果是 enable,关闭disable即可。具体操作步骤自行百度
  1. 启动 plugin was built with a different version of package errors
plugin 编译问题导致,解决方法,基于beats对应版本源代码重新编译,执行filebeat下make命令,替换原有 filebeat 二进制文件

参考

https://github.com/zhonglongb...

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看