一、ELK介绍
ELK是Elasticsearch、Logstash、Kibana的简称,在此基础上可扩展Filebeat、mysql、redis、kafka等
Elasticsearch是一个分布式实时全文搜索引擎,是用Java语言开发的,基于RESTful web接口,,官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,都是基于Lucene。
Logstash是一个日志收集器。支持常见类型的日志,支持多种方式输出日志,例如Elasticsearch、kafka
Kibana是一个开源分析及可视化平台,需要结合Elasticsearch用来搜索、查看存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
官网地址: https://www.elastic.co/cn/
二、安装包下载
1、安装jdk
Elasticsearch 7.0.0以上版本需要JDK11,我这里安装的是jdk1.8,所以我选择了6.3.0
2、Elasticsearch、Kibana、Logstash安装包
左边下拉框可选择安装包,右边下拉框可选择版本
选择Download
按自己环境选择安装包(压缩包点击左边(不要点击 sha))
Linux解压命令:
tar -zxvf (tar包解压)
unzip (zip包解压)
注意:Elasticsearch、Kibana、Logstash安装包 版本要一致
三、部署
1、安装elasticsearch
进入 elasticsearch 的 config目录
vim elasticsearch.yml
在尾部加入:
cluster.name: elk
node.name: elasticsearch
network.host: 127.0.0.1
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
path.data: /opt/elk/elasticsearch-6.3.0/data
path.logs: /opt/elk/elasticsearch-6.3.0/logs
注释: path.data 和 path.logs 路径可自定义
项目后台启动:
./bin/elasticsearch &
访问: http://127.0.0.1:9200
看到以下信息即可
2、安装Kibana
进入kibana 的 config 目录
vim kibana.yml
server.port: 5601
server.host: "127.0.0.1"
elasticsearch.url: "http://127.0.0.1:9200"
kibana.index: ".kibana"
注释: IP地址可自定义, elasticsearch.url: 是 elasticsearch安装地址
启动kibana:
nohup ./bin/kibana &
访问: http://127.0.0.1:5601/
看到以下界面即可
3、安装Logstash
进入 Logstash 的 config 目录
创建配置文件: logstash.conf
(1)单个输入配置:
input {
file {
path => "/logs/ls_data_service/info/*.log"
start_position => beginning
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => "127.0.0.1:9200"
index => "ls_data_service_info -%{+YYYY.MM.dd}"
}
}
注释:
path => "logs/ls_data_service/info/*.log" 这里是自定义的log 文件路径
hosts => "127.0.0.1:9200" 可自定义elasticsearch地址
index => 这里的ls_data_service_info名称可自定义,%{+YYYY.MM.dd}是一个时间格式
(1)多个输入配置:
input {
file {
path => "/logs/ls_data_service/info/*.log"
start_position => "beginning"
type => "ls_data_service_info"
}
file {
path => "/logs/ls_data_service/error/*.log"
start_position => "beginning"
type => "ls_data_service_error"
}
}
output {
stdout {
codec => rubydebug
}
if [type] == "ls_data_service_info" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "ls_data_service_info-%{+YYYY.MM.dd}"
}
}
if [type] == "ls_data_service_error" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "ls_data_service_error-%{+YYYY.MM.dd}"
}
}
}
注释:可扩展配置输入redis、kafka、数据库等日志
启动Logstash:
./logstash -f ../config/logstash.conf &
或 nohup ./logstash -f ../config/logstash.conf &
配置索引:
点击管理
点击创建索引
网友评论