docker学习和使用

利用docker-compose安装elk

以下是使用 Docker-Compose 部署 ELK(Elasticsearch、Logstash 和 Kibana)的 YAML 文件示例:

1、准备工作

docker-compose.yml

主要注意ELASTICSEARCH_URL和ELASTICSEARCH_HOSTS不要使用127.0.0.1或者localhost可能kibana访问不到,其中es和logstash需要挂载两个配置文件也在下方。需要kibana中文版的话配置 I18N_LOCALE: zh-CN,一般environment指代容器环境变量使用大写。

version: '3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.1
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
    ports:
      - 9200:9200
    volumes:
      - esdata:/usr/share/elasticsearch/data
      - ./elasticsearch.yml://usr/share/elasticsearch/config/elasticsearch.yml
  logstash:
    image: docker.elastic.co/logstash/logstash:7.15.1
    container_name: logstash
    volumes:
      - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf
    ports:
      - 5044:5044
    depends_on:
      - elasticsearch
  kibana:
    image: docker.elastic.co/kibana/kibana:7.15.1
    container_name: kibana
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_URL: http://172.16.0.143:9200/
      ELASTICSEARCH_HOSTS: http://172.16.0.143:9200/
      I18N_LOCALE: zh-CN
volumes:
  esdata:
    driver: local

在上述 YAML 文件中,我们定义了三个服务:Elasticsearch、Logstash 和 Kibana。每个服务都有自己的镜像、容器名称、端口映射和环境变量等。

具体来说,我们使用 docker.elastic.co 中的官方镜像,版本号为 7.15.1。我们将 Elasticsearch 的 discovery.type 设置为 single-node,以便在单节点模式下运行。我们将 Elasticsearch 的 9200 端口映射到主机上,以便我们可以通过浏览器访问 Elasticsearch 的 API。

我们将 Logstash 的 ./logstash.conf 配置文件挂载到容器中,并将 Logstash 的 5044 端口映射到主机上,以便其他服务可以将数据发送到 Logstash 中进行处理。

我们将 Kibana 的 5601 端口映射到主机上,以便我们可以通过浏览器访问 Kibana 界面。我们还将 Kibana 的 ELASTICSEARCH_URLELASTICSEARCH_HOSTS 设置为 Elasticsearch 的地址和端口,以便 Kibana 可以连接到 Elasticsearch。

最后,我们定义了一个名为 esdata 的本地卷,用于存储 Elasticsearch 数据。

elasticsearch.yml

cluster.name: "docker-cluster" 
network.host: 0.0.0.0 
xpack.security.http.ssl.enabled: false

logstash.conf


input {
  stdin {}
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "my_index"
  }
}

2、运行容器

docker-compose up -d --build //启动服务

docker-compose  stop //关闭服务

docker logs -f kibana //查看容器运行状态 排查问题

es:127.0.0.1:9200

kibana:127.0.0.1:5601

logstash:127.0.0.1:5044

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值