![如何在 Synology DSM 日志中心查看 Journalctl(systemd 服务的输出)](https://linux22.com/image/218827/%E5%A6%82%E4%BD%95%E5%9C%A8%20Synology%20DSM%20%E6%97%A5%E5%BF%97%E4%B8%AD%E5%BF%83%E6%9F%A5%E7%9C%8B%20Journalctl%EF%BC%88systemd%20%E6%9C%8D%E5%8A%A1%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%89.png)
由于对 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