Linux docker安装配置ELK(elasticsearch/kibana/logstash/filebeat)

  1. 安装docker
    CentOS 7直接yum安装docker:yum -y install docker
    查看yum repo配置:less /etc/yum.repos.d/CentOS-Base.repo
    如果网速还可以,可以直接使用原官网配置,如果感觉下载很慢,可以更换国内yum源。
    在这里插入图片描述
  2. docker安装ELK
    Docker 镜像统一从 https://hub.docker.com/ 下载 (安装时请使用统一版本),网站很慢。
    对于镜像下载安装,强烈建议配置国内镜像源。具体方法:https://blog.youkuaiyun.com/qq_43467370/article/details/108046144

pull的安装方法很简单,在 hub.docker每个image的页面右边有命令:
在这里插入图片描述
默认安装最新版本,如果需要安装历史版本,可以如下方法查看:
在这里插入图片描述
执行安装7.7.1版本:
docker pull elasticsearch:7.7.1
docker pull kibana:7.7.1
docker pull logstash:7.1.1
docker pull store/elastic/filebeat:7.7.1

查看所有已经安装的images:docker images
在这里插入图片描述

  1. 配置和启动
    (1)启动ES:
    创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
    docker network create somenetwork

运行 elasticsearch
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:7.1.1

查看容器状态:
docker ps

检测 elasticsearch 是否启动成功
curl 127.0.0.1:9200
在这里插入图片描述
(2)启动Kibana
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.7.1

查看容器启动状态:
docker ps

访问 http://192.168.170.250:5601/(启动可能会较慢,如失败等几秒再尝试刷新一下)
显示页面代表成功
在这里插入图片描述
(3)启动logstash
docker run --name logstash -d -p 5044:5044 -p 9600:9600 logstash:7.7.1
查看是否启动成功:docker ps

使用docker命令将logstash的/usr/share/logstash/config目录的文件拷贝到宿主机host OS的 /usr/share/logstash/config 目录中,然后关闭并移除logstash容器,命令如下:

  • 在host OS创建目录:mkdir -p /usr/share/logstash/
  • 从logstash容器copy配置文件到host OS:
    docker cp logstash:/usr/share/logstash/config /usr/share/logstash/
    在这里插入图片描述
  • docker stop logstash # 停止logstash容器
  • docker rm logstash # 删除logstash容器

docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v /usr/share/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml logstash:7.7.1


在根目录建立一个 docker 目录 并在里面创建了 logstash 目录,用来存放所有配置,如下:
在这里插入图片描述


  • logstash.yml (文件内容):
path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash
  • conf.d/test.conf (文件内容):
input {
    beats {
    port => 5044
    codec => "json"
}
}
output {
  elasticsearch { hosts => ["elasticsearch:9200"] }
  stdout { codec => rubydebug }
}

启动logstash,一定要目录参数正确:
docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v /docker/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /docker/logstash/conf.d/:/usr/share/logstash/conf.d/ logstash:7.7.1

(4)启动filebeat

(5)查看已经安装的容器:
docker ps -a --no-trunc
在这里插入图片描述
启动/重启/停止等操作已有容器:
docker 启动已经停止的容器
    docker start 容器ID或容器名

docker 停止容器
    docker stop 容器ID或容器名

docker 启动一个容器
  -d:后台运行
  -p:端口映射
  --name:容器名称
  --7076981e8708:镜像id
  docker run -d -p 8089:8080 --name jira 7076981e8708

如下截图启动已有logstash容器:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

frankiesinger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值