Graylog安装

系统:ubuntu 20.04

核心组件版本要求:

Graylog: 7.0.x (最新)

MongoDB: 7.0 (推荐) 或 8.0 (需CPU支持AVX指令)

Data Node: 随Graylog 7一起安装,无需单独配置

Java: Graylog 7会自动捆绑安装 Java 21,无需手动安装

⚠️ 硬件要求:

内存: 至少需要 8 GB RAM。Graylog 7的三个服务(MongoDB, Data Node, Graylog Server)在空闲状态下约占用4 GB内存,生产环境建议16 GB

CPU: 至少4核

磁盘: 至少50 GB (建议使用SSD)

安装步骤概览:

安装 Java 21

# 安装 Java 21
sudo apt-get update
sudo apt-get install -y openjdk-21-jre-headless

# 验证安装
java -version

# 应该显示: openjdk version "21.0.6" 或类似

安装 MongoDB:

# 导入MongoDB公钥
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
# 添加MongoDB 7.0仓库 (Ubuntu 20.04对应'focal')
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl enable --now mongod

小提示: 如果你的服务器CPU不支持AVX指令,请安装MongoDB 7.0而不是8.0。可以通过 lscpu | grep avx 检查。

安装 Graylog 7:

# 下载并安装Graylog 7仓库
wget https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.deb
sudo dpkg -i graylog-7.0-repository_latest.deb
sudo apt-get update
# 同时安装Graylog Server和Data Node
sudo apt-get install -y graylog-server graylog-datanode

配置 Graylog:

# 生成password_secret(96位随机字符串)
pwgen -N 1 -s 96
# 如果pwgen未安装,先执行:sudo apt-get install pwgen

# 生成root密码的SHA256哈希(将"你的密码"替换成你想设置的密码,注意如果密码有特殊字符,需要使用单引号)
echo -n '你的密码' | sha256sum

编辑 /etc/graylog/server/server.conf,找到并修改以下关键参数:

# 编辑配置文件
sudo nano /etc/graylog/server/server.conf

# 将第1步生成的96位字符串粘贴到这里(**注意,不要带双引号,等号后面有空格**)
password_secret = 你生成的96位随机字符串

# 将第2步生成的SHA256哈希值粘贴到这里
root_password_sha2 = 你的密码哈希值

# 允许外部访问,修改为0.0.0.0:9000
http_bind_address = 0.0.0.0:9000

# 可选:设置时区
# root_timezone = Asia/Shanghai

ctrl+O,然后回车保存
ctrl+X,退出

Data Node配置。

sudo nano /etc/graylog/datanode/datanode.conf

配置文件中 password_secret 和 root_password_sha2  使用上一步设置的密钥

# 1. 创建缺失的目录
sudo mkdir -p /var/lib/graylog-datanode/opensearch/{config,data,logs}

# 2. 设置正确的权限
sudo chown -R graylog-datanode:graylog-datanode /var/lib/graylog-datanode/
sudo chown -R graylog-datanode:graylog-datanode /var/log/graylog-datanode/

启动服务:

1. 首先,设置内核参数(必须执行,否则Data Node无法启动)
bash
# 立即生效
sudo sysctl -w vm.max_map_count=262144

# 永久生效(重启后依然有效)
echo "vm.max_map_count = 262144" | sudo tee /etc/sysctl.d/99-graylog-datanode.conf
# 重新加载systemd配置
sudo systemctl daemon-reload

# 启动并启用服务
sudo systemctl enable --now mongod graylog-datanode graylog-server

# 检查服务状态
sudo systemctl status mongod graylog-datanode graylog-server
  1. 访问Graylog Web界面
    等待1-2分钟让所有服务完全启动,然后访问:

完成 Preflight 配置

获取临时密码(如果需要)
如果页面要求输入密码但你没有,可以查看临时密码:

bash
# 查看临时密码
sudo grep -i "preflight\|password\|admin" /var/log/graylog-server/server.log | tail -20
在输出的倒数第二行会出现username和password
http://你的服务器IP:9000
用户名:admin
密码:临时密码

image

一定要出现数据库Data Nodes
查看问题日志:sudo tail -100 /var/log/graylog-datanode/datanode.log

其他需要注意的

修复 Data Node 堆内存警告
Data Node 的 Java 堆内存只配置了 Graylog 官方推荐配置为总内存的 50%

1. 编辑 Data Node 配置文件
sudo nano /etc/graylog/datanode/datanode.conf
2. 添加或修改堆内存配置
在文件中找到或添加以下行:
opensearch_heap = 5g
如果文件中有注释掉的类似配置,取消注释并修改;如果没有,在文件末尾添加这一行。

3. 保存并退出
Ctrl + O 保存
Ctrl + X 退出

4. 重启 Data Node 服务
sudo systemctl restart graylog-datanode

WEB界面的警告不会立即消失

配置收集日志的网络设备

添加输入,system--input,网络设备默认选择syslog UDP

image

输入Title,选择时区,其他保持默认

image

然后在右侧点击setup input

image

image

需要配置带UTC+8的日志(local-time,网络设备本地时间),否则收集的日志时间可能会差8小时,前提是网络设备本身的时区设置正确
info-center loghost X.X.X.X local-time
posted @ 2026-05-21 11:20  红妹妹  阅读(152)  评论(0)    收藏  举报