一、 ELK简介
ELK是Elastic公司的三个组件,三个组件共同配合实现日志收集。
Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。
Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。
Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。
二、 ELK环境安装
1. Logstash(Windows)
1.1下载logstash
https://www.elastic.co/downloads/logstash
1.2解压logstash的zip压缩包
1.3进入bin目录,新建文件logstash_default.conf
input {
stdin{
}
}
output {
stdout{
}
}
1.4在bin目录下新建文件run_default.bat
1.5 cmd控制台启动logstash
logstash -f logstash_default.conf
1.6在浏览器访问http://localhost:9600/
成功启动logstash
2. ElasticSearch(Windows)
安装elasticsearch7.6和elasticsearch
2.1下载安装elasticsearch
https://www.elastic.co/cn/downloads/elasticsearch
2.2解压es的压缩包
进入bin目录,双击elasticsearch.bat脚本,es便开始安装
2.3打开浏览器,访问http://localhost:9200/
成功启动elasticsearch
2.4安装ElasticSearch5.6.8 Head插件
2.4.1安装nodejs
从https://nodejs.org/en/download/下载msi走安装流程。
2.4.2安装grunt
grunt是一种构建工具,类似于Maven,可以进行打包压缩、测试、执行等等的工作.
head插件就是通过grunt启动的,因此需要安装grunt.
#切换到E:\Node下.
npm install -g grunt-cli
#-g代表全局安装.
2.4.3把head插件从GitHub上clone下来
git clone git://github.com/mobz/elasticsearch-head.git
2.4.4通过elasticsearch.bat启动,访问http://localhost:9100/
3. Kibana(Windows)
3.1点击kibana官网下载,https://www.elastic.co/downloads/kibana
kibana的版本和elasticsearch的版本和必须一致.
3.2进入kibana的bin目录,双击kibana.bat
3.3访问 http://localhost:5601
三、 配置logstash
1. 创建logstash.conf配置文件
在bin目录下创建logstash.conf,文件内容为:
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 4560
codec => json_lines
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "springboot-logstash-%{+YYYY.MM.dd}"
}
}
2. 启动logstash
logstash -f logstash.conf