ELK平台性能优化(不断完善中)

架构层面

  • 在logstash shipper和index之间增加redis或kafaka代理缓存

Elasticsearch

  • ES系统性能

    • 让JVM使用OS的max-open-files

      ulimit -n 1000000
      es_parms="-Delasticsearch -Des.max-open-files=ture"
    • 增加ES JVM内存大小,至少2G,越大越好

    • 修改elasticsearch.yml配置文件

      
      #锁定内存不使用swap
      
      bootstrap.mlockall: true
  • ES索引性能

    • 索引配置

      
      #关闭副本
      
      index.number_of_shards: 1
      index.number_of_replicas: 0
      
      
      #加大translog刷新频率
      
      index.translog.flush_threshold_ops: 10000
      
      #加大index刷新频率,不指定单位默认为ms,1s=1秒
      
      index.refresh_interval: 10s
    • 自定义templates
      按type自定义字段,不用存储的字段不用存储,不用索引的字段不要索引,常用聚合字段开启doc_values属性

      "somesfield": {
          "type": "string",
          "index": "no",
          "store": false,
          "dynamic": "strict",
          "doc_values": true,
          "fielddata": {
              "format": "doc_values"
          }
      }

      上面这个字段将不会被存储,不会被索引,但是会以doc_values方式保存在磁盘上参加聚合运算。

      也可以在模板中设置_ttl过期时间:

      curl -XPUT http://localhost:9200/_template/logstash
      {
        "template" : "logstash*",
              "order": 99,
              "mappings": {
                  "3alogic": {
                      "_ttl": {
                          "enabled": true,
                          "default": "30d"
                      }
                  }            
              }
      }

      上面3alogic类型的文档在30天后自动删除。

  • ES详细安装配置参见:http://blog.csdn.net/jiao_fuyou/article/details/46694125

logstash

  • 增加filter worker数
    filter是很占用内存和CPU的,适当加大filter worker number

    bin/logstash agent -w 6 -f /home/jfy/soft/logstash-1.4.2/lib/logstash/config/shipper.conf1.4.2/logs/logstash.log

    为filter开启6个线程

  • output => elasticsearch 批量参数调整

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您提供一些关于如何使用 Docker 搭建 ELK 平台的指导。 ELK 平台Elasticsearch、Logstash 和 Kibana 三个工具组成,它们可以帮助您收集、分析和可视化日志数据。 以下是基本的操作步骤: 1. 安装 Docker 和 Docker Compose 在您的操作系统上安装 Docker 和 Docker Compose,这些工具可以帮助您快速构建和运行容器化应用程序。 2. 创建 Docker Compose 文件 在您的项目目录下创建一个名为 docker-compose.yml 的文件,其包含以下内容: ``` version: '2' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 - 9300:9300 logstash: image: docker.elastic.co/logstash/logstash:7.10.1 container_name: logstash volumes: - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf ports: - 5044:5044 kibana: image: docker.elastic.co/kibana/kibana:7.10.1 container_name: kibana ports: - 5601:5601 ``` 3. 创建 Logstash 配置文件 在项目目录下创建一个名为 logstash.conf 的文件,其包含您的日志数据的过滤器和输出器配置。例如: ``` input { tcp { port => 5044 } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } } output { elasticsearch { hosts => ["elasticsearch:9200"] index => "logs-%{+YYYY.MM.dd}" } } ``` 4. 启动容器 在项目目录下运行以下命令启动容器: ``` docker-compose up ``` 5. 访问 Kibana 在您的浏览器访问 http://localhost:5601 来访问 Kibana 控制台,您可以在控制台配置和可视化您的日志数据。 希望这些信息对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值