1、说明
接下来,按照下图的结构:
服务器上运行nginx和logstash agent,产生的nginx日志发往redis;
redis起到发布订阅的作用;
logstash 服务器获取Redis中的日志,发往ES
node1 -->ES node2-->kibana node3-->logstash 服务器 node4-->redis、nginx、logstash agent
前面章节 ES、logstash、redis、nginx都已经安装完了;
2、kibana安装
https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz
[root@node2 ~]# tar zxf kibana-4.1.2-linux-x64.tar.gz -C /usr/local/ [root@node2 ~]# cd /usr/local/ [root@node2 local]# ln -sv kibana-4.1.2-linux-x64 kibana #指明ES路径 [root@node2 local]# cd kibana && vim config/kibana.yml elasticsearch_url: "http://192.168.3.111:9200" #后台启动,也可以配合nohup命令 [root@node2 kibana]# ./bin/kibana & #浏览器访问 http://ip:5601
3、配置logstash接收redis中的日志,并发给ES
node3当做logstash服务器,安装方式前面章节有,不再描述;
[root@node3 conf.d]# pwd /etc/logstash/conf.d #---- [root@node3 conf.d]# vim server.conf input { redis { port => 6379 host => "192.168.3.114" data_type => "list" key => "logstash-nginxlog" } } output { elasticsearch { cluster => "myes" #ES集群名 index => "logstash-%{+YYYY.MM.dd}" } } #这里在命令行启动的,可以用service logstash start启动为进程 但要注意conf.d目录下的文件,会被全部识别为配置文件,应该只放自己需要的 [root@node3 conf.d]# logstash -f server.conf --configtest [root@node3 conf.d]# logstash -f server.conf
4、配置kibana
浏览器打开:node2的IP+端口
在linux中用curl命令访问nginx,就可以搜索到了:
借助于ES,可以实现日志的近实时搜索;