linux centos7 docker 安装ELK(Elasticsearch、Logstash、Kibana)

安装docker-compose到/usr/local/bin/目录下

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

添加docker-compose可执行权限

chmod +x /usr/local/bin/docker-compose

创建ELK相关文件

mkdir -p /docker_data/elk/{e/data,l}

授权elasticsearch的data文件夹权限

chmod 777 /docker_data/elk/e/data

创建配置文件logstash-springboot.conf

vim /docker_data/elk/l/logstash-springboot.conf

内容如下:

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    codec => json_lines
  }
}
output {
  elasticsearch {
    hosts => "es:9200"
    index => "springboot-logstash-%{+YYYY.MM.dd}"
  }
}

创建docker-compose.yml文件

vim /docker_data/elk/docker-compose.yml
version: '3'

services:
  elasticsearch:
    image: elasticsearch:7.17.5  #镜像
    container_name: elasticsearch-7.17.5  #定义容器名称
    restart: always  #开机启动,失败也会一直重启
    environment:
      - "cluster.name=elasticsearch" #设置集群名称为elasticsearch
      - "discovery.type=single-node" #以单一节点模式启动
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小
    volumes:
      - /docker_data/elk/e/plugins:/usr/share/elasticsearch/plugins #插件文件挂载
      - /docker_data/elk/e/data:/usr/share/elasticsearch/data #数据文件挂载
    ports:
      - "9200:9200"
      - "9300:9300"

  kibana:
    image: kibana:7.17.5
    container_name: kibana-7.17.5
    restart: always
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    environment:
      - ELASTICSEARCH_URL=http://elasticsearch:9200 #设置访问elasticsearch的地址
    ports:
      - "5601:5601"

  logstash:
    image: logstash:7.17.5
    container_name: logstash-7.17.5
    restart: always
    volumes:
      - /docker_data/elk/l/logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件
    depends_on:
      - elasticsearch #kibana在elasticsearch启动之后再启动
    links:
      - elasticsearch:es #可以用es这个域名访问elasticsearch服务
    ports:
      - "4560:4560"

执行docker-compose

cd /docker_data/elk/
docker-compose up -d

如下所示docker ps查看ELK是否启动成功

CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
6092f952013b   logstash:7.17.5        "/usr/local/bin/dock…"   14 seconds ago   Up 13 seconds   5044/tcp, 0.0.0.0:4560->4560/tcp, :::4560->4560/tcp, 9600/tcp                          logstash-7.17.5
f42125f9d56a   kibana:7.17.5          "/bin/tini -- /usr/l…"   14 seconds ago   Up 13 seconds   0.0.0.0:5601->5601/tcp, :::5601->5601/tcp                                              kibana-7.17.5
6e99a00191ee   elasticsearch:7.17.5   "/bin/tini -- /usr/l…"   15 seconds ago   Up 13 seconds   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp   elasticsearch-7.17.5

开放端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=4560/tcp --permanent
firewall-cmd --reload

ip:port访问

elasticsearch
在这里插入图片描述
kibana
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值