ELK安装说明

本文详细介绍如何使用Docker及docker-compose配置ELK Stack(Elasticsearch、Logstash、Kibana),包括环境搭建、配置文件修改及常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker

请参看文档

安装注意:

  • 版本号大于 1.13.0
    mac上安装需要使用全局代理

Elasticsearch&Logstash&Kibana安装

使用docker-compose安装
新建docker-compose.yml,内容如下

version: '3.0'
services:
  elasticsearchm:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
    container_name: elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - ./Elasticsearch/data:/etc/elasticsearch/data
      - ./Elasticsearch/config/elasticsearch.yml:/etc/elasticsearch/config/elasticsearch.yml
    tty : true

  kibana:
    image: docker.elastic.co/kibana/kibana:6.5.1
    container_name: kibana
    environment:
      XPACK_SECURITY_ENABLED: 'False'
      ELASTICSEARCH_URL: 'http://elasticsearch_host:9200'
    volumes:
      - esdata1:/usr/share/kibana/data
    ports:
      - 5601:5601
    networks:
      - esnet


  logstash:
    image: docker.elastic.co/logstash/logstash:6.5.1
    container_name: logstash
    environment:
      XPACK_MONITORING_ENABLED: 'False'
    ports:
      - 5044:5044
    links:
      - elasticsearchm
    volumes:
      - /usr/share/logstash/pipeline:/usr/share/logstash/pipeline
    command: logstash -f /usr/share/logstash/pipeline/logstash.conf

volumes:
  esdata1:
    driver: local
  esdata2:
    driver: local


networks:
  esnet:

logstash配置
新建/usr/share/logstash/pipeline/logstash.conf内容如下

input {
 beats {
    port => "5044"
    ssl => false
 }
}

filter {
    grok {
        match => { "message" => "\[%{TIMESTAMP_ISO8601:request_time}\]\[%{WORD:logid}\]\[%{DATA:person}\]\[%{DATA:data_type}\] *%{GREEDYDATA:info}"}
    }
    geoip {
        source => "clientip"
    }
}

output {
  elasticsearch {
    hosts => "elasticsearchm:9200"
    manage_template => false
    index => "logstash-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

命令行执行

docker-compose up

坑:

提示:max virtual memory areas vm.max_map_count [65530] is too low
解决

  1. 临时性解决:sysctl -w vm.max_map_count=262144
  2. 永久解决:/etc/sysctl.conf中添加"vm.max_map_count=262144"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值