• 5,扩展方案


    之前的章节讲述的都是单个Logstash进程,及其对数据的读取,解析和输出处理。
    
    但是,在生产环境中,从每台应用服务器运行logstash 进程并将数据直接发送到Elasticsearch里,显然不是第一选择,
    
    
    原因有三:
    
    1. 过多的客户端连接对Elaticsearch 是一种额外的压力
    
    
    2. 网络抖动会影响到Logstash 进程,进而影响生产应用
    
    3.运维人员未必愿意在生产服务器上部署Java,或者让Logstash 跟业务代码争夺Java资源。
    
    所以,在实际运用中,Logstash 进程被氛围两个不同的角色。
    
    1.运行在应用服务器上的尽量减轻运行压力,只做读取和转发,这个角色叫Shipper
    
    
    2.运行在独立服务器上的完成数据解析处理,负责写入Elasticsearch的角色 叫做Indexer
    
    
    5.1 通过Redis 队列扩展:
    
    
    Redis 服务器是Logstash 官方推荐的Broker选项,Broker 角色也就意味着会同时存在输入和输出两个插件。
    
    
    5.1.1 读取Redis数据
    
    zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat redis.comf 
    input {
        redis {
           data_type =>"pattern_channel"
           key =>"logstash-list"
           host=>"192.168.32.67"
           port=>6379
           password => "1234567"
              }
    }
    
    output {
     stdout {
      codec=>rubydebug{}
       }
    }
    
    
    
    zjtest7-frontend:/usr/local/logstash-2.3.4/config# ../bin/logstash -f redis.comf 
    Settings: Default pipeline workers: 1
    Pipeline main started
    {
           "message" => "hello zjzc",
              "tags" => [
            [0] "_jsonparsefailure"
        ],
          "@version" => "1",
        "@timestamp" => "2016-09-01T06:29:47.551Z"
    }
    

  • 相关阅读:
    Java批量文件打包下载
    Java Swing
    空白文章
    linux 用户创建、管理、权限分配
    在虚拟机下安装hadoop集成环境(centos7+hadoop-2.6.4+jdk-7u79)
    《转载》POI导出excel日期格式
    java导出生成word(类似简历导出)
    《sqoop实现hdfs中的数据导出至mysql数据库》
    c# winform 自动关闭messagebox 模拟回车
    Ubuntu下启动/重启/停止apache服务器
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350313.html
Copyright © 2020-2023  润新知