ELFK日志收集

news2024/12/25 22:41:00

文章目录

  • 第一章: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地址 操作系统 硬件环境
es01 192.168.0.91 CentOS 7 2Core/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地址 操作系统 硬件环境
kibana 192.168.0.96 CentOS7.6 2Core/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 ~

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

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

相关文章

Flink系列之:Savepoints

Flink系列之:Savepoints 一、Savepoints二、分配算子ID三、Savepoint 状态四、算子五、触发Savepoint六、Savepoint 格式七、触发 Savepoint八、使用 YARN 触发 Savepoint九、使用 Savepoint 停止作业十、从 Savepoint 恢复十一、跳过无法映射的状态恢复十二、Resto…

阿里云大模型数据存储解决方案,为 AI 创新提供推动力

云布道师 随着国内首批大模型产品获批名单问世,百“模”大战悄然开启。在这场百“模”大战中,每一款大模型产品的诞生,都离不开数据的支撑。如何有效存储、管理和处理海量多模态数据集,并提升模型训练、推理的效率,保…

【湖仓一体尝试】MYSQL和HIVE数据联合查询

爬了两天大大小小的一堆坑,今天把一个简单的单机环境的流程走通了,记录一笔。 先来个完工环境照: mysqlhadoophiveflinkicebergtrino 得益于IBM OPENJ9的优化,完全启动后的内存占用: 1)执行联合查询后的…

【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系

🎥 屿小夏 : 个人主页 🔥个人专栏 : Java入门到精通 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. 第一个Java程序1.1 main方法1.2 Java的程序结构 二. Java程序的运行三. JDK、JR…

【零基础入门】凸优化1:怎么培养研究能力,从模型+优化开始!

凸优化1 优化问题的形式优化问题类别1:凸函数 和 非凸函数优化问题类别2:带条件 和 无条件优化问题类别3:离散 和 连续优化问题类别4:平滑 和 非平滑如何判断一个目标函数是凸函数,还是非凸函数?怎么设计模…

Exynos4412 移植Linux-6.1(九)移植tiny4412_backlight驱动的过程及问题解决

系列文章目录 Exynos4412 移植Linux-6.1(一)下载、配置、编译Linux-6.1 Exynos4412 移植Linux-6.1(二)SD卡驱动——解决无法挂载SD卡的根文件系统 Exynos4412 移植Linux-6.1(三)SD卡驱动——解决mmc0: Ti…

解决 elementPlus 组件内容显示为英文的问题

解决 elementPlus 组件内容显示为英文的问题 一、问题描述 刚开始用 ElementPlus 发现默认的组件内容都是英文的 二、解决办法 找了找,发现是国际化的问题,默认就是显示英文,如果要显示中文需要配置中文显示。 关于显示中文的官方说明&a…

Windows11系统下如何通过.cab文件更新PL2303串口驱动?

Windows11系统下如何通过.cab文件更新PL2303串口驱动? 首先,在微软官方网站上下载所需版本的.cab文件,具体链接如下: https://www.catalog.update.microsoft.com/Search.aspx?q=Prolific%20USB-to-Serial%20Comm%20Port 如下图所示,进入该网站后,找到自己所需的驱动版…

神经网络可视化新工具:TorchExplorer

TorchExplorer是一个交互式探索神经网络的可视化工具,他的主要功能如下: TorchExplorer是一款创新的人工智能工具,专为使用非常规神经网络架构的研究人员设计。可以在本地或者wandb中生成交互式Vega自定义图表,提供网络结构的模块…

掌握Apache Kylin:工作原理、设置指南及实际应用全解析

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

设计模式(4)--对象行为(1)--职责链

1. 意图 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 2. 两种角色 抽象处理者(Handler)、具体处理者(Concrete Handler) 3. 优点 …

直播怎么录制视频?轻松提升视频质量!

录制直播视频是保存和分享游戏过程、教程或其他在线活动的好方法。随着直播行业的兴起,许多用户都希望能够录制自己的直播内容以供日后观看或与他人分享。可是直播怎么录制视频呢?本文将详细介绍两种直播录制视频的方法,希望通过具体的步骤讲…

Redis-Day3实战篇-商户查询缓存(缓存的添加和更新, 缓存穿透/雪崩/击穿, 缓存工具封装)

Redis-Day3实战篇-商户查询缓存 什么是缓存添加Redis缓存业务流程项目实现练习 - 给店铺类型查询业务添加缓存 缓存更新策略最佳实践方案案例 - 给查询商铺的缓存添加超时剔除和主动更新 缓存穿透/雪崩/击穿缓存穿透概述项目实现 - 商铺查询缓存 缓存雪崩缓存击穿概述互斥锁逻辑…

百模大战中的AI行业:新趋势与未来发展

文章目录 每日一句正能量前言技术进步应用拓展行业变革人才竞争后记 每日一句正能量 人生最重要的价值是心灵的幸福,而不是任何身外之物。 前言 随着科技的迅猛发展,人工智能(AI)已经成为引领技术革命的重要驱动力之一。在当前的…

物业服务投诉反馈建议建议二维码

为高效处理物业方面的投诉问题,进一步提升居住品质。凡尔码平台推出“二维码”便民投诉、反馈方式,如有群租扰民、占用堵塞消防通道或私拉乱建等问题,可以立即扫码或进入“凡尔码”小程序进行投诉或反馈。 如电梯出现故障物业服务企业未及时维…

助力智能车辆检测计数,基于官方YOLOv8全系列[n/s/m/l/x]开发构建道路交通场景下不同参数量级车流检测计数系统

在很多道路交通卡口都有对车流量的统计计算需要,有时候一些特殊时段、特殊节日等时间下对于车流的监测预警更为重要,恶劣特殊天气下的提早监测、预警、限流对于保证乘客、驾驶员的安全是非常重要的措施,本文的主要目的就是想要开发构建道路交…

最后一公里物流:发展历程与未来趋势

导言 最后一公里物流,作为物流体系中的关键环节,一直是行业关注的焦点。本文将深入研究最后一公里物流的发展历程、遇到的问题及解决过程,探讨未来的可用范围、在各国的应用和未来的研究趋势,并分析在哪些方面能取胜、在哪些方面发…

HarmonyOS引导页登陆页以及tabbar的代码说明 底部的Tabs功能3

效果 代码说明 这一功能实现起来还是麻烦,需要自己实现,在uniapp中的pages.json底部加上就能实现,在这里需要自己写 引入三个内容页 Home,Car,Setting ,说明界面模块也行。引入 private tabsController: TabsController new Tab…

逆波兰计算器的完整代码

前置知识&#xff1a; 将中缀表达式转为List方法&#xff1a; //将一个中缀表达式转成中缀表达式的List//即&#xff1a;(3042)*5-6 》[(, 30, , 42, ), *, 5, -, 6]public static List<String> toIndixExpressionList(String s) {//定义一个List&#xff0c;存放中缀表达…

[Unity]接入Firebase 并且关联支付埋点

首先 在这个下一下FireBase的资源 firebase11.0.6 然后导入Analytics Auth Crashlytics 其他的看着加就行 然后直接丢到Unity里面 接下来需要去Firebase里面下载 Google json 丢到 这个下面 然后就是脚本代码了 using System.Collections; using System.Collection…