首页 » 大数据 » 使用ELK搭建实时日志分析系统(2)

使用ELK搭建实时日志分析系统(2)

 
文章目录

利用Redis分布式收集日志

安装Redis

这个不用介绍了,本博客也有安装教程

Logstash中的redis

配置选项(部分)

data_type

可选项为:["list", "channel", "pattern_channel"]

list即为BLPOP模式,移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

channel为Subscribe订阅模式,用于订阅给定的一个或多个频道的信息。

pattern_channel为Psubscribe订阅模式,Redis Psubscribe 命令订阅一个或多个符合给定模式的频道。

每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等)。 news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等).

key

Redis队列或订阅频道名字。

codec

默认为JSON

host

Redis服务IP,默认为127.0.0.1

port

Redis端口,默认为6379

Logstash中的elasticsearch

hosts

可以是一组elasticsearch服务,这里会自动负载。 ["127.0.0.1:9200","127.0.0.2:9200"] ["https://127.0.0.1:9200"]

index

elasticsearch索引。默认是按天索引,"logstash-%{+YYYY.MM.dd}"。

action

index, delete, create, update四种类型。默认为index.

idle_flush_timeedit

强制刷新时间,默认为1秒。不受flush_size数量限制。

flush_size

刷新阈值,默认是500。达到500条记录就刷新。

配置客户端收集器

#创建客户端配置
input {
    file {
    path => ["/opt/deploy/engine-distribute-test-split2/apache-tomcat-7.0.55/logs/engine.log"]
    codec => json {
    charset => "UTF-8"
    }
  }
}
output {
        redis {
                host => "172.16.3.145"
                data_type => "list"
                key => "logstash:redis"
        }
}

nohup /opt/logstash/logstash/logstash-2.3.2/bin/logstash -f /opt/logstash/logstash/logstash-2.3.2/etc/client.conf &

配置服务端收集器

#ElasticSearch在本机
input {
        redis {
                host => "172.16.3.145"
                data_type => "list"
                key => "logstash:redis"
                type => "redis-input"
        }
}
output {
        stdout {}
        elasticsearch {
                hosts => ["localhost:9200"]
        }
}

#启动Index Server
nohup /opt/logstash/logstash/logstash-2.3.2/bin/logstash -f /opt/logstash/logstash/logstash-2.3.2/etc/indexServer.conf &


原文链接:使用ELK搭建实时日志分析系统(2),转载请注明来源!

0