赞
踩
由于最近工作需要可视化展示并分析数据,因此,便利用ELK(ElasticSearch、Logstash、Kibana)在winodows下搭建了一套日志分析系统。
ElasticSearch是一个基于Lucene的搜索分布式服务器,便于存储和检索数据;
Logstash是一个开源的日志收集管理工具,用于往ES中写入数据;
Kibana是一个开源的分析与可视化平台,用于高级数据分析与可视化。
搭建ELK环境前,需保证电脑中安装了Java环境,且Logstash需要JDK1.8。以下为相关软件下载地址:
1、Java JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、Logstash https://www.elastic.co/downloads
3、Elasticsearch https://www.elastic.co/downloads
4、Kibana https://www.elastic.co/downloads
JDK的安装方式在此不过多叙述,按需自行百度。ElasticSearch、Logstash、Kibana下载完后,均无需安装,直接解压即可。
由于我们需要从本地文件导入数据,所以指定data的存放目录即可。进入到config目录下,修改elasticsearch.yml 文件:
点击D:\yuzhan\develop\elasticsearch-6.3.2\bin\elasticsearch.bat,启动elasticsearch,访问http://localhost:9200/出现以下信息表示elasticsearch安装成功。
Logstash 核心命令是 Input--->Filter--->Output,可通过命令方式输入配置,也可以通过加载.conf文件进行配置。本文使用文件加载配置。在bin目录中新建stdin.conf文件,输入以下信息:
- input {
- file{
- path => "E:/yuzhan/workspace/ELK/tmp/*.csv"
- start_position => beginning
- }
- }
-
- filter {
- grok {
- patterns_dir => "patterns.txt"
- match =>{ "message" => "%{DATA:name},%{DATA:person_id},%{DATA:email},%{DATA:tel},%{DATA:adress},%{DATA:from}%{S}" }
- }
- mutate{
- remove_field => ["host","path","message","@timestamp","@version"]
- }
- }
-
- output {
- elasticsearch { hosts => ["localhost:9200"]
- index => "sgdb"
- document_type =>"sgdb"
- }
- stdout { codec => rubydebug }
- }
其中,patterns.txt中记录的是模式,内容如下
S \s
E:/yuzhan/workspace/ELK/tmp/*.csv中存储的是需要读取的文件数据,本文格式如下:
Name,person_id,EMail,tell,Address,from
CMD进入D:\yuzhan\develop\logstash-6.3.2\bin中,执行以下命令
logstash.bat -f stdin.conf
如果出现以下情况,则表示logstash配置成功:
注意:logstash每次对某一文件处理后便不会处理,如需再次处理,需删除D:\yuzhan\develop\logstash-6.3.2\data\plugins\inputs\file下的文件。
CMD进入D:\yuzhan\develop\kibana-6.3.2\bin,执行以下命令:
kibana.bat
访问http://localhost:5601,出现以下情况,则表示kibana安装成功:
到此,ELK环境配置完成。
首先,Set up Index Patterns, 名称与stdin.conf文件中elasticsearch->index一致。
然后,点击Discover,即可查看刚导入的数据,并可对此进行检索和分析。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。