热门标签 | 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

推荐阅读
  • Kafka 示例项目中 Log4j 的配置与调试
    本文详细介绍了如何在 Kafka 源码中的示例项目配置 Log4j,以确保能够正确记录日志信息,帮助开发者更好地理解和调试代码。 ... [详细]
  • Log4net是一款由Apache软件基金会开发的强大且灵活的日志记录工具,与Log4j同属一个系列。它支持多种日志记录方式,并能显著提升软件开发的效率。本文将详细介绍如何在ASP.NET Web Forms项目中集成Log4net。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文介绍了如何在最新版本的Visual Studio Code中配置中文语言包,使用户能够更便捷地使用中文界面。文章详细描述了安装和配置步骤,并提供了相关补充说明。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • MyBatis入门指南
    本文详细介绍了MyBatis的基础知识,包括如何整合日志框架(如log4j和logback),使用外部JDBC文件,getMapper()方法的应用,以及别名设置等技巧。 ... [详细]
  • 深入理解Play Framework 1.2.7中的缓存机制
    本文探讨了Play Framework 1.2.7版本中提供的缓存解决方案,包括Ehcache和Memcached的集成与使用。文章详细介绍了缓存相关的类及其功能,以及如何通过配置选择合适的缓存实现。 ... [详细]
  • 本文介绍了如何在Java中使用`JCheckBoxMenuItem.setMnemonic()`方法,并提供了多个实际应用的代码示例。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
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社区 版权所有