ELK

1、说明

接下来,按照下图的结构:

image_thumb[3]

服务器上运行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


刷新nginx的页面,去ES中查看,可见已经接收到日志了:
image


4、配置kibana

浏览器打开:node2的IP+端口


image


在linux中用curl命令访问nginx,就可以搜索到了:

image


借助于ES,可以实现日志的近实时搜索;

原文地址:https://www.cnblogs.com/weiyiming007/p/12764890.html