导航:首页 > 净水问答 > kibana自定义过滤器

kibana自定义过滤器

发布时间:2025-06-17 02:23:08

A. 你居然还去服务器上捞日志,搭个日志收集系统难道不香么

打造线上环境真实可用的日志收集系统,ELK环境安装为关键,借助Elasticsearch、Kibana、Logstash搭建,采用最新版本的docker-compose脚本,简化部署步骤。
分场景收集日志,提升效率,将日志分为四类,Logback配置解析,为实现分场景收集奠定基础。在SpringBoot中自定义Logback配置,通过logback-spring.xml文件,实现个性化日志管理。
默认配置满足大部分需求,console-appender.xml提供标准控制台输出配置,springProperty标签从SpringBoot配置文件中获取动态参数,如服务地址,灵活适应不同环境。
利用filter过滤器,控制日志输出,ThresholdFilter过滤掉低于指定级别的日志,LevelFilter根据级别进行过滤,确保关键信息不被遗漏。Appender定义输出形式,包含控制台、文件、网络等输出渠道,灵活定制日志展示方式。
针对框架内部日志,调整级别设置,如将DEBUG级别日志调整为INFO以上级别,优化日志输出,保持系统运行高效稳定。
Logstash配置详解,实现分场景日志收集,通过策略控制日志流向特定输出渠道。在SpringBoot中配置覆盖Logback配置,如logging.level.root等,实现全局日志级别调整。
Kibana进阶使用,将搭建的ELK环境整合,利用Kibana进行日志分析与搜索,掌握日志可视化技巧,实现日志数据的高效管理与利用。

B. Wireshark+Elasticsearch+Kibana打造流量回溯系统

流量回溯系统捕获和分析数据流程,一般由以下几个步骤组成:
1.数据包捕获 -记录网络上的数据包流量。
2.协议解析 -解析不同的网络协议和字段。
3.搜索和可视化 -详细或汇总浏览数据。

从 Wireshark 3.0.0rc1 开始,TShark可以使用 -G elastic-mapping 选项,生成Elasticsearch映射文件,存储在Elasticsearch中并进行浏览,使得TShark解析结果可以在在Kibana中进行搜索和可视化。
下面,我将展示如何使用Wireshark和Elastic Stack来建立流量回溯系统:

Packetbeat 可以配置为捕获实时网络数据包,并使用 -I 选项从捕获文件中读取数据包。它可以识别和解析许多应用程序级协议,例如HTTP,MySQL和DNS,以及常规流信息。但packetbeat对报文采用会话方式分析,不能对一个个报文单独分析,倾向于应用层,对网络层面分析不足,并且支持的协议有限,tshark的2000多种存在明显差距。

Wireshark是最受欢迎的数据包捕获和分析软件,它可以识别 2,000多个协议,其中包含200,000多个字段 。除GUI界面操作外,它还提供命令行实用程序 tshark 来捕获实时流量以及读取和解析捕获文件。作为其输出, tshark 可以生成报告和统计信息,还可以分析不同文本格式的数据包数据。

自2.2版( 2016年9月发布 )以来, tshark 支持的 Elasticsearch Bulk API 的JSON格式输出。

将在 eth0 网络接口上实时捕获数据包,并以Elasticsearch Bulk API格式输出到文件 packets.json 。

将从捕获文件 capture.pcap 中读取数据包,并作为JSON格式输出为Elasticsearch Bulk API格式到文件 packets.json 。

将从捕获文件 capture.pcap 中读取数据包,过滤HTTP协议指定字段,并作为JSON格式输出为Elasticsearch Bulk API格式到文件 packets.json 。

将从捕获文件 capture.pcap 中读取数据包,过滤HTTP协议指定字段,并增加"|"分隔符以txt格式输出到文件 packets.txt 。

从5.0版开始,Elasticsearch提出了Ingest Pipeline的概念。一个pipeline 由一系列线程组成,这些可以对数据进行许多不同的更改。

Pipeline示例如下:

该Pipeline只是简单更改数据包将被写入的Elasticsearch索引(默认值为 packets-YYYY-MM-DD )。要在导入数据时使用此管道,请在URL中指定它:

有关更多信息,请参见 Ingest模块文档 和新的摄取方式- 第1 部分 , 第2部分 。

Filebeat和Logstash都有等效的配置选项,用于在将数据发送到Elasticsearch时指定接收Pipeline。

Logstash是Elastic Stack的一部分,并用作数据处理线程。它可以用来读取Elasticsearch Bulk API格式的数据,并在将数据发送到Elasticsearch之前对数据执行更复杂的转换和充实。

配置示例为:
logstash.conf

grok过滤器从,格式为“ protocol:protocol:protocol ”的 frame_frame_protocols 字段(例如“ eth:ethertype:ip:tcp:http ” )中提取最内层的网络协议名称,到顶级“ protocol ”字段中。

Wireshark解析的原始数据包含大量字段,这些字段种绝大多数不会搜索或汇总,因此在所有这些字段上创建索引通常不是正确的选择。
字段太多会降低索引和查询速度, Elasticsearch 5.5开始,默认会将索引中的字段数限制为1000 。另外, tshark -T ek 无论原始数据字段值是文本还是数字,包括时间戳和IP地址,均输出为字符串。
如果要指定正确的数据类型,将数字索引为数字,将时间戳作为时间戳等,防止索引字段激增,应显式指定Elasticsearch映射。

Elasticsearch映射例子如下:

要将 tshark -T ek 的输出数据导入到Elasticsearch中,有以下几种方式。

Filebeat非常轻巧,可以监视一组文件或目录中是否有任何新文件,并自动对其进行处理。读取Tshark输出文件并将数据包数据发送到Elasticsearch。

示例配置如下所示:
filebeat.yml

与Filebeat一样,Logstash可以监视目录中的新文件并自动对其进行处理。与Filebeat相比,它比Elasticsearch Ingest Pipeline可以更广泛地转换数据。

有关Logstash配置的示例,请参见3.1转换数据的部分。

在Kibana中,您现在可以浏览数据包并在它们之上构建仪表板。

*网络数据详细视图,包括一个表格,该表格在可扩展的行中显示原始数据包数据

*显示网络协议分布的饼图

由于来自Wireshark的网络数据具有与syslog等不同的数据格式,因此更改Kibana中的某些设置(“管理”选项卡->“ Kibana高级设置”)很有意义。

Kibana配置如下:

参考

C. logstash 分割 Nginx 指定分隔符日志

在Nginx的日志管理中,通过特定的分隔符对日志进行定制化处理。默认的Nginx日志格式可以根据需要进行调整,以便于后续的分析和处理。

Logstash作为数据处理工具,其Dissect过滤器发挥了关键作用。与常规的拆分方法不同,Dissect能够对字符串值应用一组分隔符,而不是单一的正则表达式,从而保证了快速且精确的拆分过程。这种方式避免了复杂的正则匹配,提高了效率。

要观察和分析这些处理后的数据,可以通过Kibana的Discover模块,选择JSON格式,直观地查看和探索数据内容。Kibana的可视化界面为数据分析提供了强大的工具,使我们能够深入理解日志信息的结构和内容。

最后,分享一下Logstash的配置文件,它详细地定义了如何使用Dissect过滤器处理Nginx日志,以便于其他用户参考和实现类似的功能。

D. Elasticsearch:和 LIamaIndex 的集成

Elasticsearch与LLamaIndex集成:构建私有数据框架


LLamaIndex是一个开源的数据框架,专为LLM应用程序设计,用于处理和访问特定领域的私有数据。通过GitHub可以获取该项目的源代码以构建多样化的应用程序。


为了在Docker中设置Elasticsearch,首先,您可以参考"如何在Docker上运行Elasticsearch 8.x"的教程,启动单节点实例。使用docker-compose启动,不启用安全配置,如下所示:


.env
docker-compose.yml

通过命令行启动后,Elasticsearch和Kibana就安装并运行了,但请注意,生产环境不建议使用这种配置。


在应用设计阶段,我们将使用Jupyter notebook进行。首先安装Python依赖:


安装Python依赖的命令

接着创建.env文件,配置OpenAI key:


.env

连接到Elasticsearch时,可以使用以下示例代码:


连接Elasticsearch的代码示例

然后,加载文档并使用Elasticsearch构建VectorStoreIndex,如文档 pau_graham_essay.txt所示:


在进行基本查询和元数据过滤时,可以利用这些结构进行文本检索。例如,搜索 "weather is so beautiful" 会得到特定结果。然而,自定义过滤器和覆盖查询是Elasticsearch的高级功能,LLamaIndex目前仅支持ExactMatchFilters,其他复杂过滤器可能需要直接在Elasticsearch中使用。


想要深入了解和实践,可以访问我的GitHub项目:github.com/liu-xiao-guo/semantic_search_es,查看相关文件。


继续深入学习高级文本检索技术,如句子窗口检索,将有助于您更好地利用Elasticsearch和LLamaIndex。

E. Elasticsearch:语义搜索快速入门

在本文中,我们将使用交互式 Jupyter Notebook 和 Elasticsearch 的 Python 客户端,介绍如何实现基本操作。首先,我们将通过 Sentence Transformers 进行文本嵌入的语义搜索,整合传统的基于文本的搜索与语义搜索,形成混合搜索系统。使用模型自带的功能进行文本向量化,而无需依赖 Elasticsearch 的 ingest pipeline,这一方法完全免费。若需使用 ingest pipeline 进行向量化,推荐参考文章 “Elasticsearch:使用 huggingface 模型的 NLP 文本搜索”。

在进行实际操作之前,请确保已安装好自己的 Elasticsearch 及 Kibana,参考安装指南进行操作。在使用最新的 Elastic Stack 8.10 进行演示时,记得记录安装过程中所需的信息。本次演示中,我们将使用 Python 来展示操作过程,需安装相应的 Elasticsearch Python 客户端包 elasticsearch。JupyterNotebook 将是本次演示的平台。

接下来,我们将创建应用并展示如何设置嵌入模型。以 all-MiniLM-L6-v2 为例,这是 sentence_transformers 库的一部分,可在 Huggingface 上了解更多关于此模型的信息。随后,初始化 Elasticsearch 客户端,确保其与部署连接成功。

为了验证 Elasticsearch 查询的基础知识,我们将摄入一些数据。数据集包含书籍索引,具体信息将在当前项目的根目录下通过 books.json 文件提供。基于此数据,我们将创建一个 Elasticsearch 索引,并上传测试数据。执行命令后,可在 Kibana 中查看结果。

为了方便阅读 API 调用返回的嵌套 JSON,我们将创建一个名为 Pretty_response 的函数,以生成人类可读的输出。在此基础上,我们执行查询,对与给定查询相似的书籍进行语义搜索。通过嵌入查询并执行搜索,我们实现了这一目标。

在查询过程中,我们利用过滤器上下文对结果进行细化。它主要用于过滤结构化数据,如使用过滤器上下文来回答特定问题。每当查询子句传递给过滤器参数时(例如布尔查询中的 filter 或 must_not 参数),过滤器上下文将生效。了解更多关于过滤器上下文的信息,可参阅 Elasticsearch 文档。

通过向查询中添加关键字过滤器,我们可以缩小结果范围。例如,仅包含“publisher”字段等于“addison-wesley”的文档。利用生成的密集向量嵌入,我们检索类似于“Best javascript books?”的热门书籍,基于它们的 title 向量,并以“addison-wesley”作为出版商。高级过滤在 Elasticsearch 中提供多种运算符,用于根据特定字段、范围或条件精确细化搜索结果。

最后,我们将研究两种搜索算法的组合:用于文本搜索的 BM25 和用于最近邻搜索的 HNSW。结合多种排名方法,如 BM25 和生成密集向量嵌入的 ML 模型,可以实现最佳排名结果。这种方法能够利用每种算法的优势,提高整体搜索性能。倒数排名融合 (RRF) 是一种先进的排名算法,用于组合不同信息检索策略的结果,支持开箱即用的一流混合搜索。

完整演示的 Jupyter 文件可从指定地址下载。请注意,本文为 CSDN 博主「Elastic 中国社区官方博客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载时需附上原文出处链接及本声明。

阅读全文

与kibana自定义过滤器相关的资料

热点内容
对甲苯胺树脂合成 浏览:355
滤芯用完怎么加水 浏览:466
净水器接头什么牌子最好 浏览:402
活性炭滤芯耗材多少钱 浏览:971
超滤管国产 浏览:141
纺织废水pac加药量一般是多少 浏览:428
福建中效袋式过滤器 浏览:19
南京公司水处理药剂 浏览:776
离子交换树脂的交换容量定义 浏览:403
碾磨机废水 浏览:515
电镀废水如何消除cod 浏览:175
广饶草西污水处理厂 浏览:980
英山县污水改造 浏览:375
矿泉水厂废水 浏览:244
化粪池前污水管直径多少 浏览:846
低温润滑油蒸馏过滤 浏览:112
英非尼迪空调滤芯在哪里 浏览:730
云浮生活污水多少钱 浏览:557
清洗华帝热水器水垢视频 浏览:631
柠檬酸钠除水垢的剂量 浏览:266