Logstash:在 Docker 中部署 Logstash
文章转载自:https://elasticstack.blog.csdn.net/article/details/116516923
创建一个目录 docker-logstash。在该目录下,有如下的文件:
$ pwd
/data/docker-logstash
$ ls -al
total 16
drwxr-xr-x 5 liuxg staff 160 May 7 22:13 .
drwxr-xr-x 132 liuxg staff 4224 May 7 21:58 ..
-rw-r--r-- 1 liuxg staff 29 May 7 21:59 .env
-rw-r--r-- 1 liuxg staff 1039 May 7 22:37 docker-compose.yml
drwxr-xr-x 3 liuxg staff 96 May 7 22:18 logstash_pipeline
$ tree -L 3
.
├── docker-compose.yml
└── logstash_pipeline
└── ports.conf
在该目录中,它有一个 .env 文件。它里面定义了一个在 docker-compose.yml 需要用到的环境变量:
$ cat .env
ELASTIC_STACK_VERSION=7.12.1
通过使用 ELASTIC_STACK_VERSION 来定义我们想要的 Elastic Stack 的版本。
创建一个叫做 docker-compose.yml 的文件:
version: '3.7'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_STACK_VERSION}
container_name: es01
environment:
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elastic
kibana:
image: docker.elastic.co/kibana/kibana:${ELASTIC_STACK_VERSION}
container_name: kibana
ports: ['5601:5601']
networks: ['elastic']
environment:
- SERVER_NAME=kibana.localhost
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- I18N_LOCALE=zh-CN
depends_on: ['elasticsearch']
logstash:
image: logstash:${ELASTIC_STACK_VERSION}
ports:
- 5000:5000
volumes:
- type: bind
source: ./logstash_pipeline/
target: /usr/share/logstash/pipeline
read_only: true
networks:
- elastic
volumes:
esdata01:
driver: local
networks:
elastic:
driver: bridge
针对 Logstash 的安装,我们定义了一个 port 5000,这样我们在 Logstash 的配置文件中可以使用 TCP 的地址 5000 把数据传入到 Logstash 的 pipeline 中,并进行处理。同时,我们使用 volumes 的定义,把本地目录 logstash_pipeline 中的文件 bind 到 Logstash 的 /usr/share/logstash/pipeline 目录中,从而使得在 logstash_pipeline 中所定义的 pipeline 能够在 Logstash 启动后自动运行起来。
接下来看看在 logstash_pipeline 目录中定义的 ports.conf 文件:
# ports.conf
input {
tcp {
port => 5000
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "hello-logstash-docker"
}
}
这个配置文件非常简单。它接受来自 port 5000 的数据,并直接发到 Elasticsearch 中去。
Logstash:在 Docker 中部署 Logstash的更多相关文章
- ubuntu18 docker中部署ELK
ELK是ElasticSearch.Logstash.Kibana的简称,一般用于日志系统,从日志收集,日志转储,日志展示等入手,用以提供简洁高效的日志处理机制. 鉴于没有额外的机器,这里就用dock ...
- 在docker中部署centos7镜像
本篇文章参考自: https://www.cnblogs.com/linjj/p/5606911.html https://blog.csdn.net/u012767761/article/detai ...
- docker 中部署一个springBoot项目
docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...
- 如果在docker中部署tomcat,并且部署java应用程序
1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创 ...
- 在Docker中部署GreatSQL并构建MGR集群
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 为了方面社区用户体验GreatSQL,我们同时还提供Docker镜像,本文详细介绍如何在Docker中部署GreatSQL ...
- Docker中部署Kubernetes
Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机.集群管理.容器部署.高可用.弹性伸缩等一系列功能:Kubernetes的设计目标包括使容器集群任意时刻都处于用户期 ...
- docker中部署mongodb副本集
1.基本信息如下 服务器地址 192.168.73.129 副本集名称 rs 容器节点及端口映射 m0 37017:27017 m1 47017:27017 ...
- 记一次Docker中部署Asp.Net Core 3.0的踩坑过程
最近公司打算重构目前直销报单系统到微信小程序中,目前的系统只能在PC上面使用,这两年也搞过App端,但是由于人员流动和公司架构调整最后都不了了之,只留下一堆写了一半的接口.以前的接口依然是使用Asp. ...
- docker中部署django项目~~Dockfile方式和compose方式
1. 背景: 本机win10上,后端django框架代码与前端vue框架代码联调通过. 2. 目的: 在centos7系统服务器上使用docker容器部署该项目. 3. 方案一:仅使用基 ...
随机推荐
- 当mysql表从压缩表变成普通表会发生什么
前言 本文章做了把mysql表从压缩表过渡到普通表的实验过程,看看压缩表变成普通表会发生什么?本文针对mysql5.7和mysql8分别进行了实验. 1.什么是表压缩 在介绍压缩表变成普通表前,首先给 ...
- httrack使用cookie克隆站点
关于cookies使用在这里官方已有说明,意思是将cookies.txt文件放在项目的根目下即可,格式也给了说明.问题是cookie值太多,手动不好整理,所以就需要用到神器editthiscookie ...
- Java_占位符使用
public class t7 { public static void main(String[] args) { // TODO Auto-generated method stub //Java ...
- 【Go语言】(一)环境搭建与了解VScode工具
视频链接(p1~p8): golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!] 参考链接: 用vscode开发go的时候,安装go包报错:connectex: A connec ...
- 常用的函数式接口_Predicate接口_默认方法and和Predicate接口练习_集合接口筛选
默认方法:and 既然是条件判断,就会存在与.或.非三种常见的逻辑关系.其中将两个Preadicate条件使用"与"逻辑连接起来实现"并且"的效果时,可以使用d ...
- Keep In Line_via牛客网
题目 链接:https://ac.nowcoder.com/acm/contest/28537/H 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语 ...
- 解决ASP.NET Core在Task中使用IServiceProvider的问题
前言 问题的起因是在帮同事解决遇到的一个问题,他的本意是在EF Core中为了解决避免多个线程使用同一个DbContext实例的问题.但是由于对Microsoft.Extensions.Depende ...
- php里的$this的 含义
$this 的含义是表示 实例化后的 具体对象! 我们一般是先声明一个类,然后用这个类去实例化对象! 但是,当我们在声明这个类的时候,想在类本身内部使用本类的属性或者方法.应该怎么表示呢? 例如 ...
- uni-app 从0 到 1 制作一个项目,收藏等于学会
uni-app 是使用 vue.js 开发的所有前端应用框架,开发者编写的一套代码,可以发布到 ios.android.web ,以及各种小程序平台. 一.创建uni-app 1.hBuilderX ...
- Vue+Koa+MongoDB从零打造一个任务管理系统
大概是在18年的时候,当时还没有疫情.当时工作中同时负责多个项目,有 PC 端运营管理后台的,有移动端 M 站的,有微信小程序的,每天 git 分支切到头昏眼花,每个需求提测需要发送邮件,而且周五要写 ...