徒手搭建一个日志分析系统

应用FileBeat Kafka  LogStash  ElasticSearch  Kibana  搭建一个日志分析系统

elk+redis 搭建nginx日志分析平台

logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录。其次,需要有个队 列,redis的list结构正好可以作为队列使用。然后分析使用elasticsearch就可以进行分析和查询了。

我们需要的是一个分布式的,日志收集和分析系统。logstash有agent和indexer两个角色。对于agent角色,放在单独的web机 器上面,然后这个agent不断地读取nginx的日志文件,每当它读到新的日志信息以后,就将日志传送到网络上的一台redis队列上。对于队列上的这 些未处理的日志,有不同的几台logstash indexer进行接收和分析。分析之后存储到elasticsearch进行搜索分析。再由统一的kibana进行日志web界面的展示。

下面我计划在一台机器上实现这些角色。

准备工作

  • 安装了redis,开启在6379端口
  • 安装了elasticsearch, 开启在9200端口
  • 安装了kibana, 开启了监控web
  • logstash安装在/usr/local/logstash
  • nginx开启了日志,目录为:/usr/share/nginx/logs/test.access.log

1  下载各个安装包

https://www.elastic.co/cn/

 

2 kibanna安装及配置

(1)安装kibanna

wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-linux-x86_64.tar.gz tar -zxvf kibana-5.6.3-linux-x86_64.tar.gz cd kibana-5.6.3-linux-x86_64/

(2)kibanna配置

vim config/kibana.yml # 将默认配置改成如下: server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://127.0.0.1:9200" kibana.index: ".kibana"

(3)启动kibanna

/bin/kibanna

 

3 安装及启动elasticSearch

(1)  下载https://www.elastic.co/downloads/elasticsearch

(2)  启动./bin/elasticSearch

 

4 安装及配置logstash

(1)下载zip安装包

https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.zip

 

(2)在config目录下创建一个配置文件,可命名为logstash.conf,输入以下内容:

input {

        file {

                path => "/data/web/logstash/logFile/*/*"

                start_position => "beginning" #从文件开始处读写

        }

#       stdin {}  #可以从标准输入读数据

 

}

定义的数据源,支持从文件、stdin、kafka、twitter等来源,甚至可以自己写一个input plugin。如果像上面那样用通配符写file,如果有新日志文件拷进来,它会自动去扫描。

你可能感兴趣的:(ELK)