基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)

时间:2023-03-09 19:30:08
基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)

一 方案背景

    通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。开源实时日志分析ELK平台能够完美的解决日志收集和日志检索、分析的问题,ELK就是指ElasticSearch、Logstash和Kiabana三个开源工具。
    因为ELK是可以跨平台部署,因此非常适用于多平台部署的应用。

二 环境准备

1. 安装JDK1.8环境
    2. 下载ELK软件包

分别解压下载的软件,elasticsearch,logstash,kibana 可以放在一个统一文件夹下

三 部署

1.配置logstash

在logstash文件夹的下bin目录创建配置文件logstash.conf ,内容如下:

  1. input {
  2. # 以文件作为来源
  3. file {
  4. # 日志文件路径
  5. path => "F:\test\dp.log"
  6. }
  7. }
  8. filter {
  9. #定义数据的格式,正则解析日志(根据实际需要对日志日志过滤、收集)
  10. grok {
  11.     match => { "message" => "%{IPV4:clientIP}|%{GREEDYDATA:request}|%{NUMBER:duration}"}
  12. }
  13. #根据需要对数据的类型转换
  14. mutate { convert => { "duration" => "integer" }}
  15. }
  16. # 定义输出
  17. output {
  18. elasticsearch {
  19. hosts => ["localhost:9200"] #Elasticsearch 默认端口
  20. }
  21. }  
在bin目录下创建run.bat,写入一下脚本:
  1. logstash.bat -f logstash.conf
执行run.bat启动logstash。

2. 配置Elasticsearch

Elasticsearch默认端口9200,执行bin/elasticsearch.bat即可启动。

启动后浏览器访问 127.0.0.1:9200 ,出现以下的json表示成功。

基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)

3.配置kibana

Kibana启动时从文件kibana.yml读取属性。默认设置配置Kibana运行localhost:5601。要更改主机或端口号,或者连接到在其他机器上运行的Elasticsearch,需要更新kibana.yml文件。

执行bin/kibana.bat启动Kibana。

四 测试

1.创建Index

    用浏览器打开http://localhost:5601/  系统会提示创建Index,可以按时间创建Index。在Discover选项卡上你会看到你刚刚在dp.log中输入的内容。
基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)

2. 检索日志

快速检索定位。
基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)

3. 日志分析

    新建Visualize,选择Line(当然其他视图都可以)。然后选择数据源。
基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)
 X轴选择时间,Y轴分别为访问接口的最大耗时和平均耗时。
基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)
 创建Dashboard视图,可以将相关图标放在一个视图,方便分析。
基于logstash+elasticsearch+kibana的日志收集分析方案(Windows)