你知道Graylog吗?不知道的话我建议你知道!

本文介绍了轻量级日志管理平台GrayLog的功能及优势,并详细记录了使用Docker部署GrayLog的方法,最后演示了如何将SpringBoot应用的日志输出到GrayLog。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、GrayLog简介

作为一位合格的后端开发程序员,说起ELK,即便没用过肯定也听说过这玩意了,在后端是真的流行。而GrayLog 可以算是轻量级ELK。

GrayLog是一个轻量型的分布式日志管理平台,一个开源的日志聚合、分析、审计、展示和预警工具。在功能上来说,和 ELK类似,但又比 ELK要简单轻量许多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多公司的青睐。

GrayLog包含 Elasticsearch、MongoDb 和 Graylog三个模块。其中,Elasticsearch用来持久化存储和检索日志文件数据,MongoDb 用来存储关于 Graylog的相关配置,而 Graylog用来提供 Web 界面和对外接口。

  • 单机部署
    在这里插入图片描述
  • 集群部署
    在这里插入图片描述

官方文档:https://docs.graylog.org/docs

二、部署Graylog

大概介绍了一下Graylog ,我们直接上docker-compose 部署,之前的文章里我们介绍了很多了,相比大家也并不生疏。

创建一个文件夹,在文件夹中创建文件docker-compose.yml

version: '3'
services:
    mongo:
      image: mongo:4.2
      networks:
        - graylog
    elasticsearch:
      image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
      environment:
        - http.host=0.0.0.0
        - transport.host=localhost
        - network.host=0.0.0.0
        - "ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true -Xms512m -Xmx512m"
      ulimits:
        memlock:
          soft: -1
          hard: -1
      deploy:
        resources:
          limits:
            memory: 1g
      networks:
        - graylog
    graylog:
      image: graylog/graylog:4.2
      environment:
        - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
        - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
        - GRAYLOG_HTTP_EXTERNAL_URI=http://www.xiong.com:9009/      # 这里注意要改ip
      entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 --  /docker-entrypoint.sh
      networks:
        - graylog
      restart: always
      depends_on:
        - mongo
        - elasticsearch
      ports:
        - 9009:9000
        - 1514:1514
        - 1514:1514/udp
        - 12201:12201
        - 12201:12201/udp
networks:
    graylog:
      driver: bridge

这个文件里唯一需要改动的就是 ip(本来的端口是9000的,由于我已经占用了9000端口,所以我这里把端口改成了9009,大家可以随意)

写完docker-compose.yml文件,直接docker-compose up -d 它就启动起来咯。

在这里插入图片描述

启动以后,我们就可以通过ip:port访问对应的Graylog后台地址了,默认的账号和密码是admin/admin

在这里插入图片描述
在这里插入图片描述

随后,我们配置下 inputs 的配置,找到GELF UDP,然后点击Launch new input,只需要填写Title字段,保存就完事了(其他不用动)。

到这里,我们的GrayLog设置就完成了。

在这里插入图片描述

三、SpringBoot使用GrayLog

1、引入依赖:
<dependency>
  <groupId>de.siegmar</groupId>
  <artifactId>logback-gelf</artifactId>
  <version>3.0.0</version>
</dependency>
2、在logback.xml配置graylog相关的信息:
<appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
  <!-- Graylog服务的地址 -->
  <graylogHost>ip</graylogHost>
  <!-- UDP Input端口 -->
  <graylogPort>12201</graylogPort>
  <!-- 最大GELF数据块大小(单位:字节),508为建议最小值,最大值为65467 -->
  <maxChunkSize>508</maxChunkSize>
  <!-- 是否使用压缩 -->
  <useCompression>true</useCompression>
  <encoder class="de.siegmar.logbackgelf.GelfEncoder">
    <!-- 是否发送原生的日志信息 -->
    <includeRawMessage>false</includeRawMessage>
    <includeMarker>true</includeMarker>
    <includeMdcData>true</includeMdcData>
    <includeCallerData>false</includeCallerData>
    <includeRootCauseData>false</includeRootCauseData>
    <!-- 是否发送日志级别的名称,否则默认以数字代表日志级别 -->
    <includeLevelName>true</includeLevelName>
    <shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%m%nopex</pattern>
    </shortPatternLayout>
    <fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%d - [%thread] %-5level %logger{35} - %msg%n</pattern>
    </fullPatternLayout>

    <!-- 配置应用名称(服务名称),通过staticField标签可以自定义一些固定的日志字段 -->
    <staticField>app_name:austin</staticField>
  </encoder>
</appender>

在这个配置信息里,唯一要改的也只是ip的地址,到这里接入就完毕了,我们再打开控制台,就能看到日志的信息啦。

### 如何在Linux服务器上设置Graylog日志管理平台 #### 准备工作 为了成功部署Graylog,在开始之前需确认已准备好满足最低硬件需求的机器以及具备管理员权限。建议的操作系统环境为基于Debian或RedHat的企业级版本,因为这些发行版拥有更稳定的更新周期和支持社区。 #### 安装依赖软件包 确保目标主机已经安装了必要的前置条件工具和服务,比如Java运行环境和Elasticsearch数据库引擎。对于采用yum作为包管理器的CentOS/RHEL类系统而言,可以通过如下命令获取所需组件[^1]: ```bash sudo yum install java-1.8.0-openjdk-headless elasticsearch ``` 而对于apt-get驱动下的Ubuntu/Debian,则应执行以下指令来完成相同目的: ```bash sudo apt-get update && sudo apt-get install openjdk-8-jre-headless elasticsearch ``` #### 配置Elasticsearch集群参数 编辑`/etc/elasticsearch/elasticsearch.yml`文件以调整默认配置选项,使之更适合承载Graylog的工作负载。特别需要注意的是要适当调高JVM堆栈大小限制,并开启跨域资源共享(CORS)支持功能以便于后续集成操作。 #### 下载并安装Graylog二进制分发包 前往官方下载页面选取适用于当前系统的最新稳定版压缩包,解压后按照说明文档指引逐步推进安装流程直至结束。此过程可能涉及到创建初始管理员账户、定义输入源类型等一系列初始化设定动作。 #### 启动服务与验证状态 依次启动elasticsearch.service 和 graylog-server.service 单元,利用systemctl status 命令检查二者是否均处于正常活跃(Active: active (running)) 状态下。如果一切顺利的话,现在就可以通过浏览器访问http://<your_server_ip>:9000 来登录Web界面啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyyn_未来可期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值