【问题标题】:Logstash & Elasticsearch issuesLogstash 和 Elasticsearch 问题
【发布时间】:2014-04-06 14:36:02
【问题描述】:

我需要你的专业帮助来弄清楚我的 ES 和 Logstash 有什么问题。

我正在使用 Elasticsearch 1.1.0 和 logstash 1.4.0 将日志推送到 ES 和 Kibana。

我的服务器位于 AWS ( Master -> V.Core (4) , ECU (8) , RAM (15 GB) ) 节点是一样的。

我的logstash配置:

我正在从 S3 获取日志文件并将其本地放置在服务器中 之后,logstash 将它们带走并将它们推送到 ES 集群。 Logstash + Kibana + ES Master(位于 1 个服务器中) 这些文件大约有 12M 大小,我有超过 20,000 个文件。

我的 ES 配置(主)

cluster.name: MY-CLUSTER-NAME
node.name: MY-NODE-NAME
node.master: true
node.data: true
path.data: /PATH_TO_DATA/data
path.logs: /PATH_TO_LOGS/logs

ES 配置(节点)

cluster.name: MY-CLUSTER-NAME (Same name)
node.name: MY-NODE-NAME (Another name)
node.master: false (This is node not master)
node.data: true
path.data: /PATH_TO_DATA/data
path.logs: /PATH_TO_LOGS/logs

用于检查集群状态:

http://MASTER_IP:9200/_cluster/health

这是结果:

{
  "cluster_name": "es-cluster-onetagv2",
  "status": "green",
  "timed_out": false,
  "number_of_nodes": 2,
  "number_of_data_nodes": 2,
  "active_primary_shards": 5,
  "active_shards": 10,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 0
}

我的 Java 版本(不知道这是否重要):

java版本“1.7.0_51”OpenJDK运行环境 (amzn-2.4.4.1.36.amzn1-x86_64 u51-b02) OpenJDK 64-Bit Server VM (build 24.45-b08,混合模式)

我的问题是我试图在 1 天内推动超过 4 亿次点击, 我可以在 24 小时内推送 6000 万。所以我总是落后。

我还可以看到 ES 占用了 100% 的 CPU 使用率。 但不知道是不是这个问题。

也许您可以指导我做错了什么以及如何将大日志快速推送到 ES。

【问题讨论】:

    标签: amazon-web-services elasticsearch logstash kibana


    【解决方案1】:

    拆分输入文件并为每个文件指定不同的名称,以便多个输入在其上工作,这有助于logstash通过不同节点并行读取多个文件。

    请将 ES DataNode 的数量增加到 4 个,以及 2 个 ES Master。这可以通过运行两个logstash实例(提供2个Masters和2个DataNodes)和2个Elasticsearch Nodes(提供2个DataNodes)来实现。

    【讨论】:

    • 感谢您的帮助,但我不明白您所说的拆分输入文件是什么意思?你的意思是我需要超过 1 个 ES 节点?因为现在我有 1 个主节点和 1 个节点。也许最好将logstash从ES中分离出来?我的意思是 1 台服务器到 logstash 和文件 1 台服务器到主 ES 和 1 台服务器到 data_node ?
    • 我不是那个意思,为了更好地解释,您能否在 Logstash.conf 文件的 input{} 中提供您的配置?为了更正您的陈述,您当前有 1 个主节点和 2 个数据节点正在运行,我建议将其增加到 4 个数据节点和 1 个主节点
    • 嘿 NP 你可以在这里看到我的logstash配置tinypic.com/view.php?pic=142adeh&s=8#.U0K2l_mSwg8
    • @AmitDaniel 请将 ES DataNode 的数量增加到 4 个,以及 2 个 ES Master。这可以通过运行两个 logstash 实例(提供 2 个 Master 和 2 个 DataNode)和 2 个 Elasticsearch 节点(提供 2 个 Data Node)来实现。请注意通过计算保存的记录数在 90 分钟内提高了性能。请把你的指标放在这里。你的 Logstash.conf 在这里看起来很不错。
    • 嘿 Murthy 非常感谢您的回复和帮助!我将创建 2 个主节点和 4 个节点。请向我解释您的意思是“请注意通过计算保存的记录数在 90 分钟内提高性能”我如何必须在所有 6 个服务器上创建 2 个主服务器和 4 个节点我必须保存数据?分片,索引配置呢?将它们保留为默认值?再次感谢!!!
    猜你喜欢
    • 2014-03-28
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    相关资源
    最近更新 更多