当前位置: 首页 > news >正文

【Springcloud】elk分布式日志

【Springcloud】elk分布式日志

  • 【一】基本介绍
  • 【二】Elasticsearch
    • 【1】简介
    • 【2】下载
    • 【3】安装
    • 【4】启动
  • 【三】Logstash
    • 【1】简介
    • 【2】下载
    • 【3】安装
    • 【4】启动
  • 【四】Kibana
    • 【1】简介
    • 【2】下载
    • 【3】安装
    • 【4】启动
  • 【五】切换中文
  • 【六】日志收集

【一】基本介绍

(1)什么是分布式日志

在分布式应用中,日志被分散在储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。所以我们使用集中化的日志管理,分布式日志就是对大规模日志数据进行采集、追踪、处理。

(2)为什么要使用分布式日志

一般我们需要进行日志分析场景:直接在日志文件中grep、awk就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。

(3)ELK 分布式日志
实际上ELK是三款软件的简称,分别是Elasticsearch、 Logstash、Kibana组成。

Elasticsearch 基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Kibana 基于nodejs,也是一个开源和免费的工具,Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web 界面,可以汇总、分析和搜索重要数据日志。

Logstash 基于java,是一个开源的用于收集,分析和存储日志的工具。

(4)ELK的工作原理
在这里插入图片描述

【二】Elasticsearch

【1】简介

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题及可能出现的更多其它问题。

ElasticSearch是Elastic Stack的核心,同时Elasticsearch 是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为Elastic Stack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

【2】下载

到官网下载: (https://www.elastic.co/cn/downloads/elasticsearch )
在这里插入图片描述

【3】安装

解压到相应目录

tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz -C /usr/local

修改配置

cd /usr/local/elasticsearch-7.10.2/config/
vim elasticsearch.yml
node.name: node-1
path.data: /usr/local/elasticsearch-7.10.2/data
path.logs: /usr/local/elasticsearch-7.10.2/logs
network.host: 127.0.0.1
http.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

创建es用户 因为ElasticSearch不支持Root用户直接操作,因此我们需要创建一个es用户

useradd es
chown -R es:es /usr/local/elasticsearch-7.10.2

【4】启动

切换用户成es用户进行操作

su - es
/usr/local/elasticsearch-7.10.2/bin/elasticsearch

后台启动

/usr/local/elasticsearch-7.10.2/bin/elasticsearch -d 

在浏览器打开9200端口地址: (http://120.78.129.95:9200/),如果出现了下面的信息,就表示已经成功启动了

在这里插入图片描述

【三】Logstash

【1】简介

Logstash是一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到最喜欢的存储库中(我们的存储库当然是ElasticSearch)

【2】下载

到官网下载: (https://www.elastic.co/cn/downloads/logstash )

在这里插入图片描述

【3】安装

解压到相应目录

tar -zxvf logstash-7.10.2.tar.gz -C /usr/local

新增配置文件

cd /usr/local/logstash-7.10.2/bin
vim logstash-elasticsearch.conf
input {stdin {}
}
output {elasticsearch {hosts => '120.78.129.95:9200'}stdout {codec => rubydebug}
}

【4】启动

./logstash -f logstash-elasticsearch.conf

【四】Kibana

【1】简介

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

【2】下载

到官网下载: (https://www.elastic.co/cn/downloads/kibana)
在这里插入图片描述

【3】安装

解压到相应目录

tar -zxvf kibana-7.10.2-linux-x86_64.tar.gz -C /usr/local
mv /usr/local/kibana-7.10.2-linux-x86_64 /usr/local/kibana-7.10.2

修改配置

cd /usr/local/kibana-7.10.2/config
vim kibana.yml
server.port: 5601 
server.host: "0.0.0.0" 
elasticsearch.hosts: ["http://120.78.129.95:9200"] 
kibana.index: ".kibana"

授权es用户

chown -R es:es /usr/local/kibana-7.10.2/

【4】启动

切换用户成es用户进行操作

su - es
/usr/local/kibana-7.10.2/bin/kibana 

后台启动

/usr/local/kibana-7.10.2/bin/kibana &

在浏览器打开5601端口地址: (http://120.78.129.95:5601/),如果出现了下面的信息,就表示已经成功启动了
在这里插入图片描述

【五】切换中文

在config/kibana.yml添加

i18n.locale: "zh-CN"

【六】日志收集

对应服务器安装logstash,配置规则,例如新建logstash-apache.conf

input {file {path => "/home/ruoyi/logs/sys-*.log"start_position => beginningsincedb_path => "/dev/null"codec => multiline {pattern => "^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}"negate => trueauto_flush_interval => 3what => previous}}
}filter {if [path] =~ "info" {mutate { replace => { type => "sys-info" } }grok {match => { "message" => "%{COMBINEDAPACHELOG}" }}date {match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]}} else if [path] =~ "error" {mutate { replace => { type => "sys-error" } }} else {mutate { replace => { type => "random_logs" } }}
}output {elasticsearch {hosts => '120.78.129.95:9200'}stdout { codec => rubydebug }
}

启动logstash

./logstash -f logstash-apache.conf

通过kibana可视化检索各个服务日志数据
在这里插入图片描述

相关文章:

【Springcloud】elk分布式日志

【Springcloud】elk分布式日志 【一】基本介绍【二】Elasticsearch【1】简介【2】下载【3】安装【4】启动 【三】Logstash【1】简介【2】下载【3】安装【4】启动 【四】Kibana【1】简介【2】下载【3】安装【4】启动 【五】切换中文【六】日志收集 【一】基本介绍 (…...

华为mate60麒麟9000s的架构体系

...

面试半个月后的一些想法

源于半个月面试经历后的一些想法,刚开始想的是随便写写,没想到居然写了这么多。 找不到目标找不到意义亦或是烦躁的时候,就写写文章吧,把那些困扰你很久的问题铺开来 花时间仔细想想,其实真正让我们生气懊恼&#xff0…...

基于FPGA的图像二值化处理,包括tb测试文件和MATLAB辅助验证

1.算法运行效果图预览 将FPGA的数据导入到matlab进行显示 2.算法运行软件版本 Vivado2019.2 matlab2022a 3.部分核心程序 timescale 1ns / 1ps ............................................................................. module test_image;reg i_clk; reg i_rst; r…...

文件操作(个人学习笔记黑马学习)

C中对文件操作需要包含头文件<fstream > 文件类型分为两种: 1.文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2.二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;用户一般不能直接读懂它们 操作文件的三大类: 1.ofstream: 写操作 …...

Android Studio新版本New UI及相关设置丨遥遥领先版

1、前言 俗话说工欲善其事必先利其器嘛&#xff0c;工具用不好怎么行呢&#xff0c;借着Android Studio的更新&#xff0c;介绍一下新版本中的更新内容&#xff0c;以及日常开发中那些好用的设置。 2、关于新版本 2.1、最新正式版本 Android Studio Giraffe | 2022.3.1 Pat…...

新型人工智能技术让机器人的识别能力大幅提升

原创 | 文 BFT机器人 在德克萨斯大学达拉斯分校的智能机器人和视觉实验室里&#xff0c;一个机器人在桌子上移动一包黄油玩具。通过达拉斯分校计算机科学家团队开发的新系统&#xff0c;机器人每推动一次&#xff0c;就能学会识别物体。 新系统允许机器人多次推动物体&#xf…...

聚观早报|蚂蚁集团发布“蚁天鉴”;vivo X100系列即将亮相

【聚观365】9月12日消息 蚂蚁集团发布“蚁天鉴” vivo X100系列即将亮相 台积电8月份营收59亿美元 8月公共充电桩环比增加6.1万台 吴泳铭接替张勇出任阿里云代理董事长与CEO 蚂蚁集团发布“蚁天鉴” 蚂蚁集团发布大模型安全一体化解决方案“蚁天鉴”。该方案包含了大模型…...

读高性能MySQL(第4版)笔记05_优化服务器设置

1. 除非遇到异常情况&#xff0c;否则不需要调整配置 1.1. 不要“调优”服务器&#xff0c;不要使用比率、公式或“调优脚本”作为设置配置变量的基础 1.1.1. 在互联网上搜索配置建议并不总是一个好主意&#xff0c;你会在博客、论坛等找到很多糟糕的建议 1.1.2. 很难判断谁…...

Spring Boot跨域问题简介

什么是跨域问题&#xff1f; 在Web开发中&#xff0c;跨域指的是在浏览器中访问一个不同于当前域名的资源。浏览器出于安全考虑&#xff0c;限制了这种跨域资源的访问。具体来说&#xff0c;当浏览器使用XMLHttpRequest或Fetch API发送跨域请求时&#xff0c;目标服务器必须在…...

【Java】过滤器和拦截器区别

文章目录 前言1、过滤器 (Filter)2、拦截器 (Interceptor)3、我们不一样3.1、实现原理不同3.2、使用范围不同3.3、触发时机不同 4、拦截的请求范围不同5、注入Bean情况不同6、控制执行顺序不同总结 前言 准备环境 我们在项目中同时配置 拦截器 和 过滤器。 1、过滤器 (Filter…...

es滚动查询分析和使用步骤

ES在进行普通的查询时&#xff0c;默认只会查询出来10条数据。我们通过设置es中的size可以将最终的查询结果从10增加到10000。如果需要查询数据量大于es的翻页限制或者需要将es的数据进行导出又当如何&#xff1f; Elasticsearch提供了一种称为"滚动查询"&#xff08…...

飞书公式总结

文本处理函数 飞书中的表格&#xff0c;需要实现 内容内容1条件1内容2条件2内容3条件3今天是周一;可以出去玩今天是周一能今天天气不错不能可以出去玩能 条件1&#xff0c;2&#xff0c;3为能时&#xff0c;把对应的内容1&#xff0c;内容2&#xff0c;内容3复制到内容 TEX…...

vue3.2 导出pdf文件或表格数据

要在Vue 3中导出PDF文件&#xff0c;你可以使用第三方库来处理PDF生成和导出。一个常用的库是jspdf&#xff0c;它允许你在客户端或服务器端生成PDF文档。 以下是在Vue 3中使用jspdf库导出PDF文件的基本步骤&#xff1a; 第一步首先&#xff0c;安装jspdf库。你可以使用npm或ya…...

Linux学习--MySQL学习之查询语句

所有实现基于mysql8.0.26实现&#xff0c;事例代码 1&#xff1a;常用函数 字符函数数学函数日期函数聚集函数数学计算if函数case函数 函数&#xff1a;MySQL服务内置命令 语法&#xff1a;函数名(表头名) select格式 SELECT 函数(表头名) FROM 库名.表名&#xff1b; SE…...

三、视频设备的枚举以及插拔检测

一、前言 本章主要讲述&#xff0c;如何获取设备名称以及guid&#xff0c;采集设备的采集格式识别&#xff0c;设备的插拔 设备列表以及属性的获取使用的directshow(后续的MediaFoundation无法获取OBS摄像头) 设备的插拔使用的是QT 捕获系统消息&#xff0c;捕获到设备插拔后&a…...

Qt开发_调用OpenCV(4.x)完成人脸检测并绘制马赛克(摄像头实时数据)

一、前言 这个基于Qt和OpenCV的人脸检测和人脸打码项目是通过实时视频流中的人脸识别来保护隐私。 该项目目的是保护隐私并确保人脸数据安全。在某些情况下,使用实时视频流进行人脸检测和识别可能涉及对个人隐私的侵犯。通过在图像中打码人脸区域,可以避免未经许可的人脸出…...

ssl证书有效期为什么越来越短?

随着互联网的发展和网络安全意识的提升&#xff0c;SSL证书在保护网络通信安全方面起到了极为重要的作用。SSL证书通过加密通信数据&#xff0c;确保信息在传输过程中不被窃取或篡改&#xff0c;为用户提供了安全可靠的网络环境。然而&#xff0c;近年来SSL证书的有效期不断缩短…...

XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http)

原理 常见的存在HTTP头注入的参数 User-Agent&#xff1a;使得服务器能够识别客户使用的操作系统&#xff0c;浏览器版本等.&#xff08;很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中&#xff09; Cookie&#xff1a;网站为了辨别用户身份进行se…...

Java——》JVM对原生的锁做了哪些优化

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...

华为云云耀云服务器L实例评测|用docker搭建frp服务测试

华为云云耀云服务器L实例评测&#xff5c;用docker搭建frp服务测试 0. 环境 华为云耀云L实例EulerOS 1. 安装docker 检查yum源&#xff0c;本EulerOS的源在这里&#xff1a; cd /etc/yum.repos.d 更新源 yum makecache 安装 yum install -y docker-engine 运行测试 d…...

群狼调研(长沙满意度调查专业公司)开展公交车乘客满意度调查

在城市的喧嚣中&#xff0c;公交车是我们日常出行的重要工具。那么&#xff0c;公交车的服务是否满足我们的期待?它还有哪些改进的空间?在这篇文章中&#xff0c;群狼调研**(长沙汽车制造商满意度调查)**通过一个深入的公交车乘客满意度调查&#xff0c;为您解答这些问题。 …...

Spring与OAuth2:实现第三方认证和授权的最佳实践

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

Mysql的定时备份与恢复

MySQL定时备份与还原 MySQL备份方案 物理备份&#xff1a;这种备份方式将数据库的实际文件复制到另一个位置。常见的物理备份工具包括mysqldump和Percona XtraBackup。具体操作如下&#xff1a; 使用mysqldump 命令备份数据库&#xff1a; mysqldump -u username -p database_…...

学习Java基础面试题第五天

一、Java面试题第五天 1.spring字符串的最大长度 转自&#xff1a;String字符串的最大长度是多少&#xff1f;在学习和开发过程中&#xff0c;我们经常会讨论 short &#xff0c;int 和 long 这些基本数据类型的取值范围&#xff0c;但是对于 String 类型我们好像很少注意它的…...

(10)(10.9) 术语表(一)

文章目录 前言 1 2.4Ghz 2 AGL 3 AHRS 4 APM 5 AMA 6 Arduino 7 APM (AutoPilot Mega) 8 ATC 9 Copter 10 Plane 11 Rover 12 BEC 13 Bootloader 14 COA 15 DCM 16 Eagle file 17 ESC 18 Firmware 19 FPV 20 FTDI 前言 &#xff01;Note 术语表未编入索…...

面试(类加载器)

一、目标 类加载器&#xff08;ClassLoader&#xff09;是Java虚拟机&#xff08;JVM&#xff09;的一部分&#xff0c;用于加载Java类文件到内存中&#xff0c;并生成对应的Class对象。类加载器负责在运行时查找和加载类文件&#xff0c;为Java程序提供动态加载和运行时扩展的…...

二维差分---基础算法

书接上回 a二维数组是b二维数组的前缀和数组,b二维数组是a二维数组的差分数组,也就是说a[i][j]b[1][1]b[1][2] ......b[i][1] b[i][2] ...... b[i][j] ,下图是b的二维数组 如图,当你想要整个矩阵中的一个子矩阵都加上一个C,如果我们将b[x1][x2]加上C,那么a数组右下角所有的…...

C++之结构体智能指针shared_ptr实例(一百九十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

初出茅庐的小李博客之根据编译时间生成软件版本号

为什么要软件版本号呢&#xff1f; 生成软件版本号是在软件开发和维护过程中非常重要的一项任务&#xff0c;它有很多意义和好处&#xff0c;同时也有多种常见的方法。 标识和追踪&#xff1a;软件版本号是唯一的标识符&#xff0c;用于区分不同版本的软件。这有助于开发人员和…...

英文企业网站建设/网站外链优化方法

原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处、作者信息和本声明。否则将追究法律责任。http://caoyameng.blog.51cto.com/4975863/1359732运维自动化是2010年开始炒得很热的一个概念&#xff0c;也让很多工程师、用人单位瞎激动了很久…...

西安的电商平台网站建设/百度认证号码平台

上一篇博客中提到了用CoreData来进行数据的持久化&#xff0c;CoreData的配置和使用步骤还是挺复杂的。但熟悉CoreData的使用流程后&#xff0c;CoreData还是蛮好用的。今天要说的是如何记录我们用户的登陆状态。例如微信&#xff0c;QQ等&#xff0c;在用户登陆后&#xff0c;…...

wordpress 4.7.3 id/专业做灰色关键词排名

盒马app刚出现&#xff0c;就吸足了眼球。最近看了看盒马界面&#xff0c;很Q&#xff0c;就想着仿照app写个小程序。 功能介绍 好奇微信小程序是如何制作的&#xff0c;也对盒马app感兴趣&#xff0c;就尝试写了这个盒马小程序。实现了app的部分功能&#xff0c;还有部分功能未…...

如何优化网站内容/营销平台有哪些

浪花是如何形成的&#xff1f;如果把浪花拆解开来&#xff0c;它只剩下一个个水分子。如果再把这些水分子聚集起来&#xff0c;在潮汐力的作用下&#xff0c;浪花才能“涌现”出来。涌现&#xff0c;也是智慧诞生的方式。由简单的元素和简单的联接&#xff0c;构成一个足够复杂…...

泰安网站设计/今天发生了什么重大新闻

转载自&#xff1a;http://msdn.microsoft.com/zh-cn/library/system.badimageformatexception%28vvs.100%29.aspx BadImageFormatException 类 当动态链接库 (DLL) 或可执行程序的文件映像无效时引发的异常。 解决办法&#xff1a; DLL 或可执行文件作为 64 位程序集加载&…...

如何上传织梦做的网站/网站友情链接代码

现在很多OA系统都是可以免费试用的&#xff0c;想要知道哪个好&#xff0c;可以直接前往产品官网体验试用后再选。感兴趣的话&#xff0c;可以试用下捷效办公。网址&#xff1a;国内最专业的私有化移动办公系统 - 捷效办公捷效办公是一款新型企业移动协同办公系统。捷效紧紧围绕…...