ElasticSearch、Logstash和Kiabana三个开源工具。

一 方案背

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

    因为ELK是可以跨平台部署,因此非常适用于多平台部署的应用。

二 环境准备

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

  • logstash: https://artifacts.elastic.co/downloads/logstash/logstash-5.5.0.zip
  • elasticsearch:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip
  • kibana: https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-windows-x86.zip 

    分别解压下载的软件,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.bat即可启动。

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

 

 

 

3.配置kibana

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

kibana.bat启动Kibana。

 

四 测试

    1.创建Index    

    用浏览器打开http://localhost:5601/  系统会提示创建Index,可以按时间创建Index。在Discover选项卡上你会看到你刚刚在dp.log中输入的内容。

 2. 检索日志

快速检索定位。

 

3. 日志分析

    新建Visualize,选择Line(当然其他视图都可以)。然后选择数据源。

 X轴选择时间,Y轴分别为访问接口的最大耗时和平均耗时。

 创建Dashboard视图,可以将相关图标放在一个视图,方便分析。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣(LeetCode)292. Nim游戏 巴什博奕

你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数…

Spring Cloud应用监控与管理Actuator

由于我们把一个复杂高耦合的单体系统拆分成了多个小型服务,所以部署应用的数量在不断增长,造成维护复杂度大大提升。所以我们需要一套自动化的监控运维机制,这套运维机制可以不间断的获取每个服务应用的各种指标,并根据这些指标信…

第十二届湖南省赛 (B - 有向无环图 )(拓扑排序+思维)好题

Bobo 有一个 n 个点,m 条边的有向无环图(即对于任意点 v,不存在从点 v 开始、点 v 结束的路径)。为了方便,点用 1,2,…,n 编号。 设 count(x,y) 表示点 x 到点 y 不同的路径数量(规定 count(x,x)0&#xff…

GC 调优(实战篇) - GC参考手册

说明: Allocation Rate, 翻译为分配速率, 而不是分配率; 因为不是百分比,而是单位时间内分配的量; 同理, Promotion Rate 翻译为 提升速率; 您应该已经阅读了前面的章节: 垃圾收集简介 - GC参考手册Java中的垃圾收集 - GC参考手册GC 算法(基础篇) - GC参考手册GC 算法(实现篇)…

01 HTML

1.什么是HTML?(Hyper Text Markup Language:超文本标记语言)超文本:功能比普通文本更加强大标记语言:使用一组标签对内容进行描述的一门语言(它不是编程语言)2.语法和规范?HTML文件都是以.html或者.htm结尾的,建议使用…

图的四种最短路径算法

本文总结了图的几种最短路径算法的实现:深度或广度优先搜索算法,弗洛伊德算法,迪杰斯特拉算法,Bellman-Ford算法 1),深度或广度优先搜索算法(解决单源最短路径) 从起始结点开始访问所…

ZooKeeper集群与Leader选举

说说你对ZooKeeper集群与Leader选举的理解? ZooKeeper是一个开源分布式协调服务、分布式数据一致性解决方案。可基于ZooKeeper实现命名服务、集群管理、Master选举、分布式锁等功能。 高可用 为了保证ZooKeeper的可用性,在生产环境中我们使用ZooKeeper…

JVM初探:内存分配、GC原理与垃圾收集器

JVM内存的分配与回收大致可分为如下4个步骤: 何时分配 -> 怎样分配 -> 何时回收 -> 怎样回收. 除了在概念上可简单认为new时分配外, 我们着重介绍后面的3个步骤: I. 怎样分配- JVM内存分配策略 对象内存主要分配在新生代Eden区, 如果启用了本地线程分配缓冲, 则优先在…

02 CSS

使用 table 进行布局存在缺陷,而一般的布局都会采用 DIVCSS 来进行布局。 Div 它是一个html 标签,一个块级元素(单独显示一行)。它单独使用没有任何意义,必须结合 CSS 来使用。它主要用于页面的布局。 Span 它是一个 html 标签,…

一致性哈希算法 应用

互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库。在这样严峻的条件下,一批又一批的创业者从创业中获得成 功,这个和当前的开源技术、海量数据架构有着必不可分的关系。比如我们使用m…

单个节点的缓存容量达到上限 Hash算法一致性

场景 单个节点的缓存容量达到上限,无法继续单点增加内存,如何解决? 单个节点支撑的QPS达到上限,如何解决? 初步方案 增加N个缓存节点,为了保证缓存数据的均匀,一般情况会采用对key值hash&…

java学习笔记11 (构造方法 this深探)

在开发中,经常需要在创建对象的同事明确对象对的属性值,比如一个person对象创建的时候就应该有name和age 等属性,那么如何做到在创建对象的同时给对象的属性值初始化值呢? 这里介绍构造方法 1 构造方法没有返回值类型,…

编程算法 - 将排序数组按绝对值大小排序 代码(java)

一个含有多个元素的数组&#xff0c;有多种排序方式。它可以升序排列&#xff0c;可以降序排列&#xff0c;也可以像我们以前章节说过的&#xff0c;以波浪形方式排序&#xff0c;现在我们要看到的一种是绝对值排序。对于数组A,绝对值排序满足以下条件&#xff1a;|A[i]| < …

数据结构09图

第七章 图 Graph 7.1 图的定义和术语 顶点 Vertex V 是顶点的有穷非空集合&#xff0c;顶点数 |V| n VR 两个顶点之间关系的集合&#xff0c;边数 |VR| e 有向图 Digraph <v, w> Arc v Tail / Inital node w Head / Terminal node 无向图 Undigraph <v, w> 必…

aspnetcore源码学习(一)

---恢复内容开始--- 笔者从事netcore相关项目开发已经大半年了&#xff0c;从netcore 1.0到现在3.0大概经过了3年左右的时间&#xff0c;记得netcore刚出来的时候国内相关的学习资料缺乏&#xff0c;限制于外语不大熟练的限制国外的相关书籍看起来相当吃力&#xff0c;于是在当…

评估一个垃圾收集(GC)

在实践中我们发现对于大多数的应用领域&#xff0c;评估一个垃圾收集(GC)算法如何根据如下两个标准&#xff1a; 吞吐量越高算法越好暂停时间越短算法越好 首先让我们来明确垃圾收集(GC)中的两个术语:吞吐量(throughput)和暂停时间(pause times)。 JVM在专门的线程(GC threads…