Logstash主要做由三部署组成:

  1. Collect:数据输入
  2. Enrich:数据加工,如过滤,改写等
  3. Transport:数据输出

下面来安装一下:

wget https://download.elastic.co/logstash/logstash/logstash-2.3.2.tar.gz
tar -zxvf logstash-2.3.2.tar.gz  

在logstash-2.3.2目录下创建文件shipper.conf并配置:

input {
    file {
       path => [  "/var/log/test_logstash.log" ]
     }
}

filter {
   mutate {
     replace => ["host", "192.168.0.127 B[1]"]
   }
}

output {
 redis {
    host => "192.168.0.127"
    port => 6379
    db => 8
    data_type => "channel"
    key => "logstash_list_0"
  }
}

在logstash-2.3.2目录下创建文件indexer.conf并配置:

input {
  redis {
       host => "192.168.0.127"
       port => 6379
       db => 8
       data_type => "channel"
       key => "logstash_list_0"
   }
}

output {
   file {
       path => "/var/log/all.log"
       message_format => "%{host} %{message}"
       flush_interval => 0
   }
}

下面就可以启动了,命令如下:

bin/logstash agent -f indexer.conf &>/dev/null &
bin/logstash agent -f shipper.conf &>/dev/null &
tail -f /var/log/all.log

然后再打开一个命令终端,改变被监控的日志内容:

echo "Hello World" >> /var/log/test_logstash.log

如下图:

剑指架构师系列-Logstash分布式系统的日志监控-LMLPHP

或者也可以查看redis-cli,如下:

剑指架构师系列-Logstash分布式系统的日志监控-LMLPHP

  

 

 

05-11 13:56