Filebeat собирает логи и выталкивает их в ошибку Кафки - PullRequest
0 голосов
/ 15 февраля 2019

1. Информация о моей версии

jdk-8u191-linux-x64.tar.gz
kibana-6.5.0-linux-x86_64.tar.gz
elasticsearch-6.5.0.tar.gz
logstash-6.5.0.tar.gz
filebeat-6.5.0-linux-x86_64.tar.gz
kafka_2.11-2.1.0.tgz
zookeeper-3.4.12.tar.gz

2. Описание проблемы

У меня есть файл журнала в формате XML.Я использую filebeat, чтобы собрать этот файл и отправить его в искаженный контент Kafka.

Вот моя конфигурация filebeat

filebeat.inputs:

- type: log

  enabled: true

  paths:
    - /data/reporttg/ChannelServer.log

  include_lines: ['\<\bProcID.*\<\/ProcID\b\>']


### Filebeat modules

filebeat.config.modules:

  path: ${path.config}/modules.d/*.yml

  reload.enabled: false

### Elasticsearch template setting

setup.template.settings:
  index.number_of_shards: 3


### Kibana

setup.kibana:

### Kafka

output.kafka:
  enabled: true
  hosts: ["IP:9092", "IP:9092", "IP:9092"]
  topic: houry

### Procesors 
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

Содержимое моего журнала

<OrigDomain>ECIP</OrigDomain>
<HomeDomain>UCRM</HomeDomain>
<BIPCode>BIP2A011</BIPCode>
<BIPVer>0100</BIPVer>
<ActivityCode>T2000111</ActivityCode>
<ActionCode>1</ActionCode>
<ActionRelation>0</ActionRelation>
<Routing>
    <RouteType>01</RouteType>
    <RouteValue>13033935743</RouteValue>
</Routing>
<ProcID>PROC201901231142020023206514</ProcID>
<TransIDO>SSP201901231142020023206513</TransIDO>
<TransIDH>2019012311420257864666</TransIDH>
<ProcessTime>20190123114202</ProcessTime>
<Response>
    <RspType>0</RspType>
    <RspCode>0000</RspCode>
    <RspDesc>success</RspDesc>
</Response>

Проверка регулярных выражений

Correct expression

3. Запустить биение файла и просмотреть содержимое Kafka

Wrong content

4.Я проверил, что этоОбычно filebeat собирает содержимое и отправляет его в logstash.

Как решить эту проблему?

1 Ответ

0 голосов
/ 17 февраля 2019

Если вы не хотите включать теги XML, я бы порекомендовал вам использовать регулярное выражение

Что-то вроде этого

'<ProcID>(PROC[0-9]+)<\/ProcID>'
...