我们使用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。
添加更多Logstash 1.5实例可以提高性能。瓶颈不是弹性搜索,而是Logstash。但Logstash的性能还不够好。
最后我使用kafka作为事件缓存,并使用自己的代码将日志事件推送到ES。ES服务器的机器可以充分利用。
我会尝试从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实例? 提前致谢。 问题答案: 很好的开始。现在,您只需要“键入”每个输入,然后