Docker安装ELK

发布时间 2023-07-27 08:41:43作者: !ɹO

Elasticsearch

1. 拉取镜像

sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:8.8.2

2. 创建桥接网络

sudo docker network create elastic

3. 运行容器

sudo docker run -d \
--name es01 \
--net elastic \
-e discovery.type=single-node \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-p 9200:9200 \
-p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.8.2

最大虚拟内存设置过小,启动时报错:

重新设置

sudo sysctl -w vm.max_map_count=262144

 4. 生成密码

sudo docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

获得新密码:Hw+BcMSA6kx46cR92lsj

浏览器成功访问到节点信息:

 使用Postman 成功创建Index:

5. 复制证书到本地机器

sudo docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .

6. 生成token供kibana使用

 

Kibana

 1. 拉取镜像

sudo docker pull docker.elastic.co/kibana/kibana:8.8.2

2. 运行容器

sudo docker run -d \
--name kib01 \
--net elastic \
-p 5601:5601 \
docker.elastic.co/kibana/kibana:8.8.2
3. 输入 token
 
4. 验证码
sudo docker exec -it kib01 /bin/bash bin/kibana-verification-code

 

Metricbeat

 

FileBeat

1. 拉取镜像

sudo docker pull docker.elastic.co/beats/filebeat:8.8.2

2. 下载配置文件

sudo curl -L -O https://raw.githubusercontent.com/elastic/beats/8.8/deploy/docker/filebeat.docker.yml

 3. 运行容器

sudo docker run -d \
--name filebeat \
--volume="/data/filebeat/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" \
--volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" \
--volume="/var/run/docker.sock:/var/run/docker.sock:ro" \
docker.elastic.co/beats/filebeat:8.8.2 \
-e --strict.perms=false \
-E output.elasticsearch.hosts=["123.207.43.215:9200"]

Logstash

1. 拉取镜像

sudo docker pull docker.elastic.co/logstash/logstash:8.8.2

 2. 运行容器

sudo docker run -d \
--name logstash \
-p 5044:5044 \
-p 9600:9600 \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
docker.elastic.co/logstash/logstash:8.8.2