ELK生命周期

ELK+kafka

<es生命周期可视化配置界面>

 

一、创建索引模式

根据logstash中的日志规则 匹配对应系统日志

二、创建索引生命周期策略:可以控制生成索引的生命周期

共4个阶段:热阶段——温阶段——冷阶段——删除阶段

阶段1. hot: 索引被频繁写入和查询

阶段2. warm: 索引不再写入,但是仍在查询

阶段3. cold: 索引很久不被更新,同时很少被查询。但现在考虑删除数据还为时过早,仍然有需要这些数据的可能,但是可以接受较慢的查询响应。

阶段4. delete: 索引不再需要,可以删除。

温阶段和冷阶段可选择性增加;

示例:ES生命周期管理 - 知乎

三、创建索引模版:根据模版配置生成对应索引文件

{"description": "default logs template installed by x-pack","managed": true
}

四、配置完成索引模版即可,logstash输出数据时,会检测日志文件名是否符合logstash-*,符合则根据配置的模版生成索引文件。
五、测试
1、按照上述流程配置,模拟生成对应索引,查看是否走对应模版;
# 生成索引
PUT logstash-2023.10.11
# 查询索引
GET logstash-2023.10.11
2、若不用可视化配置,也可通过脚本在控制台模拟

1)生成logstash-policy1 生命周期策略

PUT _ilm/policy/logstash-policy1
{"policy": {"phases": {"hot": {"min_age": "0ms","actions": {"set_priority": {"priority": 100}}},"delete": {"min_age": "10s","actions": {"delete": {"delete_searchable_snapshot": true}}}}}
}
  1. policy:这是索引生命周期管理策略的根对象。
  2. phases:这是一个包含不同阶段的对象。在索引生命周期管理策略中,阶段是指按照特定的时间间隔,例如每个小时或每天,执行特定操作的逻辑单元。

在给定的配置中,有两个阶段:

  • hot:这是索引的活跃阶段。在这个阶段,索引处于活动状态并接受新的数据。

    • min_age:这是索引的生命周期开始的时间点。在这里,它设置为"0ms",意味着从创建索引的那一刻开始,该索引就会进入这个阶段。
    • actions:这是在该阶段执行的操作列表。
      • set_priority:这是一个设置索引优先级为100的操作。优先级是一个数值,用于在执行某些操作时确定哪些索引应该首先处理。较高的优先级意味着在处理相同操作的多个索引时,优先级较高的索引将首先被处理。
  • delete:这是删除索引的阶段。

    • min_age:这是索引进入该阶段的时间点。在这里,它设置为"10s",意味着从创建索引开始,10秒后,该索引将进入这个阶段。
    • actions:这是在该阶段执行的操作列表。
      • delete:这是一个删除索引的操作。此外,还有delete_searchable_snapshot属性,设置为true,这意味着在删除索引之前,也会删除与该索引关联的可搜索快照。

简而言之,这个配置定义了一个索引生命周期管理策略,其中新创建的索引首先会被设置为高优先级(100),并在10秒后被删除。

2)生成 logstash_template1 模版

PUT _template/logstash_template1
{"index_patterns": ["test1-*"],"settings": {"index": {"lifecycle": {"name": "logstash-policy1"}}},"mappings": {"dynamic": "true","dynamic_date_formats": ["strict_date_optional_time","yyyy/MM/dd HH:mm:ss Z||yyyy/MM/dd Z"],"dynamic_templates": [],"date_detection": true,"numeric_detection": false,"properties": {"env": {"type": "text"},"index_name": {"type": "text"},"ip": {"type": "text"},"message": {"type": "text"}}},"aliases": {}
}
  1. PUT _template/logstash_template1:

    • PUT 是一个HTTP方法,用于创建或更新资源。
    • _template/logstash_template1 指定了要创建或更新的资源路径,即索引模板。
  2. {: 开始定义JSON对象。

  3. "index_patterns": ["test1-*"],:

    • 定义了该模板可以应用于哪些索引名称模式。在这里,它适用于所有以test1-开头的索引名称。
  4. "settings": {: 开始定义设置部分,它定义了模板级别的设置。

  5. "index": {: 开始定义索引级别的设置。

  6. "lifecycle": {: 开始定义索引的生命周期策略。

  7. "name": "logstash-policy1"},: 设置索引生命周期策略的名称为logstash-policy1

  8. },: 结束索引生命周期策略的定义。

  9. },: 结束索引级别的设置。

  10. },: 结束设置部分的定义。

  11. "mappings": {: 开始定义索引的映射,即如何存储和检索数据。

  12. "dynamic": "true",: 允许动态映射,即如果字段在文档中不存在,则会自动创建该字段。

  13. "dynamic_date_formats": [: 定义动态日期格式。这些格式告诉Elasticsearch如何解析日期字段。

  14. "strict_date_optional_time", "yyyy/MM/dd HH:mm:ss Z||yyyy/MM/dd Z"],: 定义了两个日期格式,用于解析日期字段。

  15. "dynamic_templates": [],: 定义动态模板,用于处理某些类型的字段。这里为空,表示不定义任何动态模板。

  16. "date_detection": true,: 启用日期检测,使Elasticsearch能够自动检测日期字段。

  17. "numeric_detection": false,: 不启用数字检测,这意味着如果字段是数字,它不会被自动转换为数字类型。

  18. "properties": {: 开始定义字段的属性。

  19. "env": { "type": "text" },: 定义一个名为env的字段,其类型为文本。

  20. "index_name": { "type": "text" },: 定义一个名为index_name的字段,其类型为文本。

  21. "ip": { "type": "text" },: 定义一个名为ip的字段,其类型为文本。

  22. "message": { "type": "text" }: 定义一个名为message的字段,其类型为文本。

  23. },: 结束字段属性的定义。

  24. },: 结束映射部分的定义。

  25. "aliases": {}: 定义索引别名,这里为空,表示没有别名。

  26. }: 结束JSON对象。

3)创建符合模版条件的索引

# 创建索引
PUT test1-000001# 写入数据
PUT /test1-000001/_doc/1
{  "env": "develop",  "index_name": "测试",  "ip": "127.0.0.1","message": "一个测试","@timestamp" : "2024-01-08T00:03:06.432Z"
}# 查看索引
GET test1-000001# 查看索引内容
GET /test1-000001/_mapping?pretty
GET /test1-000001/_search# 删除索引
DELETE test1-000001

可以在ES中查看索引是否走对应模版:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/609670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL ZIP版安装完全手册

前言 ZIP免安装版下载地址&#xff1a;社区 DL 页面 (enterprisedb.com) 选择所需的版本下载即可。 安装 将下载的zip安装包&#xff08;我这里下载的是postgresql-15.5-1-windows-x64-binaries.zip&#xff09;解压至D盘根路径下&#xff0c;解压后路径&#xff1a;D:/pgsq…

MongoDB 设置账号密码_mongodb设置用户名和密码

MongoDB 设置账号密码_mongodb设置用户名和密码 1、安装 安装可以看我这篇文章:https://blog.csdn.net/u014641168/article/details/123937775 2、说明 由于默认安装的MongoDB是没有设置用户密码的,极其危险,所以需要设置一下用户密码 3、创建用户 用Navicat15连接Mon…

三、nginx代理功能

目录 SQUID代理服务器配置安装squid编辑squid配置文件 定义拒绝访问启动squid服务 linux客户端配置linux客户端配置正向代理测试http代理服务器上查看日志/var/log/squid/access.log windows 也可以配置网页代理 SQUID代理服务器配置 安装squid yum install squid -y 编辑squ…

c#自动更新升级工具

c#更新工具,wpf开发,所有windows桌面程序均可使用,基于.net 4.0,最低支持windos xp系统 更新工具优点 使用简单批量更新跨版本更新数据备份手动还原数据体积小 程序更新使用效果 使用简单 只需添加两个类,以及三个路径的指定,就可以从任何地方下载更新包,并解压到主程序目录…

AI人工智能虚拟现实行业发展分析

AI人工智能和虚拟现实是当今科技领域最受关注和研究的两个领域。这两项技术的迅速发展给各行各业带来了巨大的变革和机遇。在过去的几年里&#xff0c;AI和虚拟现实已经取得了显著的进展&#xff0c;并且有着广阔的发展前景。 AI人工智能作为一种模拟人类智能的技术&#xff0…

openEuler22.0.3安装oracle11.2.0.4报错总结

openEuler是CentOS8系列魔改来的 1.xstart无法打开报错x11拒绝转义 yum install *x11* vi /etc/ssh/sshd_config X11Forwarding yes systemctl restart sshd 2.执行runinstaller报错,无论是直接无法打开界面报错: when installed in the jdk 1.2 Linux 还是打开界面报错: no o…

探索检索增强生成(RAG)技术的无限可能:Vector+KG RAG、Self-RAG、多向量检索器多模态RAG集成

探索检索增强生成&#xff08;RAG&#xff09;技术的无限可能&#xff1a;VectorKG RAG、Self-RAG、多向量检索器多模态RAG集成 由于 RAG 的整体思路是首先将文本切分成不同的组块&#xff0c;然后存储到向量数据库中。在实际使用时&#xff0c;将计算用户的问题和文本块的相似…

c++学习:智能指针的底层作用原理+用法

目录 智能指针作用原理 作用 原理 模仿int*类型的智能指针 模仿所有类型的智能指针&#xff08;模板&#xff09; 共享智能指针类 思考&#xff1b;如果多个智能指针同时指向同一个堆空间&#xff0c;怎么只执行一次析构函数进行释放空间 &#xff08;共享智能指针类&…

在VS Code中安装Copilot与安装其他扩展的方法一样,只需简单几步

GitHub Copilot是由OpenAI和GitHub开发的人工智能工具。它的目的是通过自动完成代码来帮助开发人员使用集成开发环境&#xff08;IDE&#xff09;&#xff0c;如Visual Studio Code。它目前仅作为技术预览版提供&#xff0c;因此只有在候补名单上被认可的用户才能访问它。对于用…

Redis:原理速成+项目实战——Redis实战8(基于Redis的分布式锁及优化)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战7&#xff08;优惠券秒杀细节解决超卖、一人一单问题&#xff09; &#x1f4d…

Spark与Cassandra的集成与数据存储

Apache Spark和Apache Cassandra是大数据领域中两个重要的工具&#xff0c;用于数据处理和分布式数据存储。本文将深入探讨如何在Spark中集成Cassandra&#xff0c;并演示如何将Spark数据存储到Cassandra中。将提供丰富的示例代码&#xff0c;以帮助大家更好地理解这一集成过程…

Nginx配置反向代理实例一

Mac 安装Nginx教程 提醒一下&#xff1a;下面实例讲解是在Mac系统演示的&#xff1b; 反向代理实例一实现的效果 在浏览器地址栏输入www.testproxy.com, 跳转到系统Tomcat主页面。 反向代理准备工作 第一步&#xff1a;在系统的 hosts 文件进行ip和域名对应关系的配置。 …

【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格

背景需求&#xff1a; 制作一个EXCEL模板&#xff0c;每个班级的班主任统计 班级图书量&#xff08;一个孩子10本&#xff0c;最多35个孩子350本&#xff09; EXCEL模板 1.0版本&#xff1a; 将这个模板制作N份——每班一份 项目:班级图书统计表 核心:一个EXCEL模板批量生成…

Android block quick OnClick event,simple implement,Kotlin

Android block quick OnClick event&#xff0c;simple implement&#xff0c;Kotlin var time 0Lview?.setOnClickListener {val now System.currentTimeMillis()if (now - time > 300) {Log.d("fly", "正常点击")} else {Log.d("fly", &…

Android BUG 之 Error: Activity class {} does not exist

项目场景&#xff1a; 更换包名&#xff0c;运行报错 问题描述 原因分析&#xff1a; 在替换包名的时候要确认&#xff0c;配置文件跟build中的保持一致&#xff0c;在更换后还要将旧包的缓存数据清理掉 解决方案&#xff1a; 1 替换后删除 app 下的build 文件夹 2 Rebuild Pr…

Python-抖音无法拒绝的表白代码【附源码】

一个无法被拒绝的表白代码 运行效果&#xff1a; 一&#xff1a;主程序&#xff1a; import sys import cfg import random import pygame from tkinter import Tk, messagebox Function:按钮类 Initial Args:--x, y: 按钮左上角坐标--width, height: 按钮宽高--text: 按钮显…

gem5学习(10):创建一个简单的配置脚本——Creating a simple configuration script

目录 一、gem5 configuration scripts 1、An aside on SimObjects 二、Creating a config file 1、导入m5库和SimObjects 2、创建模拟系统 3、设置系统时钟 4、设置内存模拟方式 5、创建CPU 6、创建系统级内存总线 7、连接请求-响应端口 &#xff08;1&#xff09;A…

【项目管理】CMMI-风险与机会管理过程

1、文档结构 2、风险与机会概率 风险与机会概率指的是风险与机会实际发生的可能性。可以用自然语言术语来映射数字概率范围。下表列出了七段概率分级中自然语言术语和数字概率范围映射关系。注意&#xff0c;用来计算的概率值等于概率范围的中间值取整。有了映射表格的帮助&am…

计算机视觉技术-区域卷积神经网络(R-CNN)

区域卷积神经网络&#xff08;region-based CNN或regions with CNN features&#xff0c;R-CNN&#xff09; (Girshick et al., 2014)也是将深度模型应用于目标检测的开创性工作之一。 本节将介绍R-CNN及其一系列改进方法&#xff1a;快速的R-CNN&#xff08;Fast R-CNN&#x…

Unity之摄像机

一、摄像机类型 1.1 透视摄像机 透视摄像机有近大远小的效果&#xff0c;与我们在现实中看到的效果相同。所以当两个同样大小的物体到摄像机的距离不同时我们看到的大小也会不同。Unity的3D项目中默认使用的就是透视摄像机。 1.2 正交摄像机 正交摄像机没有近大远小的效果&am…