我有一个运行起来的logstash,它消耗了两个Rabbit队列并发送给elasticsearch。这是我的logstash.conf文件:
input {
rabbitmq {
host => 'rabbit'
durable => true
user => 'user'
queue => 'dev-user_trace'
password => 'pass'
}
rabbitmq {
host => 'rabbit'
durable => true
user => 'user'
queue => 'min-price-queue'
password => 'pass'
}
}
filter{
}
output{
stdout { codec => json}
elasticsearch{
hosts => ["elasticsearch"]
index => "eventss-%{+YYYY.MM.dd}"
}
}
现在,我有了另一个队列,但是我想将其内容发送到另一个elasticsearch索引。我的问题是:我如何需要将特定条目重定向到特定索引?还是我需要另一个logstash实例?
提前致谢。
很好的开始。现在,您只需要“键入”每个输入,然后将事件转发给给定类型的适当输出,如下所示:
input {
rabbitmq {
host => 'rabbit'
durable => true
user => 'user'
queue => 'dev-user_trace'
password => 'pass'
type => 'traces' # <-- add this
}
rabbitmq {
host => 'rabbit'
durable => true
user => 'user'
queue => 'min-price-queue'
password => 'pass'
type => 'prices' # <-- add this
}
}
filter{
}
output{
stdout { codec => json}
if [type] == 'traces' { # <-- check type
elasticsearch{
hosts => ["host1:9200"]
index => "index1-%{+YYYY.MM.dd}"
}
}
if [type] == 'prices' { # <-- check type
elasticsearch{
hosts => ["host2:9200"]
index => "index2-%{+YYYY.MM.dd}"
}
}
}
更新
上面是最通用的方法,因此您可以不同地配置两个输出。正如@pandaadb所建议的那样,您还可以有一个输出并定义一个将作为目标索引的类型:
input {
rabbitmq {
host => 'rabbit'
durable => true
user => 'user'
queue => 'dev-user_trace'
password => 'pass'
type => 'index1' # <-- add this
}
rabbitmq {
host => 'rabbit'
durable => true
user => 'user'
queue => 'min-price-queue'
password => 'pass'
type => 'index2' # <-- add this
}
}
filter{
}
output{
stdout { codec => json}
elasticsearch{
hosts => ["localhost:9200"]
index => "%{type}-%{+YYYY.MM.dd}" # <-- use type here
}
}
我创建了一个索引映射,就像这样,现在我将使用filebeat向Elasticsearch发送一个json文件,如何确保配置我的filebeat。yml将信息发送到我刚刚创建的新索引映射? 索引映射: 我的音乐节拍。yml: #设置日志级别。默认的日志级别是info.#可用的日志级别包括:错误、警告、信息、调试#日志。级别:调试 我想确保我将用filebeat上传的内容,会正确提交到我之前设置的El
问题内容: Oracle文档说- TextMessage对象用于发送包含java.lang.String的消息。它从Message界面继承>,并添加文本消息正文。此消息类型可用于传输基于文本的消息,包括XML> content的消息。 这怎么可能?XML的内容是否仅是可发送的(通过将其转换为对象然后发送)?是否可以将XML文件以任何方式真正放入队列,然后在接收方读取? 问题答案: 请使用它,并且您
Oracle文档说- TextMessage对象用于发送包含java的消息。lang.String。它继承了 这怎么可能?XML的内容是否只能发送(通过将其转换为对象然后发送)?XML文件真的可以以任何方式放在队列中,然后在接收器端读取吗?
问题内容: 我有这样的日志: 我想把他们推到。我正在使用filebeat通过以下配置将数据发送到logstash: 现在使用以下配置,我想更改编解码器类型: 但是,我仍然以字符串格式获取日志: “ message”:“ {\” logId \“:\” 57aaf6c96224b \“,\” clientIp \“:\” 127.0.0.1 \“,\” time \“:\” 03:11:29 pm
我试图使用https://github.com/roribio/alpine-sqs容器 我能够运行docker容器,并使用终端将消息发送到队列。 我用来将消息发送到SQS队列容器的命令如下 我能够接收到消息,并且可以在浏览器中的dashboad中看到它,网址为。 但是当我试图在中使用发送消息时,它抛出了一个错误。 回溯(最后一次调用):文件“/home/infomagnus/PycharmPro
我是Spring JMS的新手。我的应用程序是使用Spring Boot开发的,并部署在JBoss EAP7.2.0中。我有一个远程队列,它是一个活动的MQ Artemis队列,也嵌入在JBoss EAP7.2.0中。有人能建议我如何使用Spring Boot的JmsTemplate向远程JMS队列发送消息吗?基本上,我不知道应该如何定义远程connectionFactory来连接到远程队列。