vector日志采集简单使用

场景:

日志已经生产到kafka,需要从kafka消费日志到elasticsearch,原来使用的logstash,资源消耗较大,遂寻找新的工具替代。采用datadog开源的vector作为处理工具。

实操:

部署方式为k8s部署

镜像版本:timberio/vector:0.34.0-debian

资源限制:

          resources:
            limits:
              cpu: 100m
              memory: 128Mi
            requests:
              cpu: 100m
              memory: 128Mi

配置文件

    data_dir: "/var/lib/vector"
    api:
      enabled: true
      address: "0.0.0.0:8686"

    sources:
      mdf_source_logs:
        type: kafka
        bootstrap_servers: "xxx,xxx,xxx"
        group_id: "cg-test-vector"
        topics: 
          - "topic-test-vector"
          
    transforms:
      my_transform:
        type: remap
        inputs: 
          - mdf_source_logs
        source: |
          . = parse_json!(.message)
          del(.log.offset)
          
    sinks:
      my_es:
        api_version: "v7"
        inputs:
          - my_transform     
        type: elasticsearch
        endpoints:
          - "http://xxx"
        bulk:
          index: "test-%Y.%m.%d" 
        auth:
          strategy: "basic"
          user: "xxx"
          password: "xxx"

配置解释:

sources数据源设置为kafka,填写对应参数,

transforms使用remap处理数据,inputs填写上面的数据源,source中可以写一写方法来清洗字段,例如正则匹配,当前仅取出message字段转为json后,使用del()删除log.offset字段。

sinks使用es作为存储,填写对应的字段可以直接写入es。

目前为止,已可以实现需求。调试过程中碰到许多问题,可以在transforms.source中添加log,或者sinks采用console打印信息。整个流程跑通后,发现实际资源使用依旧很低,rust语言确实很猛,后续考虑将logstash全换为vector。

官方文档:Configuring Vector | Vector documentation

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值