使用docker安装部署logstash 获取filebeat采集的日志 过滤后发送给elasticsearch

项目场景:

项目场景:使用docker安装部署logstash 获取filebeat采集的日志 过滤后发送给elasticsearch
前提:需要安装elasticsearch   可参考文章链接: 《Docker进行安装部署Elaticsearch》.


1.拉取

例如:首先从DockerHub上拉取logstash到本地 统一版本7.6.2

docker pull logstash:7.6.2

2.启动(只作为拷贝原文件使用)

docker run -d --name=logstash logstash:7.6.2

3.拷贝数据

#将logstash容器内的目录拷贝出来
docker cp logstash:/usr/share/logstash /home/yanglei/ElasticStackAll/LogsTashAll/logstash
#创建conf.d文件夹 用于后面写入配置文件
mkdir /home/yanglei/ElasticStackAll/LogsTashAll/logstash/logstash/config/conf.d
#对拷贝出来的文件进行权限更改
chmod 777 -R  /home/yanglei/ElasticStackAll/LogsTashAll/logstash/logstash/

4.编辑配置文件

#编辑syslog.conf
vi /home/yanglei/ElasticStackAll/LogsTashAll/logstash/logstash/config/conf.d/syslog.conf

将如下内容写入syslog.conf
现在主流都是采用filebeat来采集日志,所以输入只需要监听5004端口即可 不会filebeat采集的可参考这篇文章:《使用docker安装部署filebeat采集日志并发送给elasticsearch、logstash》

#输入监听5044 ---接收filebeat等beats传过来的日志信息
input {
	beats {
		port => "5044"
	}
}

#过滤nginx
filter {
	grok {
		match => { "message" => "%{IP:clientip} - (%{USERNAME:user}|-) \[%{HTTPDATE:timestamp}\] \"%{WORD:request_verb} %{NOTSPACE:request} HTTP/%{NUMBER:httpversion}\" %{NUMBER:status:int} %{NUMBER:body_sent:int} \"-\" \"%{GREEDYDATA:agent}\" \"-\"" }	# 过滤出自己需要的效果
		remove_field => "message"	# 删除出不需要的字段
	}
}

#输出到elasticsearch
output {
	elasticsearch {
		hosts => ["elasticsearch的IP:9200"]
		index => "logstash-%{+yyyy.MM.dd}"
	}
}
###################################################

5.删除容器

#删除logstash 
docker rm -f logstash 

6.重新启动容器

#启动logstash 
#/home/yanglei/ElasticStackAll/LogsTashAll/logstash/logstash 就是把宿主机的logstash挂载到容器内logstash目录
docker run -d --name=logstash --restart=always -p 5044:5044 -v /home/yanglei/ElasticStackAll/LogsTashAll/logstash/logstash:/usr/share/logstash/ logstash:7.6.2

7.查看是否有误

#查看logstash 日志
docker logs -f logstash 

logstash 查看日志没报错的话就正常运行了,可以通过elasticsearch-hade或者kibana来查看具体索引是否创建

elasticsearch-hade:查看索引
在这里插入图片描述

kibana:查看索引 未安装kibana可参考文章链接: 《使用docker安装部署kibana》.
在这里插入图片描述

推荐文章:《使用docker安装部署kibana》
推荐文章:《使用docker安装部署elaticsearch》
推荐文章:《使用docker安装部署Elaticsearch-hade》
推荐文章:《使用docker安装部署filebeat采集日志并发送给elasticsearch、logstash》
推荐文章:《使用docker安装部署logstash 获取filebeat采集的日志 过滤后发送给elasticsearch》


参考文章:https://cloud.tencent.com/developer/article/1703928 docker安装logstash

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是 logstashfilebeatdocker 部署步骤: 1. 首先,需要安装 dockerdocker-compose 工具。 2. 创建一个名为 `docker-compose.yml` 的文件,并在其中添加以下内容: ``` version: '3' services: logstash: image: docker.elastic.co/logstash/logstash:7.10.1 environment: - "ELASTICSEARCH_HOST=http://elasticsearch:9200" - "LOGSTASH_PIPELINE_WORKERS=1" - "LOGSTASH_PIPELINE_BATCH_SIZE=125" - "LOGSTASH_PIPELINE_BATCH_DELAY=50" volumes: - "./logstash/pipeline:/usr/share/logstash/pipeline" - "./logstash/config:/usr/share/logstash/config" - "./logstash/data:/usr/share/logstash/data" ports: - "5044:5044" depends_on: - elasticsearch networks: - elastic filebeat: image: docker.elastic.co/beats/filebeat:7.10.1 user: root volumes: - "./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro" - "/var/lib/docker/containers:/var/lib/docker/containers:ro" - "/var/run/docker.sock:/var/run/docker.sock:ro" command: filebeat -e -strict.perms=false depends_on: - elasticsearch networks: - elastic elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1 environment: - "discovery.type=single-node" - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - "./elasticsearch/data:/usr/share/elasticsearch/data" ports: - "9200:9200" - "9300:9300" networks: - elastic networks: elastic: driver: bridge ``` 3. 在同一目录下创建一个名为 `logstash` 的文件夹,并创建一个名为 `pipeline` 的文件夹,将您的 logstash pipeline 配置文件放在其中。创建一个名为 `config` 的文件夹来放置您的 logstash 配置。最后,创建一个名为 `data` 的文件夹来保存 logstash 数据。 4. 在同一目录下创建一个名为 `filebeat` 的文件夹,并在其中创建一个名为 `filebeat.yml` 的文件。在此文件中设置 filebeat 的配置。 5. 进入包含 `docker-compose.yml` 文件的目录,并运行以下命令启动容器: ``` docker-compose up -d ``` 6. 检查容器是否正在运行: ``` docker ps ``` 以上就是 logstashfilebeatdocker 部署步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值