热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ElasticStack:使用FileBeat、Logstash、Elasticsearch、Kibana收集清洗存储查看分析数据

借用ElasticStack的一张图,很好的阐述了LEK的在数据处理中的位置一、环境:版本均未5.2.0https:www.elastic.cocn

借用ElasticStack的一张图,很好的阐述了LEK的在数据处理中的位置
在这里插入图片描述

一、环境:

版本均未5.2.0
https://www.elastic.co/cn/downloads/past-releases

1、filebeat:
https://www.elastic.co/cn/downloads/past-releases/filebeat-5-2-0
2、logstash
https://www.elastic.co/cn/downloads/past-releases/logstash-5-2-0
3、elasticsearch:
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-2-0
4、kibana:
https://www.elastic.co/cn/downloads/past-releases/kibana-5-2-0

二、日志准备

使用python脚本定时生成模拟日志

generator_log.py

# -*- encoding:utf-8 -*-import time
from chinesename import ChineseNamecn = ChineseName()while True:now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())message = "{} {}\n".format(now, cn.getName())print(message)with open("demo.log", "a", encoding="utf-8") as f:f.write(message)# 每3秒生成一条日志 time.sleep(3)

日志示例(日期 姓名):

2019-06-13 18:01:31 容休

三、filebeat

1、配置
修改配置文件filebeat.yml
可以选择直接将数据传入Elasticsearch,也可以传入Logstash处理

filebeat.prospectors:
- input_type: logpaths:
# 配置需要收集的文件地址- /var/log/*.log #-------------------------- Elasticsearch output ------------------------------
# output.elasticsearch:# hosts: ["localhost:9200"]#----------------------------- Logstash output --------------------------------
output.logstash:hosts: ["localhost:5044"]

2、启动:

./filebeat -e -c filebeat.yml -d "publish"

参考:开始使用Filebeat

在这里插入图片描述

四、logstash

1、匹配说明
(1)内置匹配

%{SYNTAX:SEMANTIC}

(2)ruby正则

(?pattern)

关于Ruby的正则:
Ruby 正则表达式: https://www.runoob.com/ruby/ruby-regular-expressions.html
Ruby 正则匹配测试: https://rubular.com/

2、配置
新建一个文件夹存放自定义匹配模式

$ mkdir ./patterns
$ cat ./patterns/datetime.re
DATETIME \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}

es-pipeline.conf

input {beats {port => "5044"}
}
filter {grok {patterns_dir => ["./patterns"]match => { "message" => "%{DATETIME:logdate} (?(.*))"}remove_field => "message"}date {match => ["logdate", "yyyy-MM-dd HH:mm:ss"]}
}
output {stdout { codec => rubydebug }elasticsearch {hosts => [ "localhost:9200" ]}
}

3、启动logstash

# 解析配置文件并报告任何错误
$ ./bin/logstash -f es-pipeline.conf --config.test_and_exit# 启用自动配置加载
$ ./bin/logstash -f es-pipeline.conf --config.reload.automatic

在这里插入图片描述

五、kibana中查询结果

1、启动

$ elasticsearch
$ kibana

2、查询

GET /logstash-2019.06.13/_search
{"sort": [{"@timestamp": {"order": "desc"}}]
}# 查询结果
{"_index": "logstash-2019.06.13","_type": "log","_id": "AWtQTwv8vaBpxF8s4wUp","_score": null,"_source": {"@timestamp": "2019-06-13T10:08:02.000Z","offset": 197738,"logdate": "2019-06-13 18:08:02","@version": "1","beat": {"hostname": "bogon","name": "bogon","version": "5.2.0"},"input_type": "log","host": "bogon","source": "/Users/qmp/Desktop/log/demo.log","text": "伯镟","type": "log","tags": ["beats_input_codec_plain_applied"]},"sort": [1560420482000]
}

图形化查看日志数量曲线图
在这里插入图片描述

参考
使用Logstash filter grok过滤日志文件
Logstash使用grok进行日志过滤
Logstash介绍


推荐阅读
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
author-avatar
可靠的我还是一个人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有