温馨提示×

Jellyfin在Ubuntu上的日志如何查看与分析

小樊
44
2025-12-26 17:25:11
栏目: 智能运维

Jellyfin在Ubuntu上的日志查看与分析

一、日志位置与获取方式

  • 使用 systemd 服务运行(常见 APT 安装)
    • 服务日志:journalctl -u jellyfin.service -f(实时查看),或 journalctl -u jellyfin.service --since “2025-12-26 00:00:00” 按时间筛选。
    • 控制台输出:若服务配置了标准输出日志,可用 journalctl -u jellyfin.service -o cat 查看纯净输出。
  • 直接读取应用日志文件
    • 常见路径:/var/log/jellyfin/(如 server.log、ffmpeg-.txt、log_.txt)。查看示例:tail -f /var/log/jellyfin/server.log
  • Docker 部署
    • 容器日志:docker logs -f <容器名或ID>;如需查看宿主机上被重定向的日志文件,进入容器内检查 /config 或挂载目录。
  • 系统级日志补充
    • 若 Jellyfin 输出到系统日志,可在 /var/log/syslog 中检索,例如:grep -i jellyfin /var/log/syslog

二、常用查看与分析命令

  • 实时跟踪与过滤
    • 实时跟踪:tail -f /var/log/jellyfin/server.log
    • 关键字过滤:tail -f /var/log/jellyfin/server.log | grep -i “error|warn”
    • 高亮与上下文:tail -f /var/log/jellyfin/server.log | grep -i --color=auto -C5 “failed”
    • 分页浏览与搜索:在 less 中打开后按 /关键词 搜索,按 F 进入实时跟踪,按 q 退出。
  • 时间与数量控制
    • 最近 N 行:tail -n 200 /var/log/jellyfin/server.log
    • 指定时间范围:journalctl -u jellyfin.service --since “2025-12-25” --until “2025-12-26 12:00:00”
    • 最近 100 行:journalctl -u jellyfin.service -n 100 -f
  • 压缩日志与历史归档
    • 轮转后压缩的旧日志可用 zgrep/zcat 检索,例如:zgrep -i “error” /var/log/jellyfin/server.log.1.gz
  • 多关键字与统计
    • 多词匹配:grep -E “error|failed|timeout” /var/log/jellyfin/server.log
    • 错误计数:grep -i “error” /var/log/jellyfin/server.log | wc -l
    • 按时间排序(若日志含可排序时间字段):sort -k1,2 /var/log/jellyfin/server.log | less

三、典型排查场景与命令示例

  • 服务无法启动或崩溃
    • 查看启动与异常:journalctl -u jellyfin.service -b(本次启动)、-xe(详细错误)、或 –since “10 minutes ago”
  • 媒体库刮削失败
    • 跟踪刮削相关日志:tail -f /var/log/jellyfin/server.log | grep -i “MetadataService|Scraping|Failed”
    • 识别 HTTP 状态:… | grep -E “403|404|429”(常见于 API 限流或网络受限)
    • 网络连通性自检:curl -v https://api.themoviedb.org/3/configuration(替换为你的 API Key 测试)。
  • 转码/播放异常
    • 查看 FFmpeg 日志:tail -f /var/log/jellyfin/ffmpeg-*.txt,关注解码器、码率、分辨率与超时信息。
  • 权限或路径问题
    • 系统日志检索:grep -i “jellyfin” /var/log/syslog,排查权限拒绝、挂载失败等系统级错误。
  • Docker 场景
    • 容器日志与事件:docker logs -f <容器名>;若日志写入卷,进入容器检查 /config 或挂载目录中的 server.log

四、日志轮转与长期分析

  • 日志轮转
    • Ubuntu 默认通过 logrotate 管理日志轮转,配置位于 /etc/logrotate.conf/etc/logrotate.d/。可检查并为 Jellyfin 配置轮转周期、保留份数与压缩策略,避免日志无限增长。
  • 长期分析与告警
    • 日报/周报:sudo apt install logwatch;生成报告:sudo logwatch --detail high --mailto you@example.com --range today
    • 实时监控告警:sudo apt install swatch,为关键模式(如 “ERROR”)配置邮件或脚本告警。

0