离线安装Graylog

Updated on in 系统部署 with 0 views and 0 comments

官方链接:

https://go2docs.graylog.org/current/downloading_and_installing_graylog/ubuntu_installation_os.html?Highlight=Ubuntu

在 Ubuntu 上离线安装 Graylog 7.0 完整指南

离线安装的核心思路:在有网络的机器上提前下载所有安装包,再传输到目标离线服务器安装。


一、版本依赖要求(必读)

Graylog 7.0 需要以下组件版本兼容: graylog

组件版本要求
Ubuntu22.04 或 24.04
MongoDB7.x~ 8.0.x
OpenSearch1.1.x~ 2.19.4(禁止安装 3.0+

⚠️ 警告:不要安装或升级到 OpenSearch 3.0+,它不被支持,会导致实例崩溃。 graylog

二、离线前准备(在有网络的机器上操作)

需要下载的安装包清单

1. MongoDB 8.0 DEB 包

bash

# 导入 GPG Key 并下载 MongoDB deb 包
wget https://repo.mongodb.org/apt/ubuntu/dists/jammy/mongodb-org/8.0/multiverse/binary-amd64/mongodb-org-server_8.0.x_amd64.deb
# 建议使用 apt-get download 批量下载:
sudo apt-get install --download-only mongodb-org
# 包保存在 /var/cache/apt/archives/
2. OpenSearch 2.x DEB 包

bash

# 示例下载 2.15.0(推荐稳定版本)
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.15.0/opensearch-2.15.0-linux-x64.deb
3. Graylog 7.0 DEB 包

bash

# 先下载 repo 配置包
wget https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.deb
# 配置 repo 后 download-only
sudo dpkg -i graylog-7.0-repository_latest.deb
sudo apt-get update
sudo apt-get install --download-only graylog-server
# 包保存在 /var/cache/apt/archives/

将以上所有 .deb 文件打包传输到离线服务器(例如用 scp 或 U 盘)。

三、离线安装步骤(在目标服务器上操作)

Step 1:设置服务器时区

可以使用以下命令设置时区: graylog

bash

sudo timedatectl set-timezone UTC

Step 2:离线安装 MongoDB

将下载好的 .deb 包复制到服务器后:

bash

# 安装所有 MongoDB 相关包(注意依赖顺序)
sudo dpkg -i mongodb-org-*.deb

# 若有依赖缺失,使用本地源修复
sudo apt-get install -f

安装完成后,启用并启动 MongoDB 服务: graylog

bash

sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl restart mongod.service
sudo systemctl --type=service --state=active | grep mongod

锁定版本防止误升级:

bash

sudo apt-mark hold mongodb-org

Step 3:离线安装 OpenSearch

bash

# 直接安装 deb 包(离线方式跳过 GPG 验证)
sudo OPENSEARCH_INITIAL_ADMIN_PASSWORD=<你的密码> dpkg -i opensearch-2.15.0-linux-x64.deb

密码要求:OpenSearch 2.12 及以上版本要求设置 OPENSEARCH_INITIAL_ADMIN_PASSWORD,密码最少8位,需包含大写字母、小写字母、数字和特殊字符。 graylog

配置 OpenSearch(单节点模式)

编辑配置文件: graylog

bash

sudo nano /etc/opensearch/opensearch.yml

写入以下配置:

yaml

cluster.name: graylog
node.name: ${HOSTNAME}
path.data: /var/lib/opensearch
path.logs: /var/log/opensearch
discovery.type: single-node
network.host: 0.0.0.0
action.auto_create_index: false
plugins.security.disabled: true
配置 JVM 内存

编辑 JVM 配置,将 Xms 和 Xmx 设置为系统内存的一半: graylog

bash

sudo nano /etc/opensearch/jvm.options
-Xms2g
-Xmx2g
配置内核参数

在运行时配置内核参数: graylog

bash

sudo sysctl -w vm.max_map_count=262144
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf
启动 OpenSearch

启用并启动服务: graylog

bash

sudo systemctl daemon-reload
sudo systemctl enable opensearch.service
sudo systemctl start opensearch.service
sudo systemctl status opensearch.service

锁定版本:

bash

sudo apt-mark hold opensearch

Step 4:离线安装 Graylog

bash

# 先安装 repo 配置 deb(即使没网,dpkg 仍可安装包结构)
sudo dpkg -i graylog-7.0-repository_latest.deb

# 直接安装离线 deb 包
sudo dpkg -i graylog-server_*.deb
sudo apt-get install -f  # 修复可能的依赖

锁定版本:

bash

sudo apt-mark hold graylog-server

Step 5:配置 Graylog

编辑 Graylog 配置文件: graylog

bash

sudo nano /etc/graylog/server/server.conf

必须配置以下两项,否则 Graylog 无法启动:

① 生成 password_secret

bash

< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;

将输出结果填入 password_secret = <生成的值>

② 生成 root_password_sha2(管理员密码的 SHA256):

bash

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

将输出结果填入 root_password_sha2 = <哈希值>

③ 设置 http_bind_address 为服务器实际 IP: graylog

bash

sudo sed -i 's/#http_bind_address = 127.0.0.1.*/http_bind_address = 0.0.0.0:9000/g' /etc/graylog/server/server.conf

④ 配置 OpenSearch 连接地址(elasticsearch_hosts),如未配置将无法登录: graylog

elasticsearch_hosts = http://127.0.0.1:9200

Step 6:启动 Graylog

启用并启动 Graylog 服务: graylog

bash

sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl --type=service --state=active | grep graylog

四、验证安装

浏览器访问:

http://<服务器IP>:9000

使用 admin 和你设置的密码登录即可。


五、安全提醒

本指南不包含安全配置,在对外提供服务或接入生产数据前,需要对整个 Graylog 技术栈进行安全加固,包括:限制网络访问、禁止内部服务暴露到公网、启用加密、配置身份认证和授权。 graylog

https://go2docs.graylog.org/current/downloading_and_installing_graylog/ubuntu_installation.htm?tocpath=Install+Graylog%7CDirect+Deployment%7CSingle+Graylog+Node+Installation%7C_____1

Ubuntu 离线安装 Graylog 7.0 完整指南(最新架构)

架构说明

本指南安装的是单节点 Core 集群,由一个 Graylog 节点、一个 MongoDB 节点和一个 Data Node 组成。 graylog

整个 Graylog 技术栈包含三个服务:MongoDBGraylog Data NodeGraylog Servergraylog

⚠️ 与旧方案的关键区别:新版本使用 Graylog Data Node 内置管理 OpenSearch,不需要单独安装 OpenSearch!

一、离线前准备(在有网络的机器上操作)

需要下载的所有包

1. MongoDB 8.0 相关包

bash

# 添加源
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

sudo apt-get update

# 仅下载不安装,包保存到 /var/cache/apt/archives/
sudo apt-get install --download-only mongodb-org
2. Graylog Data Node & Graylog Server 包

bash

# 添加 Graylog 7.0 源
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

# 仅下载
sudo apt-get install --download-only graylog-datanode
sudo apt-get install --download-only graylog-server
# 企业版用 graylog-enterprise 替代 graylog-server
3. 额外依赖工具

bash

sudo apt-get install --download-only gnupg curl openssl

/var/cache/apt/archives/ 下所有 .deb 文件及 graylog-7.0-repository_latest.deb 打包,通过 U 盘或内网传输到目标服务器。


二、正式安装(在离线目标服务器上操作)

前置准备

建议存储使用 XFS 文件系统,并确保所有必要端口已开放。 graylog

设置时区:

bash

sudo timedatectl set-timezone UTC

三、安装 MongoDB

MongoDB 作为 Graylog 技术栈的一部分,用作系统的元数据数据库。 graylog

bash

# 将下载的 deb 包全部放入同一目录,例如 ~/packages/
cd ~/packages/

# 安装 MongoDB
sudo dpkg -i mongodb-org*.deb

# 如有依赖问题
sudo apt-get install -f

配置 MongoDB 网络监听

默认情况下 MongoDB 只监听本地,必须修改 bindIpbindIpAll 配置,使其监听网络接口。 graylog

bash

sudo nano /etc/mongod.conf

选择以下一种配置方式写入:

yaml

# 方式一:监听所有接口(单节点推荐)
net:
  port: 27017
  bindIpAll: true

# 方式二:绑定指定 IP
net:
  port: 27017
  bindIp: 192.168.50.71

# 方式三:绑定主机名
net:
  port: 27017
  bindIp: graylog01

启动 MongoDB

启用并启动 MongoDB 服务: graylog

bash

sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service

锁定版本防止误升级:

bash

sudo apt-mark hold mongodb-org

四、安装 Graylog Data Node

Data Node 是 Graylog 架构中负责日志采集、处理和索引的组件,它管理与 OpenSearch 的通信,用于日志的存储和查询。 graylog

⚠️ 不要单独安装 OpenSearch! Data Node 会自动管理它。

bash

# 先安装 repo 配置包(离线环境下仅用于注册包结构)
sudo dpkg -i graylog-7.0-repository_latest.deb

# 安装 Data Node
sudo dpkg -i graylog-datanode*.deb

# 如有依赖问题
sudo apt-get install -f

配置 vm.max_map_count

确保 vm.max_map_count 设置不低于 262144。 graylog

bash

# 查看当前值
cat /proc/sys/vm/max_map_count

# 永久生效设置
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.d/99-graylog-datanode.conf
sudo sysctl --system

# 确认生效
cat /proc/sys/vm/max_map_count

生成 password_secret

这是一个用于加密系统内敏感数据的随机安全字符串: graylog

bash

openssl rand -hex 32

请务必保存好这个输出值!

配置 Data Node

bash

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

填入以下关键配置:

properties

# 1. 填入上面生成的 password_secret
password_secret = <your_generated_secret>

# 2. 配置 MongoDB 连接(替换为实际主机名或IP)
mongodb_uri = mongodb://127.0.0.1:27017/graylog

# 3. 设置堆内存(推荐为系统内存的一半,最大 31GB)
#    注意:此项默认不存在,需手动添加!
opensearch_heap = 8g

opensearch_heap 这个配置项默认不包含在 datanode.conf 中,必须手动添加到文件中。 graylog

启动 Data Node

bash

sudo systemctl daemon-reload
sudo systemctl enable graylog-datanode.service
sudo systemctl start graylog-datanode

五、安装 Graylog Server

bash

# 安装 Graylog Server(开源版)
sudo dpkg -i graylog-server*.deb

# 企业版使用 graylog-enterprise
# sudo dpkg -i graylog-enterprise*.deb

sudo apt-get install -f

生成 root_password_sha2(管理员密码的 SHA256 哈希)

这是 Graylog 界面 root 管理员账户的密码,务必记录此密码,后续登录需要用到: graylog

bash

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

配置 Graylog Server

bash

sudo nano /etc/graylog/server/server.conf

修改以下关键配置项:

properties

# 1. 与 Data Node 使用完全相同的 password_secret(必须一致!)
password_secret = <与datanode相同的secret>

# 2. 管理员密码的 SHA256 值
root_password_sha2 = <上面生成的哈希值>

# 3. Web 界面监听地址
http_bind_address = 0.0.0.0:9000

# 4. 调整日志 Journal 设置(按实际日志量设置)
message_journal_max_age = 72h
message_journal_max_size = 90gb

配置 JVM 堆内存

打开 graylog-server 文件,将堆内存设置为系统内存的一半,最大 16 GB,推荐最小值和最大值设为相同: graylog

bash

sudo nano /etc/default/graylog-server
GRAYLOG_SERVER_JAVA_OPTS="-Xms4g -Xmx4g -server -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow"

启动 Graylog Server

bash

sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

六、首次登录(Preflight 预检)

⚠️ 不要用你之前生成的密码第一次登录!第一次必须使用 Graylog 服务日志文件中的初始临时凭据完成预检登录,预检完成后才能使用你设置的密码正常登录。 graylog

bash

# 查看初始登录凭据
sudo journalctl -u graylog-server -f | grep -i "password\|login\|preflight"

浏览器访问:http://<服务器IP>:9000,使用日志中的临时凭据完成预检配置后,再用 admin + 你设置的密码正常登录。


七、安装总结与内存规划参考

系统内存Data Node 堆内存 (opensearch_heap)Graylog 堆内存 (-Xms/-Xmx)
8 GB4g2g
16 GB8g4g
32 GB16g8g
64 GB31g(上限)16g(上限)

八、安全提醒

本指南不包含安全配置,在正式对外提供服务或接入生产数据之前,需要对整个 Graylog 技术栈进行安全加固,包括:限制网络访问、禁止内部服务暴露到公网、启用加密、配置身份认证和授权。 graylog

安装完成后启动失败,报错的后续处理:

先看具体报错原因:

bash

sudo journalctl -u graylog-datanode -n 100 --no-pager

错误原因很明确,关键报错是:

MongoSocketOpenException / MongoTimeoutException / ConnectException

DataNode 无法连接到 MongoDB。 原因就是之前发现的问题:MongoDB 只监听 127.0.0.1:27017,而 DataNode 的配置里连接地址可能对不上。

两步修复

第一步:修改 MongoDB 监听地址

bash

sudo nano /etc/mongod.conf

找到 net: 部分,修改为:

yaml

net:
  port: 27017
  bindIpAll: true

重启 MongoDB:

bash

sudo systemctl restart mongod

# 确认现在监听所有接口
sudo ss -tlnp | grep 27017

正常应该显示 0.0.0.0:27017 而不是 127.0.0.1:27017


第二步:确认 DataNode 的 MongoDB 连接配置

bash

sudo grep 'mongodb_uri' /etc/graylog/datanode/datanode.conf

确保值是:

mongodb_uri = mongodb://127.0.0.1:27017/graylog

如果显示的是主机名(如 graylog01),改成 127.0.0.1(因为 MongoDB 和 DataNode 在同一台机器上)。


第三步:重启 DataNode 并观察

bash

sudo systemctl restart graylog-datanode

# 实时观察日志,等待约 30 秒
sudo journalctl -u graylog-datanode -f

不再出现 ConnectException / MongoTimeoutException 就说明修复成功,DataNode 会开始正常初始化 OpenSearch。

执行以下命令:

bash

sudo journalctl -u graylog-datanode -n 200 --no-pager 2>&1 | grep -E "ERROR|WARN|Exception|error|failed|Cannot|Unable" | tail -30

同时查看 DataNode 自己的日志文件:

bash

sudo ls /var/log/graylog-datanode/
sudo tail -100 /var/log/graylog-datanode/datanode.log 2>/dev/null || \
sudo find /var/log -name "*.log" | xargs grep -l "datanode" 2>/dev/null

还有,检查一下配置文件的关键项是否都齐全:

bash

sudo grep -E "password_secret|mongodb_uri|opensearch_heap" /etc/graylog/datanode/datanode.conf

执行以上三条命令,查看可能的问题。

看到如下消息说明正常了:

Graylog DataNode datanode up and running.

Started REST API at 0.0.0.0:8999

下一步:完成 Preflight 配置

第一步:获取首次登录的临时凭据

bash

sudo grep -i "preflight\|initial.*password\|admin.*password" /var/log/graylog-server/server.log | tail -20

或者:

bash

sudo journalctl -u graylog-server --no-pager | grep -i "preflight\|password\|token" | tail -20

第二步:确认所有服务状态

bash

sudo systemctl status graylog-server graylog-datanode mongod | grep -E "Active|running"

第三步:浏览器访问

打开:http://*.*.*.*:9000

首次进入会跳转到 Preflight 界面,使用日志中找到的临时密码登录,按向导完成 DataNode 证书配置即可。

继续处理问题:

现了两个问题,逐一解决:

问题一:Graylog Server 的 MongoDB 连接配置错误

Graylog Server 也在报 MongoDB is not available,说明 server.conf 里的 mongodb 地址也需要检查:

bash

sudo grep 'mongodb_uri' /etc/graylog/server/server.conf

如果是空的或者地址不对,修改:

bash

sudo nano /etc/graylog/server/server.conf

找到 mongodb_uri 改为:

mongodb_uri = mongodb://*.*.*.*:27017/graylog

改完重启:

bash

sudo systemctl restart graylog-server

问题二:Graylog Server 的 9000 端口没有启动

端口列表里只有 8999(DataNode),没有 9000(Graylog Server)。Graylog Server 可能因为 MongoDB 连不上而还没完全启动。等第一个问题修复后重启再检查。


临时凭据已找到!

日志里找到了:

username: admin
password: pmtNCIhymz

等 Graylog Server 正常起来、9000 端口出现后,用这个账号登录 Preflight 界面:

http://*.*.*.*:9000

先执行修复 MongoDB URI 的步骤,然后:

bash

# 确认9000端口出现
sudo ss -tlnp | grep 9000

# 实时观察 server 日志
sudo journalctl -u graylog-server -f

后续:

采集windows和ubuntu系统的日志

推荐用 Graylog Sidecar + Filebeat 方案,两种系统都支持,在 Graylog 界面统一管理所有采集端。


第一步:在 Graylog 创建 Beats Input(只需创建一次)

  1. System → Inputs
  2. 点击 Launch new input
  3. 类型选 Beats
  4. 填写:
    • Title:Beats Input
    • Bind address:0.0.0.0
    • Port:5044
  5. 点击 Launch Input

bash

# 服务器上确认端口已监听
sudo ss -tlnp | grep 5044

第二步:生成 Sidecar API Token

  1. Graylog 右上角头像 → Edit Profile
  2. 左侧点 API Tokens
  3. Create Token,名称填 sidecar
  4. 复制保存 Token(只显示一次)

第三步:安装 Sidecar

Ubuntu 系统

在有网络的机器上下载(离线环境需提前准备):

bash

wget https://github.com/Graylog2/collector-sidecar/releases/download/1.5.0/collector-sidecar_1.5.0-1_amd64.deb

传到目标服务器安装:

bash

sudo dpkg -i collector-sidecar_1.5.0-1_amd64.deb

编辑配置文件:

bash

sudo nano /etc/graylog/sidecar/sidecar.yml

修改以下内容:

yaml

server_url: "http://*.*.*.*:9000/api/"
server_api_token: "你的API Token"
node_name: "ubuntu-server-01"
update_interval: 10
send_status: true

启动服务:

bash

sudo graylog-sidecar -service install
sudo systemctl enable graylog-sidecar
sudo systemctl start graylog-sidecar

Windows 系统

在有网络的机器上下载:

https://github.com/Graylog2/collector-sidecar/releases/download/1.5.0/collector-sidecar_1.5.0-1_windows_amd64.exe

以管理员身份运行 PowerShell,执行安装:

powershell

.\collector-sidecar_1.5.0-1_windows_amd64.exe /S

编辑配置文件(路径:C:\Program Files\Graylog\sidecar\sidecar.yml):

yaml

server_url: "http://*.*.*.*:9000/api/"
server_api_token: "你的API Token"
node_name: "windows-server-01"
update_interval: 10
send_status: true

注册并启动服务:

powershell

& "C:\Program Files\Graylog\sidecar\graylog-sidecar.exe" -service install
Start-Service graylog-sidecar

第四步:在 Graylog 界面配置采集内容

节点注册成功后(约 30 秒):

  1. 进入 System → Sidecars,确认节点出现在列表
  2. 点击 ConfigurationCreate Configuration
  3. 填写:
    • Name:Linux SyslogWindows EventLog
    • Collector:选 filebeat

Ubuntu 采集配置模板:

yaml

fields_under_root: true
fields.collector_node_id: ${sidecar.nodeName}
output.logstash:
  hosts: ["*.*.*.*:5044"]
filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /var/log/syslog
      - /var/log/auth.log
      - /var/log/*.log

Windows 采集配置模板:

yaml

fields_under_root: true
fields.collector_node_id: ${sidecar.nodeName}
output.logstash:
  hosts: ["*.*.*.*:5044"]
filebeat.inputs:
  - type: wineventlog
    enabled: true
    event_logs:
      - name: Application
      - name: System
      - name: Security
  1. 保存配置后,回到 Sidecars 列表
  2. 勾选对应节点 → Assign Configuration → 选择刚创建的配置
  3. 点击 Apply

第五步:验证

进入 Search 页面,时间范围选 Last 5 minutes,能看到来自对应主机名的日志即为成功 ✅

离线安装包完整清单

一、Graylog Sidecar

文件下载地址
Ubuntu/Debian 安装包https://github.com/Graylog2/collector-sidecar/releases/download/1.5.0/collector-sidecar_1.5.0-1_amd64.deb
Windows 安装包https://github.com/Graylog2/collector-sidecar/releases/download/1.5.0/collector-sidecar_1.5.0-1_windows_amd64.exe

二、Filebeat(Sidecar 需要调用它)

Filebeat 版本建议用 8.x,与 Graylog 7.0 兼容。

文件下载地址
Ubuntu/Debianhttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-amd64.deb
Windowshttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-windows-x86_64.zip

三、一键下载脚本(在有网络的机器上执行)

Linux/Mac 上运行:

bash

mkdir graylog-sidecar-offline && cd graylog-sidecar-offline

# Sidecar
wget https://github.com/Graylog2/collector-sidecar/releases/download/1.5.0/collector-sidecar_1.5.0-1_amd64.deb
wget https://github.com/Graylog2/collector-sidecar/releases/download/1.5.0/collector-sidecar_1.5.0-1_windows_amd64.exe

# Filebeat
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-amd64.deb
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.17.0-windows-x86_64.zip

ls -lh

打包传输:

bash

tar -czvf graylog-sidecar-offline.tar.gz graylog-sidecar-offline/

四、离线安装顺序

Ubuntu 服务器上:

bash

# 1. 先装 Filebeat
sudo dpkg -i filebeat-8.17.0-amd64.deb

# 2. 再装 Sidecar
sudo dpkg -i collector-sidecar_1.5.0-1_amd64.deb

Windows 服务器上:

1. 解压 filebeat-8.17.0-windows-x86_64.zip
   解压到 C:\Program Files\Graylog\sidecar\filebeat\

2. 运行 collector-sidecar_1.5.0-1_windows_amd64.exe(管理员身份)

⚠️ Windows 上 Sidecar 需要知道 Filebeat 的路径,安装完成后在 Graylog 界面 System → Sidecars → Configuration 里配置 Filebeat 可执行文件路径为: C:\Program Files\Graylog\sidecar\filebeat\filebeat.exe


五、文件清单汇总

graylog-sidecar-offline/
├── collector-sidecar_1.5.0-1_amd64.deb          # Ubuntu Sidecar
├── collector-sidecar_1.5.0-1_windows_amd64.exe   # Windows Sidecar
├── filebeat-8.17.0-amd64.deb                     # Ubuntu Filebeat
└── filebeat-8.17.0-windows-x86_64.zip            # Windows Filebeat

标题:离线安装Graylog
作者:lovejjt
地址:https://www.lovejjt.top/articles/2026/04/28/1777357853455.html