Linux 环境部署 Graylog 日志管理平台实现集中日志分析

云婷同学_1674

云婷同学_1674

2026-07-05

296人浏览

原创

graylog部署核心是严格匹配版本与逐层验证依赖:graylog 4.x需openjdk 11,5.x/6.x强制java 17;elasticsearch/opensearch须禁用xpack.security并设single-node;mongodb连接串必须含数据库名(如/graylog);配置错误将导致静默失败。

linux 环境部署 graylog 日志管理平台实现集中日志分析

Linux 环境部署 Graylog 实现集中日志分析,核心不是“装完就用”,而是理清依赖链、匹配版本、逐层验证。关键在三点:Java 与 Graylog 大版本严格对应、Elasticsearch/OpenSearch 必须关闭安全模块并设为单节点、MongoDB 连接串必须带数据库名(如 mongodb://localhost:27017/graylog)。跳过任一环节,服务大概率静默失败,只留一句模糊报错。

组件版本与系统准备

先确认你的 Graylog 目标版本,再反向锁定依赖:

  • Graylog 4.x(如 4.5)→ 必须用 OpenJDK 11;卸载所有旧 JDK 后,从 Adoptium 安装 temurin-11-jdk,java -version 输出需明确含 11.
  • Graylog 5.x 或 6.x(如当前 6.0)→ 强制要求 Java 17;同样建议用 temurin-17-jdk,避免 UnsupportedClassVersionError
  • 后端存储:推荐 OpenSearch 2.12+(替代 Elasticsearch OSS),或 Elasticsearch 7.17/8.11;MongoDB 4.4+ 即可
  • 系统资源:日志量<1GB/天 → 2核4G 足够;中型环境(<10GB/天)建议 4核8G,内存优先分给 OpenSearch(如 -Xms2g -Xmx2g)

Docker Compose 一键部署(推荐新手)

比手动装包更可控,避免系统级配置冲突。以 Graylog 6.0 + OpenSearch 2.12 为例:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 生成密钥:echo -n "your_admin_password" | sha256sum 得到 root 密码哈希;openssl rand -hex 32 得到 secret
  • 创建 /opt/graylog/docker-compose.yml,确保 OpenSearch 的 discovery.type=single-node 和 plugins.security.disabled=true 显式设置
  • 启动:cd /opt/graylog && docker-compose up -d
  • 验证:等 2–3 分钟后,docker-compose logs graylog | grep "Started Graylog" 出现即成功;浏览器访问 http://服务器IP:9000

输入配置与日志接入

Web 界面登录后,重点配好“输入(Inputs)”,这是日志进来的入口:

  • GELF UDP(端口 12201):适合 Filebeat、Log4j GELF Appender、Shairport Sync 等结构化日志源
  • Syslog UDP/TCP(端口 514):适配 Linux rsyslog、网络设备原生 syslog;在 /etc/rsyslog.d/50-graylog.conf 加一行:*.* @your-graylog-ip:514;RSYSLOG_ForwardFormat
  • Beats Input(端口 5044):对接 Filebeat、Winlogbeat;需在 Filebeat 配置中设 output.graylog: hosts: ["your-graylog-ip:5044"]
  • 务必勾选 “Bind address: 0.0.0.0”,否则外部机器无法连接

常见启动失败排查路径

Graylog 启动失败,别猜,按顺序查:

  • 查 OpenSearch:curl http://localhost:9200/_cat/health?v —— 状态不是 green?检查 elasticsearch.yml 是否关了 xpack.security、是否设了 single-node
  • 查 MongoDB:mongo --eval "db.getSiblingDB('graylog').users.find().count()" —— 返回 0?说明 mongodb_uri 没带库名,或权限不对
  • 查 Graylog 日志:docker-compose logs graylog | tail -20 或 journalctl -u graylog-server -n 50 —— 关键线索常在最后 5 行,比如 No root user configured 就是漏了 root_password_sha2
  • 时间同步:所有日志源和 Graylog 服务器必须启用 chronyd 或 ntpd 指向同一 NTP 服务器,否则搜索时序混乱

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3930

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3373

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2513

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6090

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5722

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3353

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2865

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3079

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

MongoDB 教程
MongoDB 教程

共17课时 | 6.3万人学习

黑马云课堂mongodb实操视频教程
黑马云课堂mongodb实操视频教程

共11课时 | 3.5万人学习