使用Docker搭建Logstash

使用Docker搭建Logstash

Logstash是一个开源的服务器端数据处理管道,它能够接收来自多个来源的数据,转换数据,然后将数据发送到您指定的目的地。使用Docker搭建Logstash是一个简单、高效的方式。本教程将分别介绍如何通过Docker CLI和Docker Compose来搭建Logstash。

使用Docker CLI搭建Logstash

1. 拉取Logstash镜像

首先,需要从Docker Hub上拉取最新版本的Logstash官方镜像。

bash 复制代码
docker pull docker.elastic.co/logstash/logstash:7.12.1

2. 启动Logstash容器

接下来,使用以下命令启动一个Logstash容器。此命令中包含了多个参数,下面会解释每个参数的作用。

bash 复制代码
docker run -d --name logstash_instance \
  -p 9600:9600 -p 5044:5044 \
  -v /path/to/your/logstash/config/dir:/usr/share/logstash/config \
  -v /path/to/your/logstash/pipeline:/usr/share/logstash/pipeline \
  docker.elastic.co/logstash/logstash:7.12.1
  • -d: 后台运行容器。
  • --name: 指定容器的名称,这里是logstash_instance。
  • -p 9600:9600: 将容器的9600端口映射到宿主机的9600端口,用于访问Logstash的监控API。
  • -p 5044:5044: 将容器的5044端口映射到宿主机的5044端口,这是Logstash常用的接收数据的端口。
  • -v /path/to/your/logstash/config/dir:/usr/share/logstash/config: 将宿主机上的Logstash配置目录挂载到容器内的配置目录。
  • -v /path/to/your/logstash/pipeline:/usr/share/logstash/pipeline: 将宿主机上的Logstash管道配置目录挂载到容器内的管道配置目录。

请替换/path/to/your/logstash/config/dir和/path/to/your/logstash/pipeline为实际路径。

使用Docker Compose搭建Logstash

1. 创建docker-compose.yml文件

在一个合适的目录下,创建一个名为docker-compose.yml的文件,并填入以下内容:

yaml 复制代码
version: '3.7'
services:
  logstash:
    image: docker.elastic.co/logstash/logstash:7.12.1
    container_name: logstash_instance
    ports:
      - "9600:9600"
      - "5044:5044"
    volumes:
      - /path/to/your/logstash/config/dir:/usr/share/logstash/config
      - /path/to/your/logstash/pipeline:/usr/share/logstash/pipeline

此配置文件定义了一个服务logstash,并设置了与CLI方法相同的参数。

2. 启动服务

在docker-compose.yml文件所在的目录下,运行以下命令来启动服务:

bash 复制代码
docker-compose up -d
  • up: 创建并启动容器。
  • -d: 后台运行。

参数说明

  • ports: 端口映射是用来允许外部访问容器内服务的方式。9600端口用于监控API访问,而5044是Logstash的一个常用端口,用于接收数据。
  • volumes: 卷挂载用于持久化和共享数据。这里,我们挂载了配置文件和管道定义,使得对这些文件的更改可以直接反映在容器中运行的Logstash实例上。
相关推荐
闲云自留地11 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
孙克旭_16 小时前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
java_logo1 天前
Docker 部署 EmulatorJS:轻松搭建浏览器复古游戏平台
游戏·docker·容器·复古游戏·轩辕镜像·emulatorjs·红白机
吴声子夜歌1 天前
Kubernetes权威指南——网络原理(一)
网络·容器·kubernetes
方便面不加香菜1 天前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
无人生还别怕2 天前
如何搭建docker仓库(轻量级)registry
linux·运维·docker·云原生·容器·registry·openanolisos
YYYing.2 天前
【K8s系列 (一) 】Docker与容器(上篇)
docker·云原生·容器·kubernetes
csdn_aspnet2 天前
使用 Docker 和 RedisInsight 设置 Redis 以进行本地开发
redis·docker·容器·redisinsight
余槐i2 天前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
csdn_aspnet3 天前
如何在本地 Docker 容器中运行 Redis,并使用 Redis Insight 和 Redis CLI 进行管理
redis·docker·容器