ELK 是一个log分析,采集的工具。他给咱们提供了多重的组件。node
经常使用的3个组件算法
E: ElasticSearchvim
日志存储组件,底层是luence实现,采用倒排排序算法。也有本身内部的索引系统tomcat
L: Logstashdom
日志采集,分析,过滤 功能实现模块,将采集到的数据存储在E 中elasticsearch
K: Kibanatcp
展现模块,回将采集到的数据,展现出来,能够用做大屏展现。工具
安装的话,就先从最核心的模块E 开始了。url
elasticsearch 2.4.6,kibana4.6.1 ,logstash2.4.0。spa
5以上的对系统的实时性会有一些保证,若是对实时性有要求的话,用5以上版本。
下载能够在官网上面下载。
https://www.elastic.co/cn/products/2.4.6
注意ES 不能使用root 用户安装。
在config 目录下面修改 vim elasticsearch.yml
cluster.name: my.elk #集群名称,若是有多个集群,那么每一个集群名就得是惟一的
node.name: node-192.168.0.8 #节点名称
node.master: true #该节点是不是master,true表示是的,false表示否,默认是true
node.data: true #该节点是否存储数据,默认true表示是的
http.port: 9200 #http访问端口,默认是9200,经过这个端口,调用方能够索引查询请求
transport.tcp.port: 9300 #节点之间通讯的端口,默认为9300
network.host: 0.0.0.0 #访问地址 配置外网访问
#discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:8300"]
#node.max_local_storage_nodes: 2 #设置一台机子能运行的节点数目,通常采用默认的1便可,由于咱们通常也只在一台机子上部署一个节点
若是启动成功 , 能够登入地址,能够看到下面的信息。
./ plugin install mobz/ elasticsearch-head
在head 目录下 就有以下文件。 而后从新启动es。
head 装好以后的图形化界面。
1)下载。
仍然能够在官网下载。
2)解压。
3)修改配置文件。
input { //收集标志
file {
type => "log" //自定义
path => ["/export/home/tomcat/domains/*/*/logs/*.log"] //收集日志的地方,注意不能远程收取
start_position => "end" //若是log文件已经很大了 不要配start,第二次会有记录
ignore_older => 0 //忽略最后修改时间是大于多少s的
codec=> multiline { //重点注意 解决日志换行问题。
pattern => "^%{TIMESTAMP_ISO8601}"
negate => true
what => "previous"
}
}
beats {
port => 5044
}
}
output {
if [type] == "log" {
elasticsearch {
hosts => ["http://127.0.0.1:9200"]
index => "log-%{+YYYY.MM}" //表示的是索引库 按日期分
}
}
}
./bin/logstash -f conf/log.conf
运行成功 能够在ES 上看到信息
与前面步骤同样,下载,配置。kiban 相对简单一些。
elasticsearch.url: http://localhost:9200
server.host: 0.0.0.0
启动命令:./kibana
后台启动:nohup ./bin/kibana &
192.168.31.128:5601 访问5601
注意配置的时候必定要跟索引的名称相同