ThingsBoard 日志越滚越大?用 logback 内置轮转 3 步控住磁盘
ThingsBoard 日志越滚越大用 logback 内置轮转 3 步控住磁盘【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard凌晨值班时被一条告警叫醒——磁盘占用飙到 95%追下去全是 ThingsBoard 的.log文件在悄悄膨胀。设备连接、遥测、SQL 查询全往同一个目录写时间一长就把日志卷打爆。好消息是ThingsBoard 的每个服务进程都自带 logback 的滚动策略只要读懂并调好那份配置日志就能自己滚动 压缩 过期清理不用额外挂一堆脚本。方案总览先看清 ThingsBoard 日志到底落在哪我们先把全局讲清楚避免一上来就改错文件谁在写日志主服务和各传输服务MQTT、HTTP、LwM2M…各自独立进程各自的logback.xml决定落盘规则。写到哪里由thingsboard.conf里的pkg.logFolder变量决定进程主日志是${pkg.name}.logJVM 的 GC 日志是${pkg.logFolder}/gc.log。怎么控住logback 的SizeAndTimeBasedRollingPolicy已经内置了按大小 按天滚动、保留 N 天、总量封顶三件事我们只需确认/微调参数再叠加一层监控即可。关注点默认行为对应配置主日志文件${pkg.name}.logapplication logback单文件上限100MB 触发滚动maxFileSize保留天数30 天maxHistory磁盘总量封顶3GBtotalSizeCapGC 日志gc.log10 份 × 10Mthingsboard.conf动手前确认这几项对照下面这份清单先确认环境和权限没问题改配置才有意义能读到配置目录application/src/main/conf/下有logback.xml和thingsboard.conf这是主服务的两套核心日志配置。知道日志实际目录运行时pkg.logFolder被替换成真实安装路径如/var/lib/thingsboard/logs或打包时指定的目录。对进程有重启/热加载权限logback 支持scan热更新改完不一定要重启但要有写权限。有磁盘与crontab权限后面要挂一个只读的磁盘检查任务。第 1 步读懂当前 logback 轮转确认它已在滚动目的先确认 ThingsBoard 不是裸写日志而是已经带滚动策略——这决定了我们要做的是调参而不是从零搭。操作查看主服务的 logback 配置重点看fileLogAppender里这段下面只截取关键项含义已加注释rollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy fileNamePattern${pkg.logFolder}/${pkg.name}.%d{yyyy-MM-dd}.%i.log/fileNamePattern maxFileSize100MB/maxFileSize !-- 单文件超过 100MB 就切一个新文件 -- maxHistory30/maxHistory !-- 最多保留 30 天的归档 -- totalSizeCap3GB/totalSizeCap !-- 所有归档加起来不超过 3GB -- /rollingPolicy验证你应看到SizeAndTimeBasedRollingPolicy这三个参数都在。这意味着磁盘最多被 ThingsBoard 主日志占用约 3GB 后就会自动清掉最老的归档不会无限增长。第 2 步按磁盘余量微调保留参数目的3GB / 30 天是默认值如果你的日志目录空间紧张就把保留多久、封顶多少往下调。操作在同一个logback.xml里改两个数字传输服务同理见 transport/mqtt 的 logbackmaxHistory7/maxHistory !-- 只保留 7 天磁盘小的环境改小 -- totalSizeCap1GB/totalSizeCap !-- 总量封顶压到 1GB --改完保存即可主服务根节点带了scantrue scanPeriod10 secondslogback 会自行热加载不必立刻重启。验证观察日志目录几小时后应出现thingsboard.2026-10-17.0.log这类带日期、带序号的归档文件旧的过期归档在下一轮滚动时被清掉。第 3 步把日志噪音源也一并降噪目的光控大小还不够有些开关一开日志量会成倍膨胀——把它们按需求关掉能直接减小写入压力。操作在 thingsboard.yml 里核对这几项默认值按需收紧sql: log_queries: ${SQL_LOG_QUERIES:false} # 默认关别为排查一次而长期开着 log_tenant_stats: ${SQL_LOG_TENANT_STATS:true} # 定期打租户统计量大可关 transport: log: enabled: ${TB_TRANSPORT_LOG_ENABLED:true} # 传输消息落 telemetry 的日志稳态可关 max_length: ${TB_TRANSPORT_LOG_MAX_LENGTH:1024} # 单条上限避免长报文刷屏验证重启或热更后tail -f主日志正常业务流量下不应再看到成片的租户统计或传输明细行只留必要的连接/告警信息。验证与踩坑改了 logback 却不生效多半是没改到运行中进程实际加载的那份logback.xml——部署包里conf/与resources/下可能各有一份。以进程启动时LOADER_PATH指向的目录为准确认改对文件。归档文件还在继续变多检查是不是把totalSizeCap设得比maxHistory暗示的空间大或目录被多进程共写。每个服务独立写自己的${pkg.name}.log别把几个服务的目录叠在一起算空间。GC 日志也在悄悄占地方thingsboard.conf 里gc.log固定是filecount10,filesize10M即最多约 100MB属正常若怀疑它异常单独du -h看这一项即可别和主日志混在一起判断。进阶扩展磁盘水位监控主服务带cluster.stats开关TB_CLUSTER_STATS_ENABLED配合系统侧的磁盘告警可以提前在日志快满前收到通知而不是等它打爆。审计日志单独控audit-log支持按实体设logging-levelOFF / W / RW稳态环境把只读类的级别调低能明显减少落盘量。收束核心就一句话ThingsBoard 的日志轮转是内置的你要做的是读懂参数、按磁盘调小、关掉噪音开关。别去外面再造轮子把 logback 那几个数字和 yml 里的日志开关理顺磁盘就能稳住。行动清单确认运行时真实的pkg.logFolder目录du -sh看当前占用按磁盘余量把maxHistory/totalSizeCap调到合适值关闭SQL_LOG_QUERIES、传输log.enabled等稳态不需要的日志源对 GC 日志单独du -h确认在 10×10M 的正常范围内挂一个磁盘水位告警提前收到快满的提醒【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

大麦自动抢票脚本使用指南:从环境准备到下单成功的完整清单

大麦自动抢票脚本使用指南:从环境准备到下单成功的完整清单

大麦自动抢票脚本使用指南:从环境准备到下单成功的完整清单 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase Automatic_ticket_purchase 是一个大麦自动抢票脚本&a…

2026/10/18 1:43:49 阅读更多 →
CAPL刷写和测试上位机:CAN通讯时序控制与流控帧处理实战

CAPL刷写和测试上位机:CAN通讯时序控制与流控帧处理实战

简介:这是一套面向汽车电子开发与测试工程师的CAPL刷写与测试上位机资源,聚焦CAN通讯场景,适合需要完成ECU固件刷写、总线仿真及自动化测试的开发者使用。资源包共81个文件,涵盖asc报文记录、stcfg刷写配置、xml报告、dll动态库、…

2026/10/18 1:43:49 阅读更多 →
49个safetensors分片如何组织:Qwen3-235B-A22B W4A8量化模型分片结构与index映射机制详解

49个safetensors分片如何组织:Qwen3-235B-A22B W4A8量化模型分片结构与index映射机制详解

【免费下载链接】Qwen3-235B-A22B-quantized.w4a8 项目地址: https://ai.gitcode.com/hf_mirrors/vllm-ascend/Qwen3-235B-A22B-quantized.w4a8 点击查看 免费下载 Qwen3-235B-A22B-quantized.w4a8 是 Qwen3-235B-A22B 大语言模型的 W4A8(4-bit 权重 8…

2026/10/18 1:42:49 阅读更多 →

最新新闻

回归预测可视化指南:用sklearn和matplotlib绘制真实值与预测值对比图

回归预测可视化指南:用sklearn和matplotlib绘制真实值与预测值对比图

回归模型跑完之后,很多人第一件事就是看R和MSE,数字漂亮就认为万事大吉。但我一直觉得,指标只是结果的高度浓缩,真正能暴露模型问题的,是把测试集真实值和模型预测值画在同一张图上,看曲线走势、看偏差分布…

2026/10/18 2:37:02 阅读更多 →
m3u8下载实战:ffmpeg与AES-128解密及防坑指南

m3u8下载实战:ffmpeg与AES-128解密及防坑指南

简介:一款面向流媒体爱好者的m3u8在线下载与提取工具,基于Python编写,用户只需提供M3U8链接,工具即可自动拉取全部TS分片,并借助ffmpeg合并为完整视频文件。工具采用多线程机制提升下载速度,适合需要离线观…

2026/10/18 2:37:02 阅读更多 →
jsPlumb + jQuery 流程图设计器实战:拖拽连线与拓扑保存

jsPlumb + jQuery 流程图设计器实战:拖拽连线与拓扑保存

简介:这是一份面向Web前端开发者与流程设计初学者的jsPlumbjQuery流程图设计实例资源,重点解决在网页中快速搭建可拖拽、可连线、可交互的流程图这一常见需求。压缩包共216个文件,约984KB,以148张png截图、24个js脚本、20个gif动图…

2026/10/18 2:37:02 阅读更多 →
Spring Bones弹簧骨骼快速指南:让Blender的头发和尾巴自然甩起来

Spring Bones弹簧骨骼快速指南:让Blender的头发和尾巴自然甩起来

Spring Bones弹簧骨骼快速指南:让Blender的头发和尾巴自然甩起来 【免费下载链接】awesome-blender 🪐 A curated list of awesome Blender addons, tools, tutorials; and 3D resources for everyone. 项目地址: https://gitcode.com/GitHub_Trending…

2026/10/18 2:37:02 阅读更多 →
六模块提示词结构:让大模型输出稳定可用的实操指南

六模块提示词结构:让大模型输出稳定可用的实操指南

大模型用多了就会发现一个非常扎心的现象:你明明把需求写得清清楚楚,甚至把背景资料都贴全了,结果模型给出的答案还是天马行空、格式混乱,或者干脆自说自话。问题多半不在模型本身,而在于你给的提示词是“散装”的——…

2026/10/18 2:37:01 阅读更多 →
Qoder智能体实战:在IDEA中抛弃传统编码,转向意图驱动开发

Qoder智能体实战:在IDEA中抛弃传统编码,转向意图驱动开发

这两个月我几乎没怎么亲手写过 Java 业务代码,说出来自己都有点恍惚。以前上班的主节奏是:对着需求文档在 IDEA 里人肉 Tab 补全、翻旧代码找现成写法、切到浏览器查某个 API 怎么拼,然后像搭积木一样把模块东拼西凑。现在 IDEA 里装了 Qoder…

2026/10/18 2:36:01 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →