热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot与Graylog集成实现微服务日志聚合与分析

本文介绍了如何在Graylog中配置输入源,并详细说明了SpringBoot项目中集成Graylog的日志聚合和分析方法,包括logback.xml的多环境配置。

1. 在Graylog中配置输入源

首先,登录到Graylog管理界面,选择System菜单下的Inputs选项,点击添加一个新的输入源。以GELF UDP为例,选择GELF UDP后点击Launch new input,并根据需要配置相关参数,如下图所示:

配置完成后,点击保存即可。

2. Spring Boot集成Graylog

在Spring Boot项目中集成Graylog,可以通过引入logback-gelf库来实现。首先,在pom.xml中添加依赖:


    de.siegmar
    logback-gelf
    3.0.0

接下来,配置logback.xml文件,设置GELF UDP Appender:


    10.7.16.5
    12201
    508
    true
    
    
        false
        true
        true
        false
        false
        true
        
            %m%nopex
        
        
            %m%n
        
        false
        app_name:老李测试
        os_arch:${os.arch}
        os_name:${os.name}
        os_version:${os.version}
    




    
    true



    
    
    

其他

常用搜索语法

Graylog的搜索语法类似于Lucene语法。默认情况下,如果您没有指定要搜索的消息字段,所有消息字段都会被包含在搜索中。以下是一些常用的日志搜索语法:

  • ssh:包含ssh的消息
  • ssh login:包含ssh或login的消息
  • "ssh login":包含确切短语"ssh login"的消息
  • type: ssh:type字段包含ssh的消息
  • type:(ssh OR login):type字段包含ssh或login的消息
  • type:"ssh login":type字段包含确切短语"ssh login"的消息
  • _exists_:type:具有type字段的消息
  • NOT _exists_:type:没有type字段的消息
  • /ethernet[0-9]+/:匹配正则表达式ethernet[0-9]+的消息

logback.xml多环境切换

在Spring Boot中,可以通过多种方式实现logback.xml的多环境配置。

方式一:使用springProfile标签

在logback.xml中使用springProfile标签定义多个环境配置:


    
        
    



    
        
    

方式二:拆分logback.xml文件

将logback.xml文件拆分为多个文件,如logback-prod.xml和logback-dev.xml(logback-{profile}.xml),然后在application.properties中指定配置文件:

logging.config: classpath:logback-${spring.profiles.active}.xml

启动时指定环境:

java -jar xxx.jar --spring.profiles.active=dev

或者在application.properties中直接指定:

spring.profiles.active=dev

推荐阅读
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文介绍如何使用JPA Criteria API创建带有多个可选参数的动态查询方法。当某些参数为空时,这些参数不会影响最终查询结果。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
author-avatar
北极光的悲伤
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有