在统信UOS上需用Docker部署ELK集群:先装Docker 24.0+/docker-compose v2.20+并加用户至docker组;建elk-net网络及目录,es-data须chown 1001且chmod 755;ES、Logstash、Kibana均通过容器名互访,Kibana启用zh-CN locale。

在统信UOS系统上快速部署具备高可用能力的ELK日志分析集群,需绕过apt源兼容性限制,改用Docker容器化方式统一拉起Elasticsearch、Logstash与Kibana服务,并确保各组件间通过自定义网络互通。
准备统信UOS运行环境
确认系统已安装Docker 24.0+及docker-compose v2.20+:执行sudo apt list --installed | grep docker检查版本;若未安装,先启用统信UOS官方社区仓库,再运行sudo apt install docker.io docker-compose;安装后执行sudo usermod -aG docker $USER并重新登录终端生效权限。
这一步不可跳过——统信UOS默认禁用root直接执行docker命令,【不将当前用户加入docker组会导致后续所有容器启动失败】。
创建专用Docker网络与目录结构
执行docker network create elk-net建立隔离网络,避免端口冲突;创建统一工作目录:mkdir -p ~/elk/{es-data,es-config,logstash-config,pipeline,kibana-config}。
注意:es-data目录必须赋予755权限且属主为1001(Elasticsearch容器内固定UID),否则ES启动时会因无法写入data目录而崩溃退出。
配置并启动Elasticsearch节点
在~/elk/es-config/下新建elasticsearch.yml,写入以下内容:
cluster.name: uos-elk-cluster
node.name: es-node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["es-node-1:9300"]
cluster.initial_master_nodes: ["es-node-1"]
xpack.security.enabled: false
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
执行启动命令:docker run -d --name es --net elk-net -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" -v ~/elk/es-data:/usr/share/elasticsearch/data -v ~/elk/es-config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -u 1001 elasticsearch:8.14.0。
等待约40秒后,执行curl -s http://localhost:9200 | jq '.version.number'返回"8.14.0"即表示节点就绪。
部署Logstash日志处理管道
方法一:使用预置配置快速启用
在~/elk/logstash-config/下创建logstash.yml,仅保留http.host: "0.0.0.0:9600";在~/elk/pipeline/下创建01-input-output.conf,填入标准filebeat输入→ES输出模板。
方法二:适配统信UOS系统日志路径
修改pipeline配置,在input段添加file { path => "/var/log/syslog" start_position => "end" },output段保持elasticsearch { hosts => ["http://es:9200"] index => "uos-syslog-%{+YYYY.MM.dd}" };【务必把hosts设为容器名es而非localhost,否则跨容器无法通信】。
启动命令:docker run -d --name logstash --net elk-net -v ~/elk/logstash-config:/usr/share/logstash/config -v ~/elk/pipeline:/usr/share/logstash/pipeline -v /var/log:/host-log:ro logstash:8.14.0。
配置Kibana并接入UOS中文界面
第一步:生成Kibana配置文件
在~/elk/kibana-config/下创建kibana.yml,写入server.host: "0.0.0.0"
server.port: 5601
elasticsearch.hosts: ["http://es:9200"]
i18n.locale: "zh-CN"
logging.dest: /var/log/kibana.log。
第二步:启动容器并挂载日志目录
docker run -d --name kibana --net elk-net -p 5601:5601 -v ~/elk/kibana-config/kibana.yml:/usr/share/kibana/config/kibana.yml -v ~/elk/kibana-logs:/var/log kibana:8.14.0。
第三步:验证服务连通性
浏览器访问http://本机IP:5601,看到Kibana欢迎页且左下角显示“已连接到Elasticsearch”即完成。











