统信UOS怎么安装Fluentd日志_统信UOS Fluentd日志采集安装配置【进阶】

梦丽君_5365

梦丽君_5365

2026-04-07

821人浏览

原创

推荐使用td-agent官方包安装:添加treasure data apt源后安装td-agent4,启动并启用systemd服务,配置文件位于/etc/td-agent/td-agent.conf,日志输出至/var/log/td-agent/td-agent.log。

统信uos怎么安装fluentd日志_统信uos fluentd日志采集安装配置【进阶】

如果您在统信UOS操作系统上需要部署Fluentd日志采集器,但系统默认未预装且缺少Ruby运行环境或依赖包,则可能因环境不兼容导致安装失败。以下是适用于统信UOS的多种可靠安装与配置方法:

一、使用td-agent官方包安装(推荐生产环境)

td-agent是Fluentd的稳定发行版,由Treasure Data维护,已针对Linux发行版(含UOS)预编译并适配systemd服务管理,无需手动处理Ruby版本冲突。

1、打开终端,添加Treasure Data官方APT仓库密钥与源:

sudo apt-get install -y curl gnupg2 && curl -fsSL https://toolbelt.treasuredata.com/sh/install-ubuntu-focal-td-agent4.sh | sh

2、更新软件包索引:

sudo apt-get update

3、安装td-agent:

sudo apt-get install -y td-agent

4、启动并启用开机自启服务:

sudo systemctl start td-agent && sudo systemctl enable td-agent

5、验证服务状态与配置路径:

sudo systemctl status td-agent && ls /etc/td-agent/td-agent.conf

安装成功后,主配置文件位于 /etc/td-agent/td-agent.conf,日志输出默认为 /var/log/td-agent/td-agent.log。

二、通过RubyGems安装(适合开发调试)

此方式直接安装Fluentd核心gem包,灵活性高,但需确保UOS系统已具备兼容的Ruby 2.7+环境及编译工具链;若系统自带Ruby版本过低(如2.5以下),必须先升级。

1、安装基础构建依赖:

sudo apt-get install -y build-essential ruby-dev zlib1g-dev libssl-dev libffi-dev

2、升级Ruby至2.7或更高版本(UOS默认Ruby常为2.5,不满足Fluentd v4要求):

curl -sSL https://get.rvm.io | bash -s stable && source /etc/profile.d/rvm.sh && rvm install 2.7.8 && rvm use 2.7.8 --default

3、更换RubyGems源为国内镜像以加速安装:

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

4、安装Fluentd核心包:

sudo gem install fluentd --no-document

5、初始化用户级配置目录:

fluentd --setup ~/.fluentd

6、启动Fluentd并指定配置文件:

fluentd -c ~/.fluentd/fluent.conf -p ~/.fluentd/plugin

注意:该方式下Fluentd以当前用户权限运行,不自动注册为系统服务;如需守护进程,请配合systemd unit文件或supervisord管理。

三、使用Docker容器方式运行(隔离性强,免环境冲突)

统信UOS支持Docker(需已安装docker-ce),此方案完全规避宿主机Ruby与依赖版本问题,所有组件封装于镜像内,适合快速验证或轻量采集场景。

1、确认Docker服务已启用:

sudo systemctl is-active docker

2、拉取官方Fluentd v4镜像:

sudo docker pull fluent/fluentd:v4.4.0

3、创建本地配置目录并写入最小化配置(例如 ./fluent/conf/fluent.conf):

@type tail path /tmp/app.log pos_file /tmp/app.pos tag app.log format none @type stdout

4、运行容器并挂载配置与日志目录:

sudo docker run -d --name fluentd -v $(pwd)/fluent/conf:/fluentd/etc -v /tmp:/tmp -p 24224:24224 -p 8888:8888 fluent/fluentd:v4.4.0

5、向容器发送测试日志:

echo '{"message":"test from UOS"}' | curl -X POST -H 'Content-Type: application/json' -d @- http://localhost:8888/test.log

关键提示:容器内Fluentd监听端口24224(forward协议)和8888(HTTP输入),务必确保UOS防火墙放行对应端口。

四、配置Fluentd采集系统日志(进阶实践)

在UOS中采集journalctl日志需使用systemd插件,该插件依赖libsystemd-dev头文件,安装前需补全开发包。

1、安装systemd开发支持:

sudo apt-get install -y libsystemd-dev

2、为td-agent安装systemd输入插件:

sudo td-agent-gem install fluent-plugin-systemd

3、编辑 /etc/td-agent/td-agent.conf,在段加入:

@type systemd filters [{ "_SYSTEMD_UNIT": "sshd.service" }] read_from_head true

4、重启服务使配置生效:

sudo systemctl restart td-agent

验证采集效果:执行 journalctl -u sshd -n 10 可查原始日志,同时检查 /var/log/td-agent/td-agent.log 是否出现对应条目。

五、权限与SELinux兼容性适配(UOS安全增强场景)

统信UOS启用强制访问控制(类似SELinux),若Fluentd无法读取/var/log/下的敏感日志(如auth.log),需调整策略或切换读取方式。

1、检查当前安全策略模式:

sudo sestatus

2、若为enforcing模式,临时允许td-agent读取日志目录(仅用于测试):

sudo setsebool -P td_agent_read_logs on

3、更安全的做法是使用journalctl转发替代文件直读:

sudo mkdir -p /etc/systemd/journald.conf.d && echo -e "[Journal]\nForwardToSyslog=yes\nMaxRetentionSec=7day" | sudo tee /etc/systemd/journald.conf.d/forward.conf

4、重启journald服务:

sudo systemctl restart systemd-journald

重要说明:UOS默认禁用syslog socket,启用ForwardToSyslog后,Fluentd可通过@type syslog插件接收UDP 514端口日志,避免直接访问受限文件路径。

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

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

下载

相关标签:

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

相关专题

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

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

2026.04.02

112

9

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2135

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3242

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1096

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3719

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1729

3

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.06.27

1211

7

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3623

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

815

4

热门下载

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

精品课程

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

共6课时 | 54.7万人学习

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

共89课时 | 133.8万人学习