记录一次elk搭建日志分析平台

前言

在日常开发中日志记录是一个非常重要的环节,如果程序出现问题日志可以作为一个找出错误的依据,如果数据丢失日志也可以作为找回数据的重要手段,
再者在系统优化的时候可以根据日志复盘出系统的瓶颈点等等。总之日志记录在开发过程中是非常有必要且非常只要的一环。所以搭建一套日志记录分析平台
是程序员非常有必要掌握的技能之一。在业内有一套非常成熟的日志记录分析的解决方案:elk(Elasticsearch,Logstash,Kibana)。

简介

elk是由Elasticsearch,Logstash,Kibana三大组件搭建而成的。

一、Elasticsearch 是一个实时的分布式搜索和分析引擎,
它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎,使用Java语言编写。

二、Logstash 是一个具有实时渠道能力的数据收集引擎。使用 JRuby 语言编写。其作者是世界著名的运维工程师乔丹西塞 (JordanSissel)且有一下特点

  • a.几乎可以访问任何数据
  • b.可以和多种外部应用结合
  • c.支持弹性扩展

三、Kibana是一款基于 Apache开源协议,使用 JavaScript语言编写,为 Elasticsearch提供分析和可视化的 Web 平台。它可以在Elasticsearch的索引中查找,交互数据,并生成各种维度的表图。

在整个过程中Logstash 做数据的收集,Elasticsearch做数据的存储和检索,Kibana做数据的展示和分析,三者结合形成一个完整的链路。那么接下来本文将阐述搭建一套单机版的elk的全过程。

第一步:准备环境。

win 10 + jdk 1.8
注:linux系统步骤类似操作方式差不多

第二步:下载相关组件

下载地址:https://www.elastic.co/cn/products/
下载后解压到文件夹中
在这里插入图片描述

第三步:分别启动三大组件

Elasticsearch

打开elasticsearch文件夹进入config,修改elasticsearch.yml文件,加入如下配置:

cluster.name: es_cluster #集群名称
node.name: node0 #节点名称
path.data: F:\elk\elasticsearch-7.15.0\data #数据存储位置
path.logs: F:\elk\elasticsearch-7.15.0\logs #日志存储位置
network.host: 127.0.0.1 #host
http.port: 9200 #端口
http.cors.enabled: true #开启跨域,如下是跨域设置
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

保存修改的配置文件,进入elasticsearch\bin 执行elasticsearch.bat启动脚本
在这里插入图片描述

Logstash

打开logstash文件夹进入config,添加log4j_to_es.conf文件,并在文件中添加如下配置内容:

input {
    tcp { #输入入方式为tcp模式,监听127.0.0.1的4560端口收集日志
        host => "127.0.0.1"
        port => 4560
    }
}

output {
    stdout {#设置标准输出编码器为:rubydebug
      codec => rubydebug
    }
    elasticsearch{ #将收集的日志输出到elasticsearch中
        hosts => ["localhost:9200"] #elasticsearch的host,可以是一个或多个es集群
        index => "log4j-%{+YYYY.MM.dd}" #elasticsearch索引名称
        document_type => "log4j_type" #elasticsearch的文档类型
    }
}

保存相应的配置文件,并且进入到logstash\bin目录创建logstash-log4j.bat 批处理脚本文件,在文件中添加如下脚本

logstash -f ..\config\log4j_to_es.conf

保存,执行logstash-log4j.bat启动Logstash
在这里插入图片描述

Kibana

打开kibana文件夹进入config,打开kibana.yml文件,并在文件中添加如下配置内容:

i18n.locale: "zh-CN" #国际化,设置为中文

保存,执行kibana.bat启动Kibana
在这里插入图片描述

第三步:测试elk

运行 -> cmd -> 输入 telnet 127.0.0.1 4560 连接到logstash ->hello word! 回车
在这里插入图片描述

接下来在Logstash 中可以看到收集日志,在elasticsearch可视化根据中可以看到我们输入的hello word!数据。
在这里插入图片描述

在这里插入图片描述

第四步:在Kibana中分析日志

在浏览器输入:http://localhost:5601/app/home#/

添加es索引到Kibana

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

日志分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完成!

手执烟火以谋生,心怀诗意以谋爱。
慢品人间烟火色,闲观万事岁月长。
------致上山人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值