ELK日志解决方案

ELK日志解决方案

ELK套件日志系统应该是Elasticsearch使用最广泛的场景之一了,Elasticsearch支持海量数据的存储和查询,特别适合日志搜索场景。广泛使用的ELK套件(Elasticsearch、Logstash、Kibana)是日志系统最经典的案例,使用Logstash和Beats组件进行日志收集,Elasticsearch存储和查询应用日志,Kibana提供日志的可视化搜索界面。

在这里插入图片描述

安装es和kibana

本文版本为8.5.0

安装es和kibana文档可以参考:

https://blog.csdn.net/weixin_73195042/article/details/135835820

https://blog.csdn.net/weixin_73195042/article/details/135567295

此处es配置密码:elastic/111111

安装Logstash

请注意:Logstash版本必须和es版本一致!这里以8.5.0版本为例。

第一步:拉取镜像

docker pull logstash:8.5.0

第二步:需要提前在linux服务器上环境 /mydata/logstash/logstash.conf,内容如下

mkdir -p /mydata/logstash

input {tcp {mode => "server"host => "0.0.0.0"port => 5044codec => json_lines}
}
filter{}
output {elasticsearch {hosts => "192.168.200.6:9200"index => "project-%{+YYYY.MM.dd}"user => "elastic"password => "111111"}
}

第三步:创建容器

docker run --name docker_logstash -p 5044:5044 \
--restart=always \
--link docker_elasticsearch:es \
-v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:8.5.0

安装Filebeat

第一步:授权

chmod 777 -R /var/log/messages

第二步:启动日志收集器

docker run -d \--name=filebeat \--restart=always \-v filebeat-conf:/usr/share/filebeat \-v /var/log/messages:/var/log/messages \--link 1833f6a65c2a:docker_elasticsearch \elastic/filebeat:7.8.01833f6a65c2a: es容器的ID

第三步:修改配置文件:

进入到目录:
cd /var/lib/docker/volumes/filebeat-conf/_data
修改配置文件
vim filebeat.yml
内容如下
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/messages
filebeat.config:modules:path: ${path.config}/modules.d/*.ymlreload.enabled: falseprocessors:- add_cloud_metadata: ~- add_docker_metadata: ~output.elasticsearch:hosts: '192.168.200.128:9200'indices:- index: "filebeat-%{+yyyy.MM.dd}"

重启filebeat 容器,运行检索模块

效果:以后虚拟机上的所有日志都会收集保存到es中,可以在kibana中进行检索。

Logstash环境问题

  1. 安装Logstash

  2. 通过查看Logstash容器日志,401未授权异常 ES8.0后必须有授权许可

  3. 修改宿主机Logstash配置文件添加授权配置信息即可:/mydata/logstash/logstash.conf。

    此处密码应该与es密码一致

    user => "elastic"
    password => "111111"
    
  4. 重启Logstash容器,再查看一下日志,发现没有报错。

项目中整合

  1. 引入依赖

    <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>5.1</version>
    </dependency>
    
  2. 日志配置文件logback-spring.xml增加,日志Logstash策略

    <!-- logstash日志 -->
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><!-- logstash ip和暴露的端口,logback就是通过这个地址把日志发送给logstash --><destination>192.168.200.6:5044</destination><encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender><!-- 开发环境 -->
    <springProfile name="dev"><!-- com.atguigu日志记录器:业务程序INFO级别  --><logger name="com.atguigu" level="INFO" /><!--<logger name="com.alibaba" level="WARN" />--><!-- 根日志记录器:INFO级别  --><root level="INFO"><appender-ref ref="CONSOLE" /><appender-ref ref="LOGSTASH" /></root>
    </springProfile>
    
  3. 启动项目测试Java进程启动会将日志发送到Logstash,Logstash会自动将数据存入ES

  4. 这时候我们启动项目,然后进入es的控制台,输入:

    GET /project-2024.01.26/_search
    {"query": {"term": {"level.keyword": {"value": "WARN"}}}
    }
    

    这样我们就可以得到服务的日志了。

我们还可以通过一些开源组件让日志可视化的直接展示出来,而不需要我们每次在es中查询。例如:

Plumelog: 一个简单易用的java日志系统,解放你的日志查询困难问题,方便快速追踪问题,安装配置简单,性能优秀 演示视频地址:https://v.qq.com/x/page/g3308uxlcnw.html (gitee.com)

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

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

相关文章

JQuery 新手经常遇到的问题强调

JQuery 新手经常遇到的问题强调 1.HTML onready document.onready $(function(){ }); 2.HTML onload window.onload 页面加载完毕 3. JQuery绑定事件的先后顺序 4.Jquery js异常默认隐藏问题 5.JQuery 版本接口问题 更多&#xff1a; 网页在线打开PDF_网站中在线查看P…

WPF中的选项卡布局TabControl控件

在WPF中&#xff0c;可以使用TabControl控件来创建选项卡布局。TabControl是一种容器控件&#xff0c;它通过选项卡&#xff08;TabItem&#xff09;来组织和显示多个页面或面板。 TabControl控件通常由两个部分组成&#xff1a;选项卡头部&#xff08;Header&#xff09;和选…

Scikit-learn (sklearn)速通 -【莫凡Python学习笔记】

视频教程链接&#xff1a;【莫烦Python】Scikit-learn (sklearn) 优雅地学会机器学习 视频教程代码 scikit-learn官网 莫烦官网学习链接 本人matplotlib、numpy、pandas笔记 1 为什么学习 Scikit learn 也简称 sklearn, 是机器学习领域当中最知名的 python 模块之一. Sk…

burp靶场--WebSockets安全漏洞

burp靶场–WebSockets安全漏洞 https://portswigger.net/web-security/websockets/what-are-websockets ### 什么是 WebSocket&#xff1f; WebSocket是一种通过 HTTP 发起的双向、全双工通信协议。它们通常在现代 Web 应用程序中用于流数据和其他异步流量。 在本节中&#x…

ChatGPT 官方中文页面上线

根据页面显示&#xff0c;OpenAI 现已推出 ChatGPT 的多语言功能 Alpha 版测试&#xff0c;允许用户选择不同语言的界面进行交互。 如下图所示&#xff0c;ChatGPT 会检测系统当前所使用的语言&#xff0c;并提示用户进行语言切换。 用户也可通过设置页面选择其他语言。目前&a…

计算机网络(第六版)复习提纲14

SS3.5 高速以太网 之前讲的10Mbps以太网&#xff0c;使用CSMA/DA协议&#xff0c;51.2us争用期&#xff0c;64Byte最小帧&#xff0c;9.6us间隔。 ATM&#xff1a;异步传输模式&#xff0c;速度可达155Mbps。 1.100BASE-T以太网 也称快速以太网&#xff0c; 在双绞线上传送100M…

Java Collection 和 Collections的区别

Java的Collection和Collections主要在以下三个方面存在区别&#xff1a; 角色与功能&#xff1a; Collection是一个集合接口&#xff0c;它为各种具体的集合提供了最大化的统一操作方式。它是Java集合框架中集合类的一个基本接口&#xff0c;包括List、Set、Queue等集合类的父…

13.docker私服registry搭建

容器注册 Docker Hub是最大、使用最广泛的docker容器注册托管中心。 registry用于保存docker镜像&#xff0c;包括镜像的层次结构和元数据。启动容器时&#xff0c;docker daemon会试图从本地获取相关的镜像&#xff1b;本地镜像不存在时&#xff0c;其将从registry中下载该镜…

Linux之系统安全与应用

Linux系统提供了多种机制来确保用户账号的正当&#xff0c;安全使用。 系统安全措施 一. 清理系统账号 1.1 将用户设置为无法登录 Linux系统中除手动创建的各种账号外&#xff0c;还包括随系统或程序安装过程而生成的其他大量账号。除了超级用户root以外&#xff0c;其他的…

【issue-halcon例程学习】measure_pin.hdev

例程功能 检测IC引脚。代码更多地关注测量函数的可视化情况。 代码如下 dev_close_window () read_image (Image, ic_pin) get_image_size (Image, Width, Height) dev_open_window (0, 0, Width / 2, Height / 2, black, WindowHandle) set_display_font (WindowHandle, 14,…

免费开源的微信小程序源码、小游戏源码精选70套!

微信小程序已经成为我们日常的一部分了&#xff0c;也基本是每个程序员都会涉及的内容&#xff0c;今天给大家分享从网络收集的70个小程序源码。其中这些源码包含&#xff1a;小游戏到商城小程序&#xff0c;再到实用的工具小程序&#xff0c;以及那些令人惊叹的防各大站点的小…

【Linux】文件描述符 | 重定向 | C文件指针与fd的关系 | 用户级缓冲区

文章目录 一、文件描述符1. 理解&#xff1a;Linux下一切皆文件2. 文件描述符&#xff08;fd&#xff09;的概念3. 文件描述符的分配规则4. 进程创建时默认打开的 0 & 1 & 2 号文件 二、重定向1. 重定向的本质2. 使用dup2系统调用函数3. bash下的三种重定向4. 三种重定…

全面理解“张量”概念

1. 多重视角看“张量” 张量&#xff08;Tensor&#xff09;是一个多维数组的概念&#xff0c;在不同的学科领域中有不同的应用和解释&#xff1a; 物理学中的张量&#xff1a; 在物理学中&#xff0c;张量是一个几何对象&#xff0c;用来表示在不同坐标系下变换具有特定规律的…

业务流程设计相关学习笔记

一文读懂华为LTC流程和变革精髓&#xff01; 第一个是从概念到市场。 也就是之前讲的 IPD 开发流程。 从捕捉到客户新的需求开始&#xff0c;到新产品完成开发并成功推向市场&#xff0c;最终得到客户的认可为止&#xff1b; 第二个是从市场到线索。 具体是指 MTL 流程&#x…

TI毫米波雷达

收集一些介绍TI毫米波雷达优秀的帖子&#xff0c;供未来学习参考 1. TI毫米波雷达日记TI毫米波雷达笔记_网易独家音乐人Mike Zhou的博客-CSDN博客

(N-141)基于springboot,vue网上拍卖平台

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;项目采用前后端分离 前端技术&#xff1a;vueelementUI 服务端技术&#xff1a;springbootmybatis-plusredi…

GNS3连接Vmware虚拟机

1 安装配置Gns3、Vmware 安装过程略&#xff0c;最终版本号&#xff1a; Gns3&#xff1a;2.2.44.1 Vmware&#xff1a;17.0 建议保持一致&#xff0c;特别是Gns3&#xff0c;功能虽然强大的&#xff0c;但bug问题感觉也不少 2 虚拟机配置 新建两台Ubuntu 22.04虚拟机&#…

素引是什么

素引&#xff08;Bloom filter&#xff09;是一种概率型数据结构&#xff0c;用于快速判断一个元素是否属于一个集合。它可以用来检索大规模数据集中是否存在某个元素&#xff0c;具有高效的查询速度和较低的存储需求。 素引的工作原理如下&#xff1a; 初始化&#xff1a;创…

【JavaScript权威指南第七版】读书笔记速度

JavaScript权威指南第七版 序正文前言&#xff1a;图中笔记重点知识第1章 JavaScript简介第一章总结 第2章 词法结构注释字面量标识符和保留字Unicode可选的分号第二章总结 第3章 类型、值和变量【重要】原始类型特殊类型第三章总结 第4章 表达式与操作符表达式操作符条件式调用…

【JAVA面试精选篇-初生牛犊不怕虎】

文章目录 🌽 简介🧺 线程池🌄 Redis⏰ JVM🚛 数据结构🍎 Mysql🍡 结语🌽 简介 海阔凭鱼跃,天高任鸟飞! 学习不要盲目,让大脑舒服的方式吸收知识!!! 本人马上离开济南,回泰安发展,为了积极准备面试,目前在梳理一些知识点,同时希望能够帮助到需要的人… …