docker部署ELK,ES开启安全认证

ES启动命令

复制代码
docker run -d --name elasticsearch   -p 9200:9200 -p 9300:9300     elasticsearch:8.17.0

es启动之后需要进入es容器,重置密码

复制代码
elasticsearch-reset-password -u elastic -i

重置后的密码配置到kibana.yml中,启动kibana

复制代码
docker run -d --name kibana   -p 5601:5601   --link elasticsearch:elasticsearch  kibana:8.17.0

kibana启动后,打开管理页面,会弹出需要token的窗口,去es容器中生产

复制代码
./elasticsearch-create-enrollment-token --scope kibana

之后查看kibana的日志,再日志中打印了6位验证码,输入验证码,kibana就启动完成。

logstash启动主要是需要配置好,先上配置

复制代码
output {
      elasticsearch {
          hosts => ["http://127.0.01:9200"] # 根据你的ES地址修改
          ssl => true
          cacert => "/usr/share/logstash/config/http_ca.crt" 
          index => "httppackmsg"
          user => "elastic"               # 如果启用了安全认证
          password => "ztn-9lk30OJmIQdhtQEg" 
          document_id => "%{[@metadata][_id]}"
          action => "update"
          doc_as_upsert => true
          script => "ctx._source.count = (ctx._source.count ?: 0) + 1"
          script_type => "inline"
          script_lang => "painless"
      }

# 调试用(可选)
      stdout {
          codec => rubydebug
      }
  }

配置中同样需要将重置后的密码写上,还有就是配置crt文件的路径,crt文件需要从es容器中导出,然后在logstash启动时挂载。

复制代码
docker cp <容器名或ID>:<容器内文件路径> <宿主机目标路径>

logstash.yml文件也需要从容器中复制出来,进行一些修改,然后在启动时挂载,logstash修改后示例:

复制代码
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: ["https://172.17.0.2:9200"]
xpack.monitoring.elasticsearch.username: "elastic"
xpack.monitoring.elasticsearch.password: "123456"
xpack.monitoring.elasticsearch.ssl.certificate_authority: "/usr/share/logstash/config/http_ca.crt"



docker run -it --name logstash \
-v /usr/local/logstash/config/http_ca.crt:/usr/share/logstash/config/http_ca.crt \
-v /usr/local/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-v /usr/local/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml logstash:8.17.0
相关推荐
亿刀1 小时前
【学习VPN之路】路由表
android·docker
Elasticsearch1 小时前
LlamaIndex 和 Elasticsearch Rerankers:无与伦比的简洁
elasticsearch
超龄超能程序猿2 小时前
图片查重从设计到实现(2)Milvus安装准备etcd介绍、应用场景及Docker安装配置
docker·etcd·milvus
江湖有缘3 小时前
【Docker项目实战】在Docker环境下部署go-file文件分享工具
docker·容器·golang
小和尚同志13 小时前
26.4k Star 的开源自托管仪表盘,关注你想关注的一切
docker·容器·开源
Franciz小测测13 小时前
proxmox 解决docker容器MongoDB创建报错MongoDB 5.0+ requires a CPU with AVX support
运维·docker·容器
鹿先森AI探索之路16 小时前
Windows11 本地安装docker Desktop 部署dify 拉取镜像报错
运维·docker·容器
都叫我大帅哥17 小时前
Docker Compose:让多容器应用一键起飞 🚀
docker
<花开花落>19 小时前
解决 WSL 中无法访问 registry-1.docker.io/v2/,无法用 docker 拉取 image
docker
黑心的奥利奥21 小时前
Docker配置Gitlab-runner实现自动化容器化部署前端项目
docker·自动化·gitlab