Logstash与Kafka有什么不同
日志存放与kafka有何不同? 如果两者都一样,那更好?以及如何? 我发现两者都是可以推动数据进行进一步处理的管道. 解决方案 kafka比logstash强得多.为了同步来自PostgreSQL到Elasticsearch之类的数据,Kafka连接器可以使用LogStash进行类似的工作. 一个关键区别是:Kafka是一个集群,而LogStash基本上是单个实例.您可以运行多个LogStash实例.但是这些logstash实例彼此不知道.例如,如果一个实例下降,其他实例将不会接管其工作. Kafka会自动处理节点.如果您设置了在分布式模式下工作的Kafka连接器,则其他连接器可以接管Down Connector的工作. kafka和logstash也可以一起工作.例如,在每个节点上运行一个logstash实例以收集日志,然后将日志发送到kafka.然后,您可以编写Kafka消费者代码来完成您想要的任何处理. 其他解决方案 logstash 是一种可用于
0 2024-02-28
编程技术问答社区
Serilog不能与Elasticsearch一起工作
我已经在Windows 7机器上本地安装了Elasticsearch.它正常工作,我可以使用Postman查询它.使用Postman,我还创建了一个称为CMSTEST的索引.这是一个称为ZDSF的表.如果我获取映射( 我也可以使用Postman发布该表的条目. 现在,我正在尝试使用.NET 4.5应用程序中的Serilog登录到Elasticsearch的本地主机实例.但似乎没有任何作用.这是我的代码: var elasticUri = new Uri("http://localhost:9200/cmstest/zdsf"); var loggerConfig = new LoggerConfiguration() .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(elasticUri) { AutoRegis
4 2024-01-07
编程技术问答社区
FileBeat的收割问题
我们正在使用麋鹿控制程序日志. 在我们的filebeat配置中,我们是从 30个不同的路径收获的,其中包含每秒更新每秒的文件(仅在产品机器的机器中每秒更新每秒 - 在其他开发机器中,我们的日志较少). 我们的日志文件在变老之前不会被删除,而我们停止使用它们(也不修改那里的名称). 最近,我们发现来自配置文件(.yml)的最后路径的日志从不出现在Kibana中. 调查后,我们意识到陷入文件上的filebeat是第一个路径,似乎从未达到最后一个.当我将最后两个路径的位置替换为开始时,FileBeat开始注册那里的所有日志,然后在收获时. 我在FileBeat配置的文档中查找了Close*选项 colles_option_config 这似乎是一个好主意.但是我尚未设法正确解决,我不确定Scan_frequency选项的推荐时间是什么(目前为10s的默认值),什么将以最好的方式为我服务. 我试图将 close_timeout 更改为15s, scan_frequency 到2
0 2023-12-25
编程技术问答社区
Logstash XML解析失败
我在Deviantony/Docker-Elk Image上运行最新的Elk Stack 6.6.我有以下XML文件,试图将其解析到ES JSON对象中: 7290027600007 001 001 9 8.0.1.3 我的conf文件是: input { file { path => "/usr/share/logstash/logs/example1.xml" type => "xml" start_position => "beginning" sincedb_path =>
6 2023-12-22
编程技术问答社区
Logstash在Ubuntu中不显示任何输出
我正在学习麋鹿,我被困在logstash中. 我的弹性和基巴纳正在运行. 但是,当我尝试logstash时,我的管道没有启动. 我正在运行以下命令 cd /usr/share/logstash/bin ./logstash -e 'input { stdin { } } output { stdout {} }' 在弹性文档中(启动LogStash后,请等到您看到" Pipeline Main开始",然后在命令提示符下输入Hello World. 但是,当我运行上述命令时,我不会收到任何输出,上面写着" Pipeline Main启动". 我得到的推杆是: OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release. FATAL] 2020-10-
8 2023-11-02
编程技术问答社区
我如何在logstash 5.1.2中为tomcat/java配置多线。
我使用5.1.2 logstash,filebeat,elasticsearch ..." elk" 的Verisón 我尝试从tomcat服务器(catalina.out和apps-java logs)发送日志,但由于存在Logstash Multiline Filter/codec的配置问题. 我遵循此说明 logstash.conf是: input { beats { port => 9000 } } filter { if [type] == "tomcat-pro" { codec => "multiline" { patterns_dir => "/opt/logstash/patterns" pattern => "(^%{TOMCAT_DATESTAMP})|(^%{CATALINA_DATESTAMP})" negate => true what => "prev
16 2023-10-24
编程技术问答社区
如何将距离值存储到SortValues或实体上
如何使用sde4.0 @query和searchhit 将距离值存储到排序值或实体 "sort": [ { "_geo_distance" : { "codenames.geoLocation" : [ { "lat" : 32.846027, "lon" : -96.84987 } ], "unit" : "mi", "order" : "asc", } } ] 解决方案 您必须添加Sort参数t您的存储库查询,请参见 Spring Data Data Elasticsearch的文档4 所描述的. 在您的情况下,您需要: Sort sort = Sort.by( new GeoDistanceOrder("geoLocation", new GeoPoint(32.846027, -96.84987))
6 2023-09-13
编程技术问答社区
ElasticSearch Spring使用@Mapping注解,仅对一组字段而不是整个索引禁用日期检测。
我正在尝试在索引中的一组字段上禁用date_detection.以下是映射 { "my-index" : { "mappings" : { "properties" : { "_class" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "customFields" : { "properties" : { "firstName" : { "type" : "text", "fields" : {
2 2023-09-13
编程技术问答社区
HTTPBeat在windows 8.1上的安装问题
我正在尝试使用httpbeat泵送弹簧启动应用程序指标,以启用此 https://aboullaite.me/spring-boot-elastic-kibana/,我正在努力将HTTPBBEAT安装到我安装的Windows机器中有没有可以使用的选择,而不是httpbeat,如果您知道明确的方法而不是正式文档,请帮助我,我下一个星期一有一个演示,我完全卡住了 解决方案 尝试httpbeat的docker安装.请访问 https://github.com/evanhoucke/httpbeat 以获取更多信息.使用Docker Image Evanhoucke/httpbeat.
8 2023-09-13
编程技术问答社区
Docker容器不能向docker ELK栈发送日志
我部署了麋鹿堆栈和Spring Boot应用的另一个分开的Docker容器. 在Java应用中,我使用LogstashSocketAppender将日志发送到Logstash. 如果没有Docker的Java应用程序独立运行,则可以正常工作. 但是,当它以docker容器的身份运行时,logstash无法接收日志. 谁能帮我找出它? logstash配置的一部分: input { udp { port => 5000 type => syslog codec => json } } dcoker端口: logstash$ 5000/udp -> 0.0.0.0:5000 springboot$ 8088/tcp -> 0.0.0.0:32981 elasticsearch$ 9200/tcp -> 0.0.0.0:9200 9300/tcp -> 0.0.0.0:9300 kiban
64 2023-09-13
编程技术问答社区
春天之靴和ELK
我有一系列使用Spring Boot运行为带有Docker-Compose的Docker容器的微服务.我想集中日志文件,因此我正在考虑使用麋鹿(在另一个容器中运行).如何将日志文件从基于春季启动的Docker容器中获取到麋鹿,它们是否从容器中推到麋鹿,反之亦然? 任何示例配置或最近的库将不胜感激. 解决方案 两个问题: 您不想解析日志文件.因为没有人愿意写出解析的正则表达式,并且很容易出错. 如果您具有更动态的容器设置,则不想登录到文件,因为所有绑定的目录或文件的设置都是PITA. 要解决第一个问题,请添加一个日志appender将日志登录到JSON.我在这里使用logback,您需要添加net.logstash.logback:logstash-logback-encoder依赖项:
10 2023-09-13
编程技术问答社区
如何在运行时从Solr中过滤一个巨大的id列表
i具有 products 的索引.我需要为每个客户提供定制的产品列表,以便我必须为每个客户提供一些特定产品. 目前,我正在将客户和排除产品的这种关系存储在SQL数据库中,然后使用术语查询在Solr中过滤它们.有什么方法可以将这种关系存储在Solr本身中,因此我不必每次都从SQL中计算出排除列表. 与我们在elasticsearch中使用我可以想到在Solr中做的可能的方法: 保留产品索引中的客户列表本身,然后过滤.但是,如果我必须重新索引所有文件,这确实会很痛苦. 也可以很大. 我能想到的另一种方法是维护一个单独的核心,用于保留每个客户的文档并排除Product_ID,并使用{!join}执行加入以过滤为客户的产品.它是可扩展的解决方案吗? 在Solr中存储此类数据的理想方法. 解决方案 SQL DB是否有任何性能问题?查询数据库并获取ID并将其发送到Solr是完全可以的.您将避免复杂性和数据重复.无论如何,您也必须进行一些计算才能将这些ID发送到S
4 2023-09-06
编程技术问答社区
ElasticSearch自动完成/通过标记建议
我想根据我的索引中存在的令牌(而不是完整的文档)创建搜索建议. 例如: 我有一个简单的索引电影我有这两个文档: {"name":"Captain America"} {"name":"American Made"} 如果我键入" ame" ,那么我应该得到两个建议(作为令牌) america american 同样,如果我键入" cap ",那么我应该得到" captain" 而不是"美国队长" 我的问题与这篇文章完全相同: 我已经经历了所有类型的建议者,似乎他们专注于返回整个文档而不是代币. apache solr 通过其AutoSuggest功能满足此要求: 例如,如果我键入" kni",那么Solr将返回knives,knife和knit作为建议(基于来自索引文档的令牌) { "responseHeader":{ "status":0, "QTime":19}, "spellcheck":{
38 2023-09-06
编程技术问答社区
Solaris中不支持Filebeat。如何收集日志?
我们的发电机是在Solaris(OS)中托管的,但是由于Solaris不支持FileBeat,因此我们无法安装FileBeat将日志转发到所需的端口.这里有人可以提出任何解决这个问题的方法.请注意,我们被告知不要在服务器托管机器中安装LogStash. 您的建议是高度期待的.请做需要的. 解决方案 可以轻松地编译FileBeat以在Solaris 11/AMD64上运行,但这不是基于弹性的支持矩阵.所有FileBeat项目的测试通过Solaris. 可以使用GCCGO来编译Solaris/sparc的FileBeat. FileBeat用GO编写,并且GO编译器支持Solaris/AMD64,但不支持SPARC,这就是SPARC需要GCCGO编译器的原因. 有一个由弹性的
36 2023-09-06
编程技术问答社区
Kibana停止工作,现在服务器没有准备好,尽管kibana.service很好地启动了。
没有任何重大系统更新我的Ubuntu(4.4.0-142-generic #168-Ubuntu SMP),Kibana 7.2.0停止工作.我仍然能够使用sudo systemctl start kibana.service启动服务,相应的状态看起来不错.只有警告,没有错误,这似乎不是问题: # sudo systemctl status kibana.service ● kibana.service - Kibana Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-07-10 09:43:49 CEST; 22min ago Main PID: 14856 (node) Tasks: 21 Memory: 583.2M CPU: 1min
36 2023-08-29
编程技术问答社区
Serilog HTTP sink + Logstash。将Serilog消息数组分割成单个日志事件
我们正在使用 serilog http sink 将消息发送到logstash.但是HTTP消息正文是这样的: { "events": [ { "Timestamp": "2016-11-03T00:09:11.4899425+01:00", "Level": "Debug", "MessageTemplate": "Logging {@Heartbeat} from {Computer}", "RenderedMessage": "Logging { UserName: \"Mike\", UserDomainName: \"Home\" } from \"Workstation\"", "Properties": { "Heartbeat": { "UserName": "Mike", "UserDomainName": "Home"
174 2023-08-29
编程技术问答社区
如何在弹性搜索中用多个词部分匹配通配符查询?
假设文档是 This is a sample text to show how the search results works我的查询字符串是mple tex.我希望此查询字符串与文本匹配,因为它部分匹配sample text. 我如何在弹性搜索中做到这一点? ES 中可能搜索很多 我当前使用的是match_phrase查询 "query": {"match_phrase": {"description": "mple tex"}}, 解决方案 您要寻找的称为infix搜索,可以使用 ngram令牌滤波器,请参见下面的完整工作示例,这比进行通配符搜索要好,并且不使用query string,这不建议搜索盒子,如官方文档中所述. 因为它会返回任何无效语法的错误,所以我们不建议 使用QUERY_STRING查询搜索框. 索引def { "settings": { "analysis": { "filte
ElasticSearch 6, copy_to with dynamic index mappings
也许我错过了一些简单的东西,但仍然无法弄清楚以下内容: 从ES 6.x开始,_all字段被弃用,而建议使用copy_to指令( https://www.elastic.co/guide/en/elasticsearch/reference/current/corrent/copy-to.html ). 但是,我的印象是您需要明确指定要复制到自定义_all字段的字段.但是,如果我使用动态映射,我不知道这些字段,因此无法使用copy_to? 我可以告诉ES将所有遇到的字段复制到自定义_all字段,以便我可以在所有字段上搜索? 预先感谢! 解决方案 您可以使用PUT my_index { "mappings": { "_doc": { "dynamic_templates": [ { "strings": { "match_mapping_type": "string", "mapping": { "type": "text", "copy_to": "catc
8 2023-08-23
编程技术问答社区
在ELK堆栈中,REDIS的意义何在?
我目前具有以FileBeat为日志托运人的体系结构,该架构将日志发送到日志存放索引器实例,然后在AWS中进行托管弹性搜索.由于持续的TCP连接,我无法使用AWS ELB多个日志存储索引实例加载余额,因为FileBeats总是会选择该实例并将其发送到此处.所以我决定使用redis.现在,看到缩放重新缩放并使其在麋鹿堆栈中具有高度可用性是多么困难,我想问什么是redis的意义.我读了一百万次,它充当缓冲区,但是如果FileBeats停止将日志发送到LogStash,如果LogStash无法处理负载,为什么我们甚至需要一个缓冲区. FileBeat足够聪明,可以知道停止发送日志. LogStash足够聪明,可以停止将日志发送到弹性搜索下降的情况下.因此管道停止.我真的不明白Redis在每个标准麋鹿体系结构中充当缓冲区. 解决方案 Redis or Kafka or XYZ can be used as 麋鹿堆栈中的缓冲区. ES的人们发布了博客文章昨天关于在管道中使用kafka,
12 2023-08-03
编程技术问答社区