如何在 Synology DSM 日志中心查看 Journalctl(systemd 服务的输出)

如何在 Synology DSM 日志中心查看 Journalctl(systemd 服务的输出)

由于对 systemd 有了更好的理解,我重新表述了这个问题。您将在下面的更新中看到我意识到了journalctl。对我的问题的最初答复将我引向了 rsyslog。

我很抱歉,因为我误用了这些评论,而且它们似乎已经丢失了。

Journalctl 和 syslog:它实际上是如何工作的?触及了我认为我需要做的事情,但我却有些迷失。

我是否需要将 omjournal 配置为与 syslog“共享”日志?

理想情况下,我希望在 Synology Log Center 中区分这些日志条目。日志中心允许查看常规(系统)/连接(连接))/文件传输(SMB)/驱动器(未显示)。 rsyslog 应该添加到常规/系统吗?希望我可以通过 systemd.service 文件中配置的 User= 进行区分。

仅供参考:链接的 Redhat 文章提到了以下 omjournal 配置

module(load="imuxsock"
    SysSock.Use="on"
    SysSock.Name="/run/systemd/journal/syslog")

注意 Synology DSM 没有位于此路径中的 syslog,但其他路径

root@my_nas:/run/systemd/journal# ls -l
total 4
srw-rw-rw- 1 root root   0 Feb 22 15:16 dev-log
-rw-r--r-- 1 root log    0 Feb 22 15:16 flushed
-rw-r--r-- 1 root log    8 Feb 22 15:16 kernel-seqnum
srw-rw-rw- 1 root root   0 Feb 22 15:16 socket
srw-rw-rw- 1 root root   0 Feb 22 15:16 stdout
drwxr-xr-x 2 root log  660 Apr  7 11:59 streams

与我的调查相关的其他问题


更新——经过一些鼓励,我的追求不是不合逻辑的......这个论坛中讨论的另一个问题日志控制,说“默认情况下,systemd 单元的 stdout 和 stderr 会发送到 syslog”。 查看systemd服务的stdout/stderr 链接的描述日志控制状态“如果传递一个或多个匹配参数,则输出将被相应地过滤。”您将在下面看到,journalctl 确实提供了一些信息,但不是标准输出所期望的“所有内容”(预计不会出现错误)。

进一步更新——奇怪的是,当 python 程序启动时,journalctl 不会“记录”初始“控制台”输出(stdout),但当 sling 服务开始流式传输时,它会记录 stdout。我的下一步将是在 Synology Log Center 中查看 Journalctl,这可能是建议的 rsyslog。欢迎任何建议:)(令人烦恼的是,我没有得到初始输出,因为我认为如果服务未按预期启动,这将包含错误详细信息)

sudo journalctl -u sling.service
-- Logs begin at Tue 2023-04-04 15:36:34 IST, end at Fri 2023-04-07 14:25:48 IST. --
Apr 07 11:59:17 my_nas systemd[1]: Stopping SlingBox Server Service...
Apr 07 11:59:17 my_nas systemd[1]: Stopped SlingBox Server Service.
Apr 07 11:59:23 my_nas systemd[1]: Started SlingBox Server Service.
Apr 07 11:59:23 my_nas systemd[1]: Starting SlingBox Server Service...
Apr 07 13:41:47 my_nas python3[4609]: Version : 4.01 Running on Linux-4.4.180+-x86_64-with-glibc2.2.5 pid= 4609 slingbox_server.py
Apr 07 13:41:47 my_nas python3[4609]: Using config file config.ini
Apr 07 13:41:47 my_nas python3[4609]: Connection Manager Running on port 8080 with 10 max streams using URL slingbox.
Apr 07 13:41:47 my_nas python3[4609]: Building page for Slingbox
Apr 07 13:41:47 my_nas python3[4609]: Using built in default remote page definition.
Apr 07 13:41:47 my_nas python3[4609]: Starting Streamer Thread for Slingbox
Apr 07 13:41:47 my_nas python3[4609]: Broadcast Responder Running
Apr 07 13:41:47 my_nas python3[4609]: Streamer Running:  10 config.ini SLINGBOX 8080 8080 8388608
Apr 07 13:41:47 my_nas python3[4609]: starting up on  port 8080 8388608
Apr 07 13:41:47 my_nas python3[4609]: 8080 Checking for slingbox at ('192.168.0.15', 5301) 0
Apr 07 13:41:47 my_nas python3[4609]: 8080 ('192.168.0.15', 5301) OK
Apr 07 13:41:47 my_nas python3[4609]: 8080 Using slingbox at  ('192.168.0.15', 5301)
Apr 07 13:41:47 my_nas python3[4609]: Streamer:  8080 Waiting for first stream, flushing any IR requests that arrive while not connected to slingbox


sudo systemctl status sling.service
● sling.service - SlingBox Server Service
   Loaded: loaded (/etc/systemd/system/sling.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-04-07 11:59:23 IST; 2h 55min ago
 Main PID: 4609 (python3)
   Memory: 6.8M
   CGroup: /system.slice/sling.service
           └─4609 /bin/python3 slingbox_server.py

相关内容