filebeat到kafka示例

该文描述了如何使用Docker运行Filebeat7.14容器,配置文件beat.yml以收集主机上的日志,并将其发送到Kafka的特定主题。日志路径被映射到主机的/data/log目录,处理流程中去除了某些字段,并使用gzip压缩。同时,提供了一个Python脚本示例,展示如何从Kafka消费者端读取并解析这些日志数据。
摘要由CSDN通过智能技术生成

 docker run -d \
  --name=filebeat_7.14_0 \            #filebeat名称
  --user=root \
  --volume="/data/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml" \  #映射filebeat.yml配置
  --volume="/data/filebeat/log:/usr/share/filebeat/log" \             #映射filebeat日志
  --volume="/data/filebeat/data:/usr/share/filebeat/data" \         #映射filebeat数据
  --volume="/data/log:/path/to/host/log" \                           #映射主机的宿日志路径、很重要
  docker.elastic.co/beats/filebeat:7.14.0  #filebeat版本


/data/filebeat:
[root@xx filebeat]# cat filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /path/to/host/log/net/zb/10.1.1.1*   #真实宿主机路径是/data/log/net/zb/10.1.1.1*的日志
  fields:
    device_model: "test"         
    kafka_topic: "测试-topic"           #卡卡夫卡 topic

#filebeat.config.modules:
#  path: ${path.config}/modules.d/*.yml
#  reload.enabled: false

#setup.template.settings:
#  index.number_of_shards: 1

#setup.template.enabled: true
#setup.template.fields: fields.yml
#setup.template.overwrite: true


processors:
- drop_fields:
     fields: ['agent', 'ecs', 'beat', 'input_type', 'tags', 'count', '@version', 'log', 'offset', 'type', 'host']
     ignore_missing: false


output.kafka:
    enabled: true
    hosts: ["10.10.10.10:9092"]   #输出到kafka中,写kafka的IP
    topic: "%{[fields.kafka_topic]}"
    compression: gzip
    max_message_bytes: 1000000

python3测试有没有数据:
# -*- coding: utf-8 -*-
import sys
import json
from kafka import KafkaConsumer  #pip3 install kafka-python

for msg in KafkaConsumer('测试-topic',bootstrap_servers=['10.10.10.10:9092']):
    jsonData = msg.value.decode('utf-8')
    info = json.loads(jsonData)
    print(info)
#
# print(len("cmdb-crm-CRMkehuguanli-prd"))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值