本文主要是介绍在windows10系统上搭建分布式日志系统elk
elk其实就是ElasticSearch(ES)、Logstash和Kiabana三个开源的工具组成。
- ES是个开源的分布式搜索引擎,它的特点是:分布式、零配置、自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
- Logstash是一个完全开源的工具,开源对日志进行收集、分析、并将其储存以后使用。
- Kibana也是一个完全开源的免费的工具,它为Logstash和ES提供日志的友好分析界面开源帮助汇总、分析和搜索重要的数据日志。
本文章是在windows10环境下单机版使用,版本为:
- elasticsearch-7.12.0
- kibana-7.12.0-windows-x86_64
- logstash-7.12.0-windows-x86_64
可以在ELK官网 https://www.elastic.co/下载最新版本的工具安装包
1、需要的安装包
要求本机必须安装JAVA环境,配置好jdk
2、安装ElasticSearch
解压ElasticSearch并打开config目录下elasticsearch.yml
network.host: 127.0.0.1
http.port: 9200
# 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
启动ElasticSearch,进入bin目录,elasticsearch.bat启动成功,打开浏览器访问:http://127.0.0.1:9200
说明ElasticSearch启动成功。
安装elasticsearch-head插件(这是elasticsearch的一个web端管理插件,通过管理插件可以查看ElsasticSearch的客户端工具,由node.js构建的前端工程。)git地址:https://github.com/mobz/elasticsearch-head ,通过idea下载到本地目录,打开结构如下:
在Terminal控制台执行命令后
1、执行 npm install
2、执行 npm run start
在浏览器访问http://localhost:9100,可看到如下界面,表示启动成功:
3、安装Logstash
进入Logstash/config兖新建配置文件logstash.conf ,内容如下:
input {
file {
type => "nginx_access"
path => "d:/elk/logs/logstash.log"
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "access-%{+YYYY.MM.dd}"
}
stdout {
codec => json_lines
}
}
启动Logstash,进入logstash/bin执行: .\logstash.bat -f ../config/logstash.conf
启动成功。
4、启动Kibana
进入Kibana下config下的kibana.yml修改为:
server.port: 5601
server.host: "127.0.0.1"
elasticsearch.hosts: ["http://localhost:9200"]
启动Kibana,进入Kibana/bin执行:kibana.bat,打开浏览器访问http://localhost:5601/
5、修改项目输出日志到es
启动项目会在d:\elk\logs生成一个日志文件
同时刷新elasticsearch-head会出现access-2021.07.01
6、通过Kibana查询日志
在Kibana配置索引
访问项目新增的写日志接口
调用这个health接口,就可以再Kibana查询到日志信息
到此日志系统完成。
7、总结
ELK套件(ELK stack)是指ElasticSearch、Logstash和Kibana三件套。这三个软件可以组成一套日志分析和监控工具。