elasticsearch - Kafka / Logstash 输出到 Elasticsearch
问题描述
我有一个 Logstash 6.2x 设置,我在其中读取 Kafka 输入并将输出写入 Elasticsearch 实例,并且在使用 if/else 时遇到问题
Logstash 配置看起来像
input {
kafka {
bootstrap_servers => '192.168.2.66:9092,192.168.2.67:9092,192.168.2.68:9092'
topics => ["linum", "newdata"]
codec => "json"
type => "kafka"
tags => ["linumsrvr1"]
decorate_events => true
}
}
output {
if [topic] == "linum" {
elasticsearch {
hosts => ["192.168.2.32:9200"]
action => "index"
index => "linum-%{+YYYY.MM.dd}"
}
stdout {codec => rubydebug}
} else {
[kafka][topic_id] == "newdata" {
elasticsearch {
hosts => ["192.168.2.32:9200"]
index => "newdata-%{+YYYY.MM.dd}"
}
stdout {codec => rubydebug}
}
}
}
当输出包含以“elasticsearch { ..... / dd}”开头/结尾的 4 行时,我能够将数据导入 Elasticsearch
由于某种原因,当我使用“IF”或“IF”+“ELSE”语句时,我似乎没有将任何数据发送到 Elasticsearch。
我想为这两个主题创建两个单独的索引。
我会感谢一些关于我做错了什么的指导。
谢谢
解决方案
推荐阅读
- css - 子组件的高度和宽度不适用于角度
- python - Celery 按照它们被调用的顺序执行任务(在运行时)
- powershell - 如何从csv中解析带逗号的字符串并使用powershell脚本输出结果
- .net-core - 使用 BouncyCastle AESGCM 加密的消息可以在 .Net core 3.1 中使用 AESGCM 解密吗
- javascript - 无法使用 javascript 下载表单数据。寻找不同的类并选择第 [i] 个组件
- cakephp - 在带有 CakePHP4 的asset_compress 插件中使用 LessCss
- python - 'opencv-python' 已安装,但仍显示 'ModuleNotFoundError: No module named cv2'
- oracle - 在 FROM 子句 pl/sql 中使用变量
- javascript - 如何在reactjs中动态呈现时在列表中追加元素
- spring-boot - 更新问题:如何模拟 MapToJson 类