统信UOS怎么安装ELK日志平台_统信UOS ELK Stack部署配置教程【高级】

浅磊同学_8272

浅磊同学_8272

2026-03-24

440人浏览

原创

统信UOS上ELK部署需适配ARM64架构:一、安装Eclipse Adoptium ARM64版OpenJDK11并配置JAVA_HOME;二、使用UOS签名版Elasticsearch 7.17.20,禁用memory_lock;三、Kibana强制设置i18n.locale为zh-CN;四、Logstash采用无JRuby版本并配置纯Java管道;五、通过systemd和服务安全策略(DSF)完成服务封装与权限适配。

统信uos怎么安装elk日志平台_统信uos elk stack部署配置教程【高级】

如果您在统信UOS系统上尝试部署ELK日志平台,但遭遇组件启动失败、Java环境不兼容或中文界面无法显示等问题,则很可能是由于ARM64架构适配缺失、OpenJDK版本不匹配或国产系统安全策略限制所致。以下是针对统信UOS平台的多路径ELK Stack部署方案:

一、ARM64专用OpenJDK11手动安装与验证

统信UOS默认仓库中的Java版本通常为OpenJDK 8或未经ARM64深度优化的构建,无法满足Elasticsearch 7+对G1 GC及模块化特性的要求。必须使用Eclipse Adoptium发布的aarch64架构OpenJDK 11 LTS二进制包。

1、执行命令下载适配ARM64的OpenJDK11:
curl -L -o jdk-11.0.22+7.tar.gz https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.22%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.22_7.tar.gz

2、创建标准JVM安装目录并解压:
sudo mkdir -p /usr/lib/jvm
sudo tar -xzf jdk-11.0.22+7.tar.gz -C /usr/lib/jvm/
sudo ln -s /usr/lib/jvm/jdk-11.0.22+7 /usr/lib/jvm/java-11-temurin-arm64

3、配置全局JAVA_HOME并验证:
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-temurin-arm64' | sudo tee -a /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile
source /etc/profile
java -version 输出必须显示 "aarch64" 和 "11.0.22",否则后续ES将拒绝启动

二、Elasticsearch 7.17.20离线包部署(统信UOS适配版)

官方Elasticsearch 7.x x86_64二进制包在UOS上直接运行会触发Illegal Instruction错误。需采用已预编译的ARM64兼容包,并禁用默认内存锁定机制以绕过国产系统cgroup v2权限限制。

1、从统信生态镜像站获取UOS签名包:
wget https://mirrors.uniontech.com/official/enterprise/7.17.20/elasticsearch-7.17.20-uos-arm64.tar.gz

2、解压至标准路径并授权:
sudo tar -xzf elasticsearch-7.17.20-uos-arm64.tar.gz -C /usr/share/
sudo chown -R elk:elk /usr/share/elasticsearch
sudo mkdir -p /var/lib/elasticsearch /var/log/elasticsearch

3、修改关键配置项(/usr/share/elasticsearch/config/elasticsearch.yml):
cluster.name: uos-elk-prod
node.name: ${HOSTNAME}
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
bootstrap.memory_lock: false # 必须设为false,UOS内核不支持mlockall
xpack.security.enabled: false # 初期部署禁用安全模块,避免证书初始化阻塞

三、Kibana 7.17.20中文界面强制启用方案

Kibana默认语言由浏览器Accept-Language头决定,但在UOS系统中常因QtWebEngine底层渲染缺陷导致i18n资源加载失败。需通过硬编码方式覆盖语言检测逻辑。

1、下载UOS专用Kibana包:
wget https://mirrors.uniontech.com/official/enterprise/7.17.20/kibana-7.17.20-uos-arm64.tar.gz

2、解压并定位国际化配置文件:
sudo tar -xzf kibana-7.17.20-uos-arm64.tar.gz -C /usr/share/
sudo chown -R elk:elk /usr/share/kibana
sudo mkdir -p /var/lib/kibana

3、强制注入中文语言策略(编辑/usr/share/kibana/config/kibana.yml):
server.host: "0.0.0.0"
server.port: 5601
elasticsearch.hosts: ["http://localhost:9200"]
i18n.locale: "zh-CN"
saved_objects.maxImportPayloadBytes: 52428800 # 提升导入限制,适配UOS大屏仪表板

四、Logstash 7.17.20轻量级管道配置(规避JRuby依赖)

统信UOS默认未预装Ruby环境,而Logstash 7.17+默认依赖JRuby 9.2.20,其ARM64字节码在UOS上存在类加载异常。应启用纯Java模式并替换为log4j2输入插件。

1、获取无Ruby依赖版本:
wget https://mirrors.uniontech.com/official/enterprise/7.17.20/logstash-7.17.20-uos-nojruby.tar.gz

2、解压并配置最小化采集管道:
sudo tar -xzf logstash-7.17.20-uos-nojruby.tar.gz -C /usr/share/
sudo chown -R elk:elk /usr/share/logstash

3、创建纯Java日志采集配置(/usr/share/logstash/pipeline/uos-syslog.conf):
input {
  file {
    path => "/var/log/syslog"
    start_position => "end"
    stat_interval => 5
  }
}
filter {
  grok {
    match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{HOSTNAME:hostname} %{DATA:service}: %{GREEDYDATA:log_message}" }
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "uos-syslog-%{+YYYY.MM.dd}"
  }
}

五、systemd服务封装与UOS安全策略适配

统信UOS使用Deepin Security Framework(DSF)替代SELinux,其默认策略会阻止Elasticsearch绑定到低端口及访问/var/lib路径。需注册自定义安全策略并配置非root服务单元。

1、创建elk用户及专属组:
sudo groupadd elk
sudo useradd -r -g elk -d /usr/share/elasticsearch -s /sbin/nologin elk

2、编写Elasticsearch服务单元(/etc/systemd/system/elasticsearch.service):
[Unit]
Description=Elasticsearch
After=network.target
[Service]
Type=notify
RuntimeDirectory=elasticsearch
User=elk
Group=elk
Environment=JAVA_HOME=/usr/lib/jvm/java-11-temurin-arm64
Environment=ES_PATH_CONF=/usr/share/elasticsearch/config
ExecStart=/usr/share/elasticsearch/bin/elasticsearch
Restart=on-failure
LimitNOFILE=65536
NoNewPrivileges=true # UOS强制要求,禁止提权
[Install]
WantedBy=multi-user.target

3、注册DSF白名单策略:
sudo dsfctl add --name elasticsearch --path /usr/share/elasticsearch --capability network,filesystem

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Linux安装Ruby语言详细教程
Linux安装Ruby语言详细教程

本专题整合了Linux安装配置Ruby相关教程,阅读专题下面的文章了解更多详细操作。

2026.04.02

132

9

eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

690

5

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

2023.07.24

5806

6

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

2023.11.02

8999

18

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

2804

5

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

662

5

eclipse设置中文全教程
eclipse设置中文全教程

本专题整合了eclipse设置中文相关教程,阅读专题下面的文章了解更多详细操作。

2025.10.10

3746

11

eclipse字体放大教程
eclipse字体放大教程

本专题整合了eclipse字体放大教程,阅读专题下面的文章了解更多详细内容。

2025.10.10

3765

12

eclipse左边栏不见了解决方法
eclipse左边栏不见了解决方法

本专题整合了eclipse左边栏相关教程,阅读专题下面的文章了解更多详细内容。

2025.10.15

528

3

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习