redislogstash.conf内容                #服务端配置,logstash抓取redis数据,配置名自取

 

例一                          #redis读数据

input {

   redis {

       host => "127.0.0.1"

       port => 6379

       type => "redis-input"

       data_type => "list"

       key => "logstash:redis"

    }

}

 

output {                                          #输出到ela

  

   stdout {}

   elasticsearch {

       cluster => "elasticsearch"

       codec => "json"

        protocol => "http"

    }

}

 

例二                                          #redis读数据

 

  input {

 redis { 

   host => '192.168.233.130' 

   data_type => 'list' 

   port => "6379" 

   key => 'logstash:redis' 

   type => 'redis-input' 

        } 

        }

   

 output {                               #输出到ela

     elasticsearch { 

     embedded => true 

                   } 

        } 

 

 

 

logstash-kibama 9292

logstash-redis 6379

logstash-elasticsearch 9200
kibana 5601
 
 

 # vim redislogstash.conf                                #日志收集端配置,logstash集被监听日志文件数据,配置名自取

 
  input {                                      #收集监控端日志文件
      file {
      type => "producer"
      path => "/soft/apache.log"
      }
      file {
      type => "php-log"
      path => "/soft/php.log"
      }
  }
  filter {    # 日志内容里面只要有匹配 mysql或GET或error的内容就                   会被过滤出来,发送到 logstash index
         grep {
         match => [ "@message", "mysql|GET|error" ]
              }
         }
   
  output {                            #将收集的日志文件发送到redis
        redis {
        host => '192.168.233.130'
        data_type => 'list'
        key => 'logstash:redis'
         }
         }
 



测试程序发送数据 -> Redis消息队列 -> Logstash -> Elasticsearch集群
 

 通过管线化的思路增加索引速度

为了解决Redis队列的瓶颈问题,使用多管线机制,来增加整个系统的吞吐量,为此,我们同时部署了多个Redis实例,和对应数量的Logstash实例:

测试程序发送数据 -> Redis消息队列1 ->Logstash1 -> Elasticsearch集群

测试程序发送数据 -> Redis消息队列2 ->Logstash2 -> Elasticsearch集群

测试程序发送数据 -> Redis消息队列3 ->Logstash3 -> Elasticsearch集群

...

采用管线机制的好处是,扩展性是显而易见的