ELK:设置 logstash ELK 堆栈的多个 http 输入
ELK: Setup multiple http inputs of logstash ELK stack
问题:
- 如何设置 logstash ELK 堆栈的多个 http 输入
我已有的:
- 工作 ELK docker 图片 基于:https://github.com/deviantony/docker-elk
- 工作 logstash-input-http-plugin 基于:https://www.elastic.co/blog/introducing-logstash-input-http-plugin
- 我的 logstash.conf 文件如下所示:
input {
http {
host => "0.0.0.0"
port => "5000"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}
- 而且我可以在 URL 上使用邮递员轻松发送我的组件日志(如 JSON):http://localhost:5000
我需要的:
- 多个 http 输入,因为我有多个组件 - 类似(但第二个输入不听请求):
input {
http {
host => "0.0.0.0"
port => "5000"
}
http {
host => "0.0.0.0"
port => "7070"
}
}
- 我必须区分 Kibona 中的那些组件
您可以为每个输入设置一个类型并使用该类型生成索引名称:
input {
http {
host => "0.0.0.0"
port => "5000"
type => "A"
}
http {
host => "0.0.0.0"
port => "5001"
type => "B"
}
}
使用类型可能就足够了,因为您可以使用它来过滤记录。但是您可能还需要将每种类型的记录存储在不同的索引中,因为每种类型可能对同一字段使用不同的类型。这会导致映射冲突。
output {
elasticsearch {
hosts => "elasticsearch:9200"
index => "%{[type]}-%{+YYYY.MM.dd}"
}
}
我已经解决了这个问题。
我需要在 docker-compose.yml 文件中 添加端口 logstash: 部分如:
ports:
- "5000:5000"
- "7070:7070"
还有
type => "A"
效果不错。
问题:
- 如何设置 logstash ELK 堆栈的多个 http 输入
我已有的:
- 工作 ELK docker 图片 基于:https://github.com/deviantony/docker-elk
- 工作 logstash-input-http-plugin 基于:https://www.elastic.co/blog/introducing-logstash-input-http-plugin
- 我的 logstash.conf 文件如下所示:
input { http { host => "0.0.0.0" port => "5000" } } output { elasticsearch { hosts => "elasticsearch:9200" } }
- 而且我可以在 URL 上使用邮递员轻松发送我的组件日志(如 JSON):http://localhost:5000
我需要的:
- 多个 http 输入,因为我有多个组件 - 类似(但第二个输入不听请求):
input { http { host => "0.0.0.0" port => "5000" } http { host => "0.0.0.0" port => "7070" } }
- 我必须区分 Kibona 中的那些组件
您可以为每个输入设置一个类型并使用该类型生成索引名称:
input {
http {
host => "0.0.0.0"
port => "5000"
type => "A"
}
http {
host => "0.0.0.0"
port => "5001"
type => "B"
}
}
使用类型可能就足够了,因为您可以使用它来过滤记录。但是您可能还需要将每种类型的记录存储在不同的索引中,因为每种类型可能对同一字段使用不同的类型。这会导致映射冲突。
output {
elasticsearch {
hosts => "elasticsearch:9200"
index => "%{[type]}-%{+YYYY.MM.dd}"
}
}
我已经解决了这个问题。
我需要在 docker-compose.yml 文件中 添加端口 logstash: 部分如:
ports: - "5000:5000" - "7070:7070"
还有
type => "A"
效果不错。