栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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

记录一次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:elkelasticsearch-7.15.0data #数据存储位置
path.logs: F:elkelasticsearch-7.15.0logs #日志存储位置
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"

保存修改的配置文件,进入elasticsearchbin 执行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的文档类型
    }
}

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

logstash -f ..configlog4j_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



日志分析



完成!

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327256.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号