【苍狮技术团队】打造高效日志系统:Graylog + Docker 快速部署 + Spring Boot 日志集成全攻略

一、Graylog 介绍
Graylog 是一款功能强大的日志管理和分析工具,广泛应用于集中化日志管理、实时监控与告警等领域。它为企业提供了一个全面的解决方案,帮助用户高效地收集、索引和分析来自各种数据源的日志信息。Graylog 支持通过插件扩展其功能,并拥有友好的用户界面,使得搜索、可视化及报告生成变得简单直观。此外,该平台还支持多种集成方式,允许与其他软件如 LDAP、Active Directory 等进行整合,增强用户认证和权限管理。

二、Graylog 一键部署
docker-compose 安装
Graylog 部署
官方安装文档
官方部署文档:https://go2docs.graylog.org/current/downloading_and_installing_graylog/docker_installation.htm
GitHub yaml 文件:https://github.com/Graylog2/docker-compose

博主自定义 yaml
建议大家先参考官方文档了解 docker-compose 里面的文件,博主对 yaml 进行了小的改动,比如镜像使用了国内的镜像源、把挂载卷去掉了,默认在 docker-compose.yaml 目录进行持久化至宿主机;
执行以下代码进行部署:
增加 .env 文件,这是新版本必须要的文件,里面的参数详情参考官方文档,后面的博文中也会进行一步步介绍。
由于 .env 是隐藏文件,可以通过
ll -a
命令进行查看
启动 docker-compose
执行命令
docker-compose up
进行启动首先会进行镜像拉取,国内的镜像,大概 2 分钟左右镜像拉取完成

执行命令
docker-compose ps
查看容器拉取信息

到这里我们就已经把 Graylog 成功的启动起来啦。
问题处理(挂载权限问题)
执行
docker-compose ps
可以看到有两个容器一直在重启

执行命令查看日志:
docker logs graylog-graylog-1

在 docker-compose.yaml 目录下执行权限修复命令,这是挂载目录权限问题导致宿主机没有权限。
再执行命令停止:
docker-compose down -v
最后执行重新启动:
docker-compose up
问题处理(/proc/sys/vm/max_map_count)
执行命令查看日志:
docker logs graylog-datanode-1

问题描述: 从日志来看,Graylog 启动失败的原因是系统参数 /proc/sys/vm/max_map_count 的值太低(当前为 65530),而 Graylog 要求至少为 262144,因为它们对内存映射区域有较高的需求。
问题修复:
vi /etc/sysctl.conf
再末尾加上:
vm.max_map_count=262144
保存并退出,然后应用更改:
sudo sysctl -p
再执行命令停止:
docker-compose down -v
最后执行重新启动:
docker-compose up
三、Graylog 初始化
密码获取
打开浏览器访问,IP+9000 端口,如博主的:http://11.0.1.180:9000/

用户名为:admin
密码为:anQlBkYzlv ,密码获取查看 docker 日志:
docker logs graylog-graylog-1

应用初始化
CA 证书初始化

自动 30 天需求,点击下一步

进行节点认证及初始化操作


点击进行重启

重启完成后,默认跳转登录页面,账号密码均为 admin

到这里就成功登录进去并访问首页

四、Graylog 配置
点击 System input 进行创建

选择 GELF UDP 进行创建


选中 Global,并填入 Title

点击 Set-up Input ,点击 Next
当状态显示为 running 时表示配置成功


五、SpringBoot 项目集成应用
增加 pom.xml 依赖
增加 logback-spring.xml 配置文件
在原有的 logback-spring.xml 文件中加入配置文件
新增调试控制器
参数详解
六、效果展示
启动我们的 SpringBoot 项目
访问我们的应用地址,如:http://192.168.0.112:8077/dify/check
访问 Graylog 首页,查看日志是否正常写入
七、总结
到目前为止,我们基本完成 Graylog 的容器部署,Graylog 的初始化及我们的 SpringBoot 项目的集成
其实还有很多很多问题,比如这是单机的、我们演示的是 UDP 的,这个协议没有 TCP 可靠、还有集成的日志时间也是不对的,需要改成东八区,
差不多还有很多很多需要优化的地方,包括一些配置解释,这里只讲了最基础的集成应用,让大家有个直观的感受,后面会继续更新这个系列。
版权声明: 本文为 InfoQ 作者【苍狮技术团队】的原创文章。
原文链接:【http://xie.infoq.cn/article/073299875ce4e8c8a0de6b724】。文章转载请联系作者。
评论