当前位置: 首页 > 知识库问答 >
问题:

如何使用Logstash调整Elasticsearch性能

甘祺
2023-03-14

我们使用ElasticSearch,Logstash,Kibana来分析nginx日志。现在我们有大约 10 个带有 logstash-forwarder 的 nginx 服务器,1 个 logstash 服务器(8 个核心,8G),2 个 ElasticSearch 节点(每个节点都是 4 个内核和 8G),都带有 SSD 硬盘驱动程序。

我们的问题是ElasticSearch集群的索引性能不够好。nginx日志生成的速度比索引还要快。而且我们认为logstash服务器和Elastic集群并没有尽最大努力。因为性能还没满。

Logstash服务器(8核)大量使用CPU。负载平均约为3-6。以下是Elasticsearch的顶级数据之一。

top - 14:26:08 up 1 day, 32 min,  2 users,  load average: 0.69, 0.75, 0.77
Tasks: 115 total,   1 running, 114 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.2%us,  1.8%sy,  0.0%ni, 69.9%id, 14.0%wa,  0.0%hi,  0.0%si,  0.1%st

使用 BigDesk 插件来监控 Elasticsearch 索引图。该值在 2K/s 处,%wa 并不总是像上层那样高。

以下是Elasticsearch的iostat数据之一。

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
       9.99    0.00    2.66   12.10    0.15   75.10

Device:           rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
vda               11.60     4.80   18.60    0.80     0.12     0.02    14.93     0.01    0.60   0.56   1.08
vdb               4.40 21633.80  190.80  158.40    11.02    71.63   484.73    42.52  105.02   1.19  41.42

我禁用了副本,禁用了所有字段。网络不错。

我们如何相应地调整性能。我听说有人可以把性能提高到20K/s。

共有2个答案

袁奇玮
2023-03-14

添加更多Logstash 1.5实例可以提高性能。瓶颈不是弹性搜索,而是Logstash。但Logstash的性能还不够好。

最后我使用kafka作为事件缓存,并使用自己的代码将日志事件推送到ES。ES服务器的机器可以充分利用。

蔡宏大
2023-03-14

我会尝试从logstash中删除过滤器,只添加一些指标来看看您的集群可以扩展到什么程度。

从单个ES节点开始,从这里编辑ES的设置:http://edgeofsanity.net/article/2012/12/26/elasticsearch-for-logging.html

度量插件:http://logstash.net/docs/1.4.0/filters/metrics

 类似资料:
  • null curl'localhost:9200/_cluster/health?v' 检查ElasticSearch-节点状态: curl“localhost:9200/_cat/nodes?v” null null $service elasticsearch状态 ElasticSearch也可以从我的浏览器中的localhost:9200恢复,并且列表索引正确。 /etc/nginx/sit

  • 因此,当使用logstash中的JDBC导入器并导出到elasticsearch时,我试图对文档类型与文档id进行思考。 我终于把我的头缠在索引上了。但让我们假设我正在从传感器数据表(如温度/湿度等)中提取数据有传感器id的。。。温度/湿度(与天气相关的数据),并记录时间。(所以这是一张大桌子) 而且我希望每隔X频繁地轮询数据库。 在这个例子中,document_type和document_id是

  • 问题内容: Elasticsearch 文档说我可以通过将以下内容添加到来更改所有字段的相似性: ..我已经做过,但是我也想微调场长归一化,它说我可以在这里做:http : //www.elasticsearch.org/guide/en/elasticsearch/guide/current/pluggable -similarites.html#bm25-tunability 但这并没有告诉我

  • 我读到elasticsearch Rivers/River插件不推荐使用。所以我们不能直接进行elasticsearch-kafka积分。如果我们想这样做,那么我们需要在两者之间有一个java(或任何语言)层,使用它的API将数据从kafka放到弹性搜索。 另一方面,如果我们有kafka-logstash-elasticsearch,那么我们可以去掉上面的中间层,并通过logstash来实现,只需

  • 问题内容: 有什么方法可以使用Logstash和csv文件从ElasticSearch删除文档?我阅读了Logstash文档,却一无所获,并尝试了一些配置,但是使用操作“删除”却没有任何反应 有人尝试过吗?我应该在配置的输入和过滤器部分添加一些特殊的东西吗?我使用文件插件作为输入,使用csv插件作为过滤器。 问题答案: 绝对可以按照您的建议去做,但是如果您使用的是Logstash 1.5,则需要使

  • 我在运行conf文件时遇到了这个错误 这是我的会议文件

  • elasticsearch版本:elasticsearch-2.2.0。rpm logstash版本:logstash-2.2.2-1。诺奇。转速 我启动elasticsearch,然后使用具有基本标准输入/标准输出的 /etc/logstash/conf.d/logstash.conf进行logstash,但没有创建elasticsearch索引。如果我将以下内容添加到我的logstash输出配

  • 问题内容: 我有一个运行起来的logstash,它消耗了两个Rabbit队列并发送给elasticsearch。这是我的logstash.conf文件: 现在,我有了另一个队列,但是我想将其内容发送到另一个elasticsearch索引。我的问题是:我如何需要将特定条目重定向到特定索引?还是我需要另一个logstash实例? 提前致谢。 问题答案: 很好的开始。现在,您只需要“键入”每个输入,然后