Docker-Compose部署ELK教程

Docker-Compose部署ELK教程

1. 环境

2. 部署elasticsearch

2.1.创建elasticsearch.yml文件

vim elasticsearch.yml

cluster:
  name: "cluster-elastic"
discovery:
  type:  single-node 
network:
  host: 0.0.0.0 
node:
  name: standalone-node-1
http:
  host: 0.0.0.0 
  cors:
    enabled: true 
    allow-origin: "*"
xpack: 
  security: 
    enabled: true  
2.2. 创建elasticsearch的docker-compose.yml文件

vim docker-compose.yml

version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.17.4  #镜像
    container_name: pl_elk_elasticsearch  #定义容器名称
    restart: always  #开机启动,失败也会一直重启
    environment:
      - "cluster.name=elasticsearch" #设置集群名称为elasticsearch
      - "discovery.type=single-node" #以单一节点模式启动
      - "ES_JAVA_OPTS=-Xms1g -Xmx2g" #设置使用jvm内存大小
    volumes:
      - /home/data/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载
      - /home/data/elk/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载
      - /home/data/elk/elasticsearch/logs:/usr/share/elasticsearch/logs #日志文件挂载
      - /home/data/elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml #日志文件挂载
      - /etc/localtime:/etc/localtime #时区
    ports:
      - 9200:9200
      - 9300:9300
2.3. 启动elasticsearch
docker-compose up -d 

3. 部署kibana和logstash

3.1. 创建kibana.yml文件

vim kibana.yml

server: 
  name: kibana 
  host: "0" 
xpack:
  monitoring:
    ui:
      container:
        elasticsearch:
          enabled: true 
elasticsearch:
  # 自定义账号
  username: "elastic" 
  #自定义密码
  password: "elastic@2022" 
  # http://内网ip+elasticsearch端口号
  hosts: [ "http://10.0.168.217:9200" ]
3.2. 创建logstash.conf

vim logstash.conf

input {
  beats {
    port => 5044
  }
}

filter {
	kv {
		source => "message"
	}	
}

output {
  stdout {
    codec => rubydebug
  }
}
3.3. 创建kibana和logstash的docker-compose.yml文件

vim docker-compose.yml

version: '3'
services:
  kibana:
    image: kibana:7.17.4
    container_name: pl_kibana
    restart: always
    environment:
      - ELASTICSEARCH_URL=http://10.0.168.217:9200 #设置访问elasticsearch的地址
      - SERVICE_IP=10.0.168.217
      - ELASTIC_USERNAME=elastic
      - ELASTIC_PASSWORD=elastic@2022
    ports:
      - 5601:5601
    volumes:
      - /home/data/kibana/config:/usr/share/kibana/config
      - /etc/localtime:/etc/localtime
  logstash:
    image: logstash:7.17.4
    container_name: pl_elk_logstash
    restart: always
    volumes:
      - /home/data/elk/logstash/config/conf.d:/usr/share/logstash/pipeline #挂载logstash的配置文件
      - /home/data/elk/logstash/config/yaml:/usr/share/logstash/config #挂载logstash的配置文件
      - /etc/localtime:/etc/localtime
    ports:
      - 4560:4560
      - 9600:9600
3.4. 启动kibana和logstash
docker-compose up -d 

4. 自此ELK部署完成

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,下面是使用docker-compose安装ELK的简要教程: 1. 首先,确保你已经安装了Dockerdocker-compose工具。 2. 创建一个新的目录,用于存放ELK的配置文件和数据。例如,可以在命令行中运行以下命令创建一个名为elk的文件夹: ``` mkdir elk cd elk ``` 3. 在elk目录中创建一个名为docker-compose.yml的文件,并使用文本编辑器打开它。 4. 将以下内容复制并粘贴到docker-compose.yml文件中: ```yaml version: '3.7' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 logstash: image: docker.elastic.co/logstash/logstash:7.14.0 container_name: logstash volumes: - ./logstash/config:/usr/share/logstash/pipeline ports: - 5000:5000 kibana: image: docker.elastic.co/kibana/kibana:7.14.0 container_name: kibana ports: - 5601:5601 ``` 这个docker-compose.yml文件定义了三个服务:Elasticsearch、Logstash和Kibana。其中,Elasticsearch提供数据存储和搜索功能,Logstash用于数据处理和传输,Kibana提供了一个可视化的控制台。 5. 保存并关闭docker-compose.yml文件。 6. 在elk目录中创建一个名为logstash的文件夹,并在该文件夹中创建一个名为config的文件夹。 7. 进入config文件夹,并创建一个名为logstash.conf的文件,并使用文本编辑器打开它。 8. 将以下内容复制并粘贴到logstash.conf文件中: ``` input { tcp { port => 5000 codec => json_lines } } output { elasticsearch { hosts => "elasticsearch:9200" index => "logs-%{+YYYY.MM.dd}" } } ``` 这个logstash.conf文件定义了一个TCP输入插件,监听端口5000,并将数据发送到Elasticsearch。 9. 保存并关闭logstash.conf文件。 10. 返回elk目录,并在命令行中运行以下命令启动ELK堆栈: ``` docker-compose up -d ``` 这将下载并启动Elasticsearch、Logstash和Kibana的Docker镜像。 11. 等待一段时间,直到所有容器成功启动。你可以使用以下命令检查容器的状态: ``` docker-compose ps ``` 12. 现在,你可以通过浏览器访问Kibana的Web界面。打开http://localhost:5601/,你将看到Kibana的欢迎页面。 这样,你就成功地使用docker-compose安装了ELK堆栈。你可以通过配置Logstash来接收和处理日志数据,然后使用Kibana进行可视化和查询。请注意,这只是一个简单的示例,你可以根据自己的需求进行配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值