【EFK日志系统】在kibana操作索引模板、生命周期、管道等

2024-06-01 03:04

本文主要是介绍【EFK日志系统】在kibana操作索引模板、生命周期、管道等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

kibana界面设置

  • 管道
  • 生命周期
  • 索引模板
  • 索引模式
  • 注意事项

之前已经搭建好了es集群、es-head信息面板、kibana、filebeat和metricbeat,但是其中的索引模板等信息你在kibana界面暂时看不到

接下来我们设置索引模式、索引模板、生命周期、管道限制等,简单写一写样例,(大家可以根据自己的需求自定义,不过system-*这个索引我建议按照执行就行)使这个日志系统更加的完善

参考上几篇
docker一键部署EFK系统(elasticsearch filebeat kibana metricbeat es-head)
【EFK日志系统】docker一键部署kibana、es-head
【EFK日志系统】docker一键部署filebeat、metricbeat
【EFK日志系统】在kibana操作索引模板、生命周期、管道等


输入172.23.165.185:5601
输入账号密码登录

管道

在kibana界面找到开发工具,输入指令
这个管道是限制输出host.ip中其他多余的字段,这部分可以自定义,通过过滤、限制达到目的

PUT _ingest/pipeline/retain_first_ip_pipeline
{"description": "Retain only the first IP address in host.ip","processors": [{"script": {"lang": "painless","source": """if (ctx.host?.ip != null && ctx.host.ip.length > 0) {ctx.host.ip = [ctx.host.ip[0]];}"""}}]
}

在这里插入图片描述

生命周期

一般情况下,我们的日志量不大就没必要设置这个;如果日志量比较大,恰巧自己的磁盘容量不能扩充,那么只能设置生命周期回滚,保证日志总量有上限

我们设置是单日索引1GB,超过1G滚动,所有索引保存周期是30天

为了简单示意,我们只设置保存周期为30天

PUT _ilm/policy/system   #名字随便取,在模板对应好就行
{"policy": {"phases": {"hot": {"min_age": "0ms","actions": {"set_priority": {"priority": 100}}},"delete": {"min_age": "30d",  "actions": {"delete": {}}}}}
}

相应的,起的业务应用生命周期也是这样,这里只不过我们只是对系统日志进行了设置

索引模板

定义索引模板,这样传输的日志信息才能按照你给出的字段显示在kibana

PUT /_index_template/system   # 这个是索引模板的名字
{"index_patterns": ["system-*"],      #这个是索引模板的适用范围,凡是以system开头的索引都应用这个模板"template": {"settings": {"index": {"number_of_shards": 1,"codec": "best_compression","default_pipeline": "retain_first_ip_pipeline",     #这个是刚刚定义的管道(可以去掉哈)"lifecycle": {"name": "system"      #这个是刚刚定义的生命周期,名字对应好}}},"mappings": {"properties": {"@timestamp": {"type": "date"},"system": {"properties": {"process": {"properties": {"memory": {"properties": {"rss": {"properties": {"bytes": {"type": "long"}}}}},"name": {"type": "keyword"},"cpu": {"properties": {"total": {"properties": {"pct": {"type": "float"}}}}}}},"memory": {"properties": {"total": {"type": "long"},"used": {"properties": {"pct": {"type": "float"}}}}},"load": {"properties": {"1": {"type": "float"},"15": {"type": "float"},"5": {"type": "float"},"norm": {"properties": {"1": {"type": "float"},"15": {"type": "float"},"5": {"type": "float"}}}}},"cpu": {"properties": {"total": {"properties": {"pct": {"type": "float"}}},"cores": {"type": "long"}}},"network": {"properties": {"in": {"properties": {"bytes": {"type": "long"}}},"out": {"properties": {"bytes": {"type": "long"}}}}}}},"host": {"properties": {"hostname": {"type": "keyword"},"os": {"properties": {"family": {"type": "keyword"},"version": {"type": "keyword"},"platform": {"type": "keyword"}}},"name": {"type": "keyword"},"id": {"type": "keyword"},"architecture": {"type": "keyword"}}},"metricset": {"properties": {"period": {"type": "long"},"name": {"type": "keyword"}}},"event": {"properties": {"duration": {"type": "long"},"module": {"type": "keyword"},"dataset": {"type": "keyword"}}},"mongodb": {"properties": {"replstatus": {"properties": {"members": {"properties": {"down": {"properties": {"hosts": {"type": "keyword"},"count": {"type": "integer"}}},"recovering": {"properties": {"hosts": {"type": "keyword"}}},"rollback": {"properties": {"hosts": {"type": "keyword"}}},"startup2": {"properties": {"hosts": {"type": "keyword"}}},"unhealthy": {"properties": {"hosts": {"type": "keyword"}}},"unknown": {"properties": {"hosts": {"type": "keyword"}}}}}}}}}}},"aliases": {}}
}

索引模式

1.在kibana界面找到Stack Management

在这里插入图片描述
2.在索引模式下创建索引模式

在这里插入图片描述

3.在输入框输入system-*
下面应该会出现很多单个索引(表示有符合要求的索引),点击下一步

选择时间戳创建

记得刷新字段


至此就完成了
在kibana界面查看日志

在这里插入图片描述

有需求的同学可以设置监控面板
在这里插入图片描述

注意事项

简单列一下
1.es集群不健康,说明三个节点不通,首先检查防火墙有没有给你开放这几个端口9100 9200 9300 5601等,再就是检查你的证书,是不是同一个证书文件,如果不是,重新在任意一个节点生成,然后复制到其他的节点config

2.生命周期有没有生效,可以在kibana的索引管理界面查看每个索引是否受管
正常的顺序是,我们首先创建了索引模板,然后es能够检索索引,然后在kibana创建索引模式,我们就可以看到日志信息

如果你发现没有受管,请将现在所有的索引删除,如果信息不能删除,那么请将生命周期重新跑一遍

遇到服务有问题docker logs name_id查看


纯摸索自用,不周望指正,欢迎交流!!

这篇关于【EFK日志系统】在kibana操作索引模板、生命周期、管道等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1019809

相关文章

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(