Blackaay-blog
主页
(current)
docker部署 elasticsearch、kibana、logstash
创建于:2022-12-25 13:05:07 浏览量:2361
## 1、前置条件: 已安装了Docker 已安装 docker compose ## 2、下载docker-compose配置文件: 此处采用docker官方提供的elk demo 点击下载 [elasticsearch-logstash-kibana.zip](http://blog.blackaay.com/uploads/other/elasticsearch-logstash-kibana.zip "elasticsearch-logstash-kibana.zip") ## 3、修改配置文件 编辑 `compose.yaml`文件,按需修改以下参数 镜像版本:` image:` 容器名:`container_name` elasticsearch 配置 `ES_JAVA_OPTS ` ### 增加 elasticsearch 文件目录映射,编辑配置文件 volumes: - /这里是es需要映射的宿主机目录,用于持久化数据:/usr/share/elasticsearch/data - /自定义的配置/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml #### elasticsearch.yml cluster.name: "docker-cluster" network.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization xpack.security.enabled: true xpack.security.transport.ssl.enabled: true ### 增加 kibana 文件目录映射,编辑配置文件 volumes: - /自定义的配置/kibana.yml:/usr/share/kibana/config/kibana.yml #### kibana.yml # # ** THIS IS AN AUTO-GENERATED FILE ** # # # Default Kibana configuration for docker target server.name: kibana server.host: "0" elasticsearch.hosts: [ "http://elasticsearch:9200" ] xpack.monitoring.ui.container.elasticsearch.enabled: true i18n.locale: "zh-CN" elasticsearch.username: "用户名" elasticsearch.password: "密码" ### 原docker compose 文件 ```yaml services: elasticsearch: image: elasticsearch:7.16.1 container_name: es environment: discovery.type: single-node ES_JAVA_OPTS: "-Xms512m -Xmx512m" ports: - "9200:9200" - "9300:9300" healthcheck: test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] interval: 10s timeout: 10s retries: 3 networks: - elastic logstash: image: logstash:7.16.1 container_name: log environment: discovery.seed_hosts: logstash LS_JAVA_OPTS: "-Xms512m -Xmx512m" volumes: - ./logstash/pipeline/logstash-nginx.config:/usr/share/logstash/pipeline/logstash-nginx.config - ./logstash/nginx.log:/home/nginx.log ports: - "5000:5000/tcp" - "5000:5000/udp" - "5044:5044" - "9600:9600" depends_on: - elasticsearch networks: - elastic command: logstash -f /usr/share/logstash/pipeline/logstash-nginx.config kibana: image: kibana:7.16.1 container_name: kib ports: - "5601:5601" depends_on: - elasticsearch networks: - elastic networks: elastic: driver: bridge ``` ## 4、构建镜像,启动服务 在`compose.yml`文件同机目录执行,`docker compose up` ## 5、设置密码 `docker exec -it es sh`进入 elasticsearch容器 `elasticsearch-setup-passwords interactive`按照提示输入各个密码,注意与kibana配置文件中的密码一致性 ## 6、访问 elasticsearch 访问 `http://127.0.0.1:9200` kibana 访问 `http://127.0.0.1:5601` kibana服务一般比elasticsearch服务晚完成启动,可等等 