Docker安装ELK

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="-Xms128m -Xmx128m" \
-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

获得新密码:=twqbg+2ls6iseO*DWpt

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

 使用Postman 成功创建Index:

5. 复制证书到本地机器

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

验证是否可用

curl --cacert http_ca.crt -u elastic https://localhost:9200

6. 生成token供kibana使用

eyJ2ZXIiOiI4LjguMiIsImFkciI6WyIxNzIuMTkuMC4yOjkyMDAiXSwiZmdyIjoiMjY5OTFjNzk0NjE4NWJiZmVlYjQ4NzAzM2QyZmE3OWY2Yzg5MDEyYzk5ZDU0MmFjMzVmNDYzYWUzMTYxNDc2MSIsImtleSI6InlDVmFsWWtCdmpHb3d4ejBtck44Ok5DbHRIVV9KUVhhYWdIRENKM2RDTmcifQ==

Kibana

 1. 拉取镜像

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

2. 查看 elasticsearch IP

sudo docker inspect es01

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. 在windows下安装Logstash

https://www.elastic.co/cn/downloads/logstash 

2. 创建 Logstash pipeline

标准输入输出

logstash-simple.conf

input {
    stdin{
    }
}
 
output {
    stdout{
    }
}

检查配置文件是否合法

 .\bin\logstash -f .\logstash-simple.conf -t

 .\bin\logstash -f .\logstash-simple.conf

输出Elasticsearch

 

posted @ 2023-07-27 08:38  !ɹO  阅读(97)  评论(0编辑  收藏  举报