(五)史上最强ELK集群搭建系列教程——logstash搭建

13 篇文章 7 订阅

引言

本小节我们开始logstash服务的安装,这里要特别说明一下,作者并不是直接从前到后开始搭建这套ELK集群环境,而是以ES集群为核心,采用由点到面的搭建过程,因为其它的服务搭建过程大多数都是依赖elasticsearch的,我们搭建好了elasticsearch服务之后,相对来说,其它服务的正常与否和验证也就更加方便了。logstash其实本身就具有日志收集的能力,以及信息过滤处理等功能,但是为了使我们的日志收集系统更加高可用,发挥其性能优势,我们这里就采用了filebeat这款轻量级的日志收集器,外加kafka这款吞吐量高效的消息队列中间键分发消息给我们的logstash,最大化的发挥我们logstash的性能,这里不做赘述。由于logstash是一个无状态的流处理软件,本身是没有集群方案的,我们这里只是做一个横向扩展,通过kafka分发消息,logstash消费消息,从而增加其吞吐量。好了,开始我们的logstash服务搭建之旅。

正文

  • 拉取镜像

命令:docker pull logstash:7.11.1

  • docker-compose启动配置文件logstash-cluster.yml如下:
#elk集群版logstash配置
version: '3'
services:
  logstash-01:
    image: logstash:7.11.1
    container_name: elk-cluster-logstash-01
    hostname: logstash
    restart: always
    ports:
      - 9600:9600
      - 5044:5044
  logstash-02:
    image: logstash:7.11.1
    container_name: elk-cluster-logstash-02
    hostname: logstash
    restart: always
    ports:
      - 9601:9600
      - 5045:5044
  logstash-03:
    image: logstash:7.11.1
    container_name: elk-cluster-logstash-03
    hostname: logstash
    restart: always
    ports:
      - 9602:9600
      - 5046:5044
  • vi创建启动配置文件

  • docker-compose 启动logstash集群

命令:docker-compose -f logstash-cluster.yml  -p logstash up -d

特别说明:这里因为前面已经使用docker-compose启动过es集群,所以我们加一个 -p的参数作为区别,不然容器创建的目录是相同的,会有一个警告,不加也不影响,作者这里就加上了。

  • 修改logstash集群默认配置:

特此说明:以elk-cluster-logstash-01的配置为例说明,其它同上,这里就不在记录。因为目前还没有集成到kafka的消息,我们先以我们前面提到的ATP应用测试平台地址atp: 应用测试平台)测试平台产生一些日志数据,以供logstash收集,从而验证我们logstash是否可以正常工作。

(1)进入容器,vi编辑器修改logstash.yml配置

命令:docker exec -it elk-cluster-logstash-01 /bin/bash

(2)进入容器,vi编辑器修改logstash.conf配置

命令:docker exec -it elk-cluster-logstash-01 /bin/bash

input{
       #方式一:直接通过logback收集日志 
       tcp{
           port => 5044
           type => "atp"
           codec => "json_lines"
       }
       #方式二:kafka方式
}

output{
    if [type] == 'atp'{
        elasticsearch {
            #es地址
            hosts => "192.168.23.134:9200"
            #索引
            index => "elk-cluster-logstash-01-%{[app]}-%{+YYYY.MM.dd}"
        }
    }
    #kafka方式
}

注意:这里只是elk-cluster-logstash-01的配置修改,其它俩个的修改同上。区别只在于将output中的index索引换成自己的。这里其它部分一致,只以01,02,03区别。

  • 重启logstash集群

命令:docker-compose -f logstash-cluster.yml -p logstash restart

  • 验证logstash是否可以收集数据

 这里我们使用atp应用传输一些数据给logstash,具体的操作可以参考作者的单机版elk验证过程(一)ELK单机版日志系统搭建——docker方式

(1)使用es-head查看数据

(2)使用kibana查看数据

结语

ok,到这里我们logstash集群就安装完成了,后续我们会把kafka的数据也收集到logstash中,敬请期待,我们下期见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厉害哥哥吖

您的支持是我创作下去的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值