window下通过ELK框架进行大型日志线下的可视化分析
时间:2022-07-25
本文章向大家介绍window下通过ELK框架进行大型日志线下的可视化分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
window下通过ELK框架进行大型日志线下的可视化分析
###1.ELK简介
- E 就是Elasticsearch,分布式的、Restful风格的搜索和分析的搜索服务器
- L 就是Logstash,吸收、转化、丰富、最后输出的完全开源的工具
- K 就是Kibana,让分析结果数据可视化的框架前端开源展示工具
###2.工作流程 这里我们还采用了一个与logstash配合的小插件,filebeat,可通过连接点过去了解下,可以动态监测日志文件的变化。 所以整个过程是
- 1.filebeat 对日志文件监测,然后作为日志源
- 2.整合filebeat和logstash,logstash中有一个过滤器,将日志源进行过滤,将过滤结果输送给elastsearch服务器进行文
- 3.整合kibana,通过前端配置筛选、然后在elasticsearch中进行搜索并返回结果给前端。
###3.关键配置及整合配置文件
- 1.filebeat的日志源配置filebeat.yml
#=========================== Filebeat prospectors =============================
filebeat.prospectors:
# Each - is a prospector. Most options can be set at the prospector level, so
# you can use different prospectors for various configurations.
# Below are the prospector specific configurations.
- type: log
# Change to true to enable this prospector configuration.
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
#- /var/log/*.log
- D:ELKsampleLog*.log
filebeat.config.modules:
# Glob pattern for configuration loading
path: ${path.config}/modules.d/*.yml
# Set to true to enable config reloading
reload.enabled: true
# Period on which files under path should be checked for changes
#reload.period: 10s
#==================== Elasticsearch template setting ==========================
setup.template.settings:
index.number_of_shards: 3
#index.codec: best_compression
#_source.enabled: false
#----------------------------- Logstash output --------------------------------
output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]
- 2.logstash中的过滤器配置
input {
beats {
port => "5044"
}
}
filter {
grok {
match => {
"message" => "%{COMBINEDAPACHELOG}"
"message1" => "(?<remoteUer>=[A-Z]+[0-9]+)
(?<request>BeginsRequest[(/[a-zA-Z]*)+.do)
(?<time>[0-9]+/[0-9]+ [0-9]+:[0-9]+:[0-9]+)" }
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "aa-%{+YYYY.MM.dd}"
document_type => "wjb_log"
}
}
- 3.elasticsearch中elasticsearch.yml配置
cluster.name: elasticsearch
node.name: "lcc_node"
node.master: true
# 指定该节点是否存储索引数据,默认为true。
node.data: true
network.host: 127.0.0.1
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
# 单个命令来删除所有数据可能会导致可怕的后果。这个设置使删除只限于特定名称指向的数据, 而不允许通过指定 _all 或通配符来删除指定索引库。
action.destructive_requires_name: true
- 3.依次启动服务 先启动elasticsearch,再启动logstash,再启动fileBeat,然后再次看logstash的日志输出,会发现filebeat的输入监听以及对elasticsearch的服务状态监测 通过在浏览器中输入如下路径观察elasticsearch服务,看到经典的 you know ,for search 说明启动成功 在浏览器中输入:http://localhost:5601/app/kibana 打开elasticsearch 页面
- Nodejs学习笔记(十四)— Mongoose介绍和入门
- 厚土Go学习笔记 | 13. 用循环和函数 实现Sqrt(x)
- 代码审计| 这是一款适合练手的漏洞
- 工具| NSE漏洞审计和渗透脚本的demo
- Windows Server 2008 R2 配置Exchange 2010邮件服务器并使用EWS发送邮件
- 厚土Go学习笔记 | 12. if 语句
- 厚土Go学习笔记 | 11. for循环 go语言只有for循环
- 从编译原理看一个解释器的实现
- 厚土Go学习笔记 | 10. 常量 与 数值常量
- Unity应用架构设计(7)——IoC工厂理念先行
- 厚土Go学习笔记 | 09. 类型转换 与 类型推导
- 厚积薄发,拥抱 .NET 2016
- 厚土Go学习笔记 | 08. 零值
- Unity应用架构设计(10)——绕不开的协程和多线程(Part 1)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法