ELFK日志收集

2023-12-22 18:30
文章标签 日志 收集 elfk

本文主要是介绍ELFK日志收集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第一章:ELK日志收集系统介绍
        • 日志收集重要性
        • ELK介绍
        • EFK介绍
        • ELFK介绍
        • ES部署
        • Kibana部署
  • 第二章:Logstach日志收集
        • Logstash介绍
        • Logstash安装
        • Logstash Input输入插件
        • Logstash Filter过滤插件
        • Logstash Output输出插件
        • Input file
        • Filter mutate
          • split示例
          • add_field示例
          • remove_field示例
        • Filter date
  • 第三章:配置Kibana数据展示
        • Kibana查看ES索引
        • Kibana创建索引模式
        • Kibana创建图形
        • Kibana的Buckets
        • Kibana创建Dashboard

第一章:ELK日志收集系统介绍

日志收集重要性
  • 协作困难 :项目在测试和上线阶段,开发人员需要不断的查看日志来分析项目中是否存在问题,运维需要协助开发人员提取这些日志;

  • 日志检索困难:生产环境的服务器、和应用会产生大量日志,一旦出现故障,运维人员通过手工方式检索日志,消耗大量时间和精力,难以快速定位问题;

  • 报警机制不完善:传统的日志管理方式很难实现实时报警和通知,一旦出现故障,可能错过解决问题的最佳时机;

ELK介绍

ELK是一套开源免费、功能强大的日志分析管理系统,可以将系统日志、网站日志、应用日志等各种日志进行收集、过滤、清洗,然后进行集中存放并展示。

ELK不是一个单独的技术,而是由一套日志收集工具组合而成,包括:Elasticsearch、Logstash、Kibana组成。

  • Elasticsearch(简称es):是由Java开发的一个非关系型数据库,提供日志的存储和搜索功能;
  • Logstash:是一个日志采集工具,提供数据采集、数据清洗、数据过滤等功能;
  • Kibana:是一个日志展示工具,提供web界面的数据图形分析、数据展示等功能;
  • 官方地址:https://www.elastic.co/cn/

在这里插入图片描述

EFK介绍

简单来说就是将Logstash替换成了Filebeat,由于其强大的数据处理功能,Logstash需要较多的计算资源和内存来运行,在收集日志时会消耗系统大量资源,可能会影响到系统中运行的业务。

而替换成Filebeat这种轻量级的日志收集工具后,由于Filebeat基于Go语言开发,本身占用资源少,启动速度快,也能够满足日常的日志收集需求,从而就诞生了EFK结构。

在这里插入图片描述

ELFK介绍

Logstash主要用于对数据进行复杂的处理,而Filebeat则专注于轻量级地收集和传输日志。在实际应用中,Logstash与Filebeat结合使用来提供更高效和强大的日志处理和分析功能,从而诞生了ELFK结构。

在这里插入图片描述

ES部署

ES集群为了实现高可用,通常至少由三台组成,在一个ES集群中,只能有一个Master节点(通过选举产生),Master节点用于控制整个集群。集群的数据在存储时,Master会将数据同步给其他的Node节点。

主机名IP地址操作系统硬件环境
es01192.168.0.91CentOS 72Core/4G Mem/50G disk

es软件包可以从清华大学下载rpm包:https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum/elastic-7.x/7.8.1/

由于es7.8版本已经内置Java JDK,无需安装

rpm -ivh elasticsearch-7.8.1-x86_64.rpm

es01修改配置文件

[root@es01 ~]# egrep -v '^#|^$' /etc/elasticsearch/elasticsearch.yml ...#集群名称(名称自定义)
cluster.name: my-es#在集群中的节点名称(主机名称)
node.name: es01#数据存储路径(无需修改)
path.data: /var/lib/elasticsearch#日志存储路径(无需修改)
path.logs: /var/log/elasticsearch#本机IP地址
network.host: 192.168.0.91#http监听的端口号
http.port: 9200#集群主机列表
discovery.seed_hosts: ["192.168.0.91"]#仅第一次启动集群时参与选举的主机列表
cluster.initial_master_nodes: ["192.168.0.91"]

启动es并加入开机自启动

[root@es01 ~]# systemctl start elasticsearch
[root@es01 ~]# systemctl enable elasticsearch[root@es01 ~]# netstat -ntlp | grep java
tcp6       0      0 192.168.0.91:9200       :::*  LISTEN      9656/java         
tcp6       0      0 192.168.0.91:9300       :::*  LISTEN      9656/java

ES端口:9200是对外部提供访问的端口,9300是对集群内部提供访问的端口。

可以使用curl或者浏览器访问IP:9200测试是否可以访问

[root@es01 ~]# curl http://192.168.0.91:9200
{"name" : "es01","cluster_name" : "my-es","cluster_uuid" : "B8BaoXbdSWKGMDt9AVmKyw","version" : {"number" : "7.8.1","build_flavor" : "default","build_type" : "rpm","build_hash" : "b5ca9c58fb664ca8bf9e4057fc229b3396bf3a89","build_date" : "2020-07-21T16:40:44.668009Z","build_snapshot" : false,"lucene_version" : "8.5.1","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}
Kibana部署

Kibana是由HTML和Javascript编写的一个开源的可视化平台,设计出来用于和Elasticsearch一起使用的,用于搜索、查看存放在Elasticsearch索引里的数据,使用各种不同的图表来展示日志中数据。

主机名IP地址操作系统硬件环境
kibana192.168.0.96CentOS7.62Core/4G Mem/50G disk

Kibana软件包与ES在同一个仓库中,可以从清华大学下载rpm包:https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum/elastic-7.x/7.8.1/

[root@kibana-cerebor ~]# rpm -ivh kibana-7.8.1-x86_64.rpm

修改kibana配置文件

[root@kibana-cerebor ~

这篇关于ELFK日志收集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

多数据源的事务处理总是打印很多无用的log日志

之前做了一个项目,需要用到多数据源以及事务处理,在使用事务处理,服务器总是打印很多关于事务处理的log日志(com.atomikos.logging.Slf4jLogger),但是我们根本不会用到这些log日志,反而使得查询一些有用的log日志变得困难。那要如何屏蔽这些log日志呢? 之前的项目是提高项目打印log日志的级别,后来觉得这样治标不治本。 现在有一个更好的方法: 我使用的是log

android两种日志获取log4j

android   log4j 加载日志使用方法; 先上图: 有两种方式: 1:直接使用架包 加载(两个都要使用); 架包:android-logging-log4j-1.0.3.jar 、log4j-1.2.15.jar  (说明:也可以使用架包:log4j-1.2.17.jar)  2:对架包输入日志的二次封装使用; 1:直接使用 log4j 日志框架获取日志信息: A:配置 日志 文

Unity Post Process Unity后处理学习日志

Unity Post Process Unity后处理学习日志 在现代游戏开发中,后处理(Post Processing)技术已经成为提升游戏画面质量的关键工具。Unity的后处理栈(Post Processing Stack)是一个强大的插件,它允许开发者为游戏场景添加各种视觉效果,如景深、色彩校正、辉光、模糊等。这些效果不仅能够增强游戏的视觉吸引力,还能帮助传达特定的情感和氛围。 文档