首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >RABBITMQ向LOGSTASH发送消息

RABBITMQ向LOGSTASH发送消息
EN

Stack Overflow用户
提问于 2021-02-11 04:02:46
回答 1查看 3.2K关注 0票数 1

你能帮我在日志中输入RabbitMQ吗?我的应用程序将代码的版本发送到rabbitmq,然后将其存储在弹性堆栈中。在rabbitmq中为app创建了队列名: app_version_queue;类型:经典;持久:真

然后用该配置配置logstash:

代码语言:javascript
运行
AI代码解释
复制
input {
  rabbitmq {
    id => "rabbitmyq_id"
    # connect to rabbit
    host => "localhost"
    port => 5672
    vhost => "/"
    # INPUT - PRODUCERS
    key => "app_version_queue"
    # OUTPUT - CONSUMER
    # queue for logstash
    queue => "logstash"
    auto_delete => false
    # Exchange for logstash
    exchange => logstash
    exchange_type => direct
    durable => "true"
    # No ack will boost your perf
    ack => false
  }
}

output {
  elasticsearch {
    hosts => [ "elasticsearch:9200" ]
    index => "app_version-%{+YYYY.MM.dd}"
  }
}

这是可行的,但是现在,在RabbitMQ控制台中,我在表排队的消息中看到就绪: 914,444,Unacked: 0总计: 914,444

我的磁盘空间在三天内就满了。重新启动rabbitmq服务器后,所有空间都是空闲的。

更新:所有的原因,为什么我要这么做,我想从我想做的链app=>rabbit=>nifi=>elastic : app=>rabbit=>logstash=>elastic中删除

  1. 队列: app_version我的应用程序向nifi=>ELASTIC 队列发送消息
  2. 队列: logstash,我用logstash Queue2 -对数存储创建的

我试图阻止NIFI的发送,但是消息没有离开。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-11 08:13:44

听起来就像你已经创建了两次基础设施:

  • 在RabbitMQ中手动一次
  • 在LogStash的配置选项中设置一次

你需要的是--只有三样东西--

  • 要向其发布消息的应用程序的交换。
  • 用于使用来自LogStash的消息的队列。
  • 该交换和该队列之间的绑定;队列将获得每个发布到交换的带有匹配路由密钥的消息的副本

你拥有的是所有的

  • 应用程序将消息发布到的一个名为logs (手动创建)的交换。
  • 一个名为app_version_queue的队列(手动创建),没有任何消耗。
  • 一个绑定(手动创建)将消息的副本从logs传递到app_version_queue,然后app_version_queue永远在那里。
  • 一个名为logstash的交换(由LogStash创建),它没有向其发布消息。
  • 一个名为logstash (由LogStash创建)的队列,LogStash从该队列中消费消息。
  • 一个绑定(由LogStash创建)从logstash交换到logstash队列,它什么也不做,因为没有消息发布到该交换。
  • logs交换到logstash队列的绑定(手动创建),它实际上是从应用程序传递消息。

因此,对于这三种情况(交换、队列和绑定),您需要:

  • 决定一个名字
  • 决定你是要创建它,还是让LogStash创建它
  • 配置所有内容以使用相同的名称

例如,您可以保留名称logsapp_version_queue,并手动创建所有内容。

那么您的LogStash应用程序应该如下所示:

代码语言:javascript
运行
AI代码解释
复制
input {
  rabbitmq {
    id => "rabbitmyq_id"
    # connect to rabbit
    host => "localhost"
    port => 5672
    vhost => "/"
    # Consume from existing queue
    queue => "app_version_queue"
    # No ack will boost your perf
    ack => false
  }
}

另一方面,您可以只创建logs交换,让LogStash创建队列和绑定,如下所示:

代码语言:javascript
运行
AI代码解释
复制
input {
  rabbitmq {
    id => "rabbitmyq_id"
    # connect to rabbit
    host => "localhost"
    port => 5672
    vhost => "/"
    # Create a new queue
    queue => "logstash_processing_queue"
    durable => "true"
    # Take a copy of all messages with the "app_version_queue" routing key from the existing exchange
    exchange => "logs"
    key => "app_version_queue"
    # No ack will boost your perf
    ack => false
  }
}

或者,您可以让LogStash创建所有这些,并确保应用程序发布到正确的exchange:

代码语言:javascript
运行
AI代码解释
复制
input {
  rabbitmq {
    id => "rabbitmyq_id"
    # connect to rabbit
    host => "localhost"
    port => 5672
    vhost => "/"
    # Create a new queue
    queue => "logstash_processing_queue"
    durable => "true"
    # Create a new exchange; point your application to publish here!
    exchange => "log_exchange"
    exchange_type => "direct"
    # Take a copy of all messages with the "app_version_queue" routing key from the new exchange
    key => "app_version_queue"
    # No ack will boost your perf
    ack => false
  }
}

我可能会选择中间选项: exchange是应用程序的部署需求的一部分(如果不能在那里发布,它将产生错误),但是任何数量的队列都可能由于不同的原因绑定到它(在测试环境中根本不需要设置ElasticSearch )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66154402

复制
相关文章
ASP.NET将Session保存到数据库中
因为ASP.NET中Session的存取机制与ASP相同,都是保存在进行中, 一旦进程崩溃,所有Session信息将会丢失,所以我采取了将Session信息保存到SQL Server中,尽管还有其它的 几个方式(本文不作介绍),要将Session保存到SQL Server中,需要有以下几个步骤: 1.首先要创建用于保存Session数据的数据库,以命令行的形式用aspnet_regsql.exe来完成,具体命令为 C:\WINDOWS\Microsoft.NET\Framework\v2.0.5072
磊哥
2018/04/26
2.6K0
ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC
我们不仅可以创建相应的模板来根据Model元数据控制种类型的数据在UI界面上的呈现方法,还可以通过一些扩展来控制Model元数据本身。在某些情况下通过这两者的结合往往可以解决很多特殊数据的呈现问题,我
蒋金楠
2018/01/15
4.9K0
ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC
ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
测试驱动 ASP.NET MVC Keith Burnell 下载代码示例 模型-视图-控制器 (MVC) 模式的核心是将 UI 功能划分成三个组成部分。模型表示您的领域的数据和行为。视图管理模型的显示并且处理与用户的交互。控制器协调视图和模型之间的交互。通过这样将本质上就难于测试的 UI 逻辑与业务逻辑分离开来,使得使用 MVC 模式实现的应用程序非常易于测试。在本文中,我将论述用于增强您的 ASP.NET MVC 应用程序的可测试性的最佳做法和技术,包括如何建立您的解决方案的结构、设计代码架构以便处理依
张善友
2018/01/22
5.5K0
ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
ArrayList List<T> T[] Array
不保证会对 ArrayList 排序。 在执行需要对 ArrayList 排序的操作(如 BinarySearch)之前,必须对 ArrayList 进行排序。
lulianqi
2018/08/30
4230
ArrayList List<T> T[] Array
js 将数据保存到本地
name 文件名 data 数据 type mime类型 saveAs: function (name, data, type) { const element = document.createElementNS("http://www.w3.org/1999/xhtml", "a"), ev = document.createEvent("MouseEvents"), urlObject = window.URL || window.webkitURL || wi
路过君
2020/08/28
6.4K0
java操作redis: 将string、list、map、自定义的对象保存到redis中
import java.util.HashMap; import java.util.List; import java.util.Map; import redis.clients.jedis.Jedis; public class redis { public static void main(String[] args) { // 连接redis服务 Jedis jedis = new Jedis("127.0.0.1", 6379); // 密码验证-如果你没有设置redis
似水的流年
2018/01/14
4K0
java操作redis: 将string、list、map、自定义的对象保存到redis中
import java.util.HashMap; import java.util.List; import java.util.Map; import redis.clients.jedis.Jedis; public class redis { public static void main(String[] args) { // 连接redis服务 Jedis jedis = new Jedis("127.0.0.1", 6379); // 密码验证-如果你没有设置redis
似水的流年
2018/01/18
6K0
ASP.NET结合MVC+EF T4模板写后台管理系统框架(5)- 创建数据库
其实网站就是一座连接用户和数据库的梁桥 数据库通过网站,将信息以不同的方式,展现给客户,客户通过网站,对数据库进行各种操作 下面,我们用一个例子,给大家展示下基本的增删改查操作 创建数据库 创建数据模型,并根据模型生成数据库 输入数据库信息,生成数据库 记得选择是 点击完成后,会生成sql语句,右键,执行 出现这条信息,说明执行成功,至此,数据库创建完成
骤雨重山
2022/01/17
5780
ASP.NET结合MVC+EF T4模板写后台管理系统框架(5)- 创建数据库
java操作redis: 将string、list、map、自定义的对象保存到redis中
import java.util.HashMap; import java.util.List; import java.util.Map; import redis.clients.jedis.Jedis; public class redis { public static void main(String[] args) { // 连接redis服务 Jedis jedis = new Jedis("127.0.0.1", 6379); // 密码验证-如果你没有设置redis
似水的流年
2019/12/06
1.1K0
将所有对象存到数据库中在Shop.m中
如果将字典或数组直接存储在数据库中,会将数组或字典转化成字符串,所以可以使用归档与反归档的方法将数据进行编码和解码成二进制数据进行存储,而在数据库中需要使用blob类型存储二进制数据。
hrscy
2018/08/30
1.4K0
数据库查询出的数据list 集合,转为json 的形式存到redis
数据库查询出的数据list 集合,转为json 的形式存到redis, 写一个接口,直接查询redis ,将数据返回;
一写代码就开心
2023/02/13
5960
将查询结果保存到excel中
<?php //****************连接数据库*************** $localhost=”localhost”; $root=”root”; // 用户 $databasen
苦咖啡
2018/05/07
1.7K0
ASP.NET MVC Section
本篇文章我们来讨论一下ASP.NET MVC框架中的Section。 Section主要用于将一部分代码插入到 Layout页面中的指定位置。通俗地说就是,我们先在 Layout页面中通过@RenderSection("Header")的方式挖一个坑,告诉下面的视图页面说,我这个地方有个坑,你们把你们各自相关的代码放进来吧。然后,使用该Layout的视图页面通过如下的方式将一坨坨的代码送到Layout的坑中。
全栈程序员站长
2022/09/15
7690
如何将Excel和xml文件数据保存到数据库
Inherits System.Windows.Forms.Form     Dim DS1 As New System.Data.DataSet     Dim DS2 As New System.Data.DataSet
Java架构师必看
2021/03/22
2.1K0
ServiceStack.Host.MVC vs ASP.NET MVC
ServiceStack.Host.MVC vs ASP.NET MVC解决方案解决方案子项ServiceStack.Host.MVC(3.9.71)ASP.NET MVC(3.0)路由 路由规则1.只能配置/home/{name}/{page}形式 2.不能对匹配区域({name})指定任何形式的通配符(正则,等等)1.可配置各种形式的规则,比如:home/{name}_{page} 2.可以对匹配区域({name})指定正则匹配路由匹配url->路由表->RequestDTO->根据request.me
KenTalk
2018/09/11
9170
JSONArray转换成List<T>
这个是针对mybatis中json对象映射成实体类的需求,mybatis通过(typeHandler = FastjsonTypeHandler.class)会把数据库类型是json的转换为List类型,但是本质上没有变。打印出来会是这样:
全栈程序员站长
2022/09/07
1K0
ASP.NET MVC升级到ASP.NET Core MVC踩坑小结
ASP.NET Core是微软新推出的支持跨平台、高性能、开源的开发框架,它的优势不必多说,因为已经说得太多了。当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大量的Break Changes,很多项目项目团队也不敢贸然升级,其中的考量也不全部是技术原因,更多的可能还是业务推进因素。
AI.NET 极客圈
2020/05/18
2.4K0
ASP.NET MVC使用javascript
@if (IsSectionDefined(“SubMenu”)) { @RenderSection(“SubMenu”, required: false) }
全栈程序员站长
2022/09/15
8590
ASP.NET MVC Action Filters
在看这篇Fun with Http Headers in ASP.NET MVC Action Filters的时候,提到了 Roni Schuetz在codeplex上创建的一个项目ASP.NET MVC Action Filters。计划在5月10日推出第一个版本。 项目计划包含的Action Filter: Action filter for creating easy REST API with JSON and XML Action filter for logging scenarios
张善友
2018/01/22
8630
ASP.NET MVC HtmlHelper类
ASP.NET MVC之 HtmlHelper 在ASP.NET MVC项目的开发中,一般会默认使用Razor视图来进行View层的编写,从而实现高效率的C#/HTML代码的混写。 示例 诸如下述代码
李郑
2018/03/01
1.9K0
ASP.NET MVC HtmlHelper类

相似问题

将List<T>保存到XML文件

62

ASP.Net MVC 3 DataAnnotations验证List<T>

24

从List<T>保存到txt

71

ASP.NET MVC2 List<T>模型验证

11

ASP.NET MVC 3 List<T>到IEnumerable<SelectListItem>

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档