Ubuntu 13.X上的Upstart日志消息在哪里?

布拉德·桑佐(Bradd Szonye)

在Ubuntu 12.04上,我可以在中找到Upstart日志消息/var/log/syslog

命令:

# initctl log-priority info
# initctl emit hello

日志:

Apr  1 01:56:56 precise64 kernel: [ 8365.820425] init: Connection from private client
Apr  1 01:56:56 precise64 kernel: [ 8365.821130] init: Handling hello event

在Ubuntu 13.10上,该消息不会出现在目录syslog或该/var/log目录下的其他任何位置,尽管类似的命令可以logger hello正常工作。我应该在其他地方找他们吗?是否需要在某个地方更改配置设置?

有人在Ubuntu 13.04上似乎也遇到了同样的问题,这是服务器故障的一个问题,这里这里的更多问题可能也描述了同样的问题。不幸的是,这些问题没有提供解决问题的线索。

凡妮莎·菲普斯(Vanessa Phipps)

编辑2016-06-02

如果您通常要查找“ Upstart日志消息”,请选中/var/log/upstart/那就是Upstart保存stdoutstderrUpstart服务的地方。感谢leopd的回答指出了这一点。

如果您正在寻找Upstart本身提供的日志消息,请继续阅读initctl log-priority并继续initctl emit阅读!

精简版

日志条目实际上应显示在dmesg中。尽管如此,它们默认不会显示在中/var/log

如果您也想要它们/var/log,请添加$KLogPermitNonKernelFacility on到rsyslogd的配置中。我建议创建一个自定义文件,例如/etc/rsyslog.d/60-custom.conf避免编辑/etc/rsyslog.conf,因为这是由dpkg管理的。现在/var/log/syslog,一旦您将Upstart设置log-priorityinfo左右Upstart消息应显示在中

长版

这花了我几天时间追查,但显然新贵(1.5)并没有记录到系统日志,也就是说,它不会调用glibc的功能syslog()相反,Upstart将日志记录到dmesg读取的内核环形缓冲区。现在,我认为用户空间进程不可能写入该缓冲区,但是显然可以通过写入来实现/dev/kmsg,而这正是Upstart所做的。这就是难题的第一部分。

第二部分是人们普遍认为,写入内核环形缓冲区的消息会被内核自动复制到syslog中(至少我一直以为如此)。事实证明,这实际上是由用户空间守护程序(通常为klogd)完成的,该守护程序与syslogd协同工作。显然rsyslogd替换了syslogd,但显然它也替换了klogd(排序:请参阅最后的说明)。

第三部分是,从用户空间写入内核环形缓冲区的消息实际上看起来与从内核空间写入的消息不同:它们具有不同的功能。dmesg的有几个选项,这个交互:-x将显示设备(和优先级),而-u-k告诉dmesg的仅分别显示用户设备信息和内核设施的消息。

现在是关键所在:默认情况下,rsyslogd从内核环形缓冲区读取消息时会忽略具有非内核功能的消息。相关的config选项是$KLogPermitNonKernelFacility,默认情况下处于关闭状态,如果要rsyslogd处理这些消息,则需要将其打开。请注意,rsyslogd的其余配置会将来自内核环形缓冲区的所有消息都视为具有该kern功能,而不管它们在内核环形缓冲区中所具有的功能如何。

更多信息

系统日志

代码可以通过调用glibc函数写入syslog syslog(),如所述man 3 syslog显然,这些函数写入/dev/log可以通过阅读从syslog中读取代码/dev/log,这就是syslogd它的替代品。使用其输入模块rsyslogd读取/dev/logimuxsock

内核环形缓冲区

内核空间通过调用内核函数写入此缓冲区printk(),因此有时也称为printk缓冲区。用户空间可以通过写入来写入/dev/kmsg用户空间可以通过以下几种方法从此缓冲区读取:它可以读取/proc/kmsg(默认情况下dmesg所做的操作),或者可以从中读取信息/dev/kmsg,或者可以调用系统调用syslog(),这在中进行了描述,man 2 syslog并且与所描述的glibc函数完全不同syslog()man 3 syslogglibc实际上为syslog()名为的系统调用提供了一个包装器klogctl(),以减轻这种混乱。

传统上,klogd从这些接口之一读取数据,然后调用glibc函数syslog()将其复制到syslog。rsyslogd通过其imklog输入模块读取这些接口之一,但是AFAIK不会打扰调用glibc syslog(),这就是为什么它与klogd不完全相同的原因。它只处理输出,imklog就像处理任何其他输入模块的输出一样。还要增加一个警告,即所有imklog输出都具有kern设施,而与内核环形缓冲区中的设施消息无关。

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Dell XPS 13上Ubuntu 14.04的问题

来自分类Dev

在戴尔 13 7386 上安装 Ubuntu 18.4

来自分类Dev

Ubuntu 14.04上的Docker守护程序日志在哪里?

来自分类Dev

如何从ubuntu 13上的存储库安装qps?

来自分类Dev

如何从ubuntu 13上的存储库安装qps?

来自分类Dev

如何在HP stream 13上安装Ubuntu?

来自分类Dev

在Dell XPS 13上的Ubuntu 16.04中恢复自然滚动

来自分类Dev

无法在Ubuntu 13.x中卸载Express

来自分类Dev

在哪里可以找到ubuntu启动日志?

来自分类Dev

Ubuntu内核的变更日志在哪里?

来自分类Dev

在哪里可以找到Ubuntu One日志

来自分类Dev

在哪里报告Ubuntu的Launchpad上的错误?

来自分类Dev

jenkins在ubuntu上-如何/在哪里部署?

来自分类Dev

现代Ubuntu系统上的motd在哪里?

来自分类Dev

Steam 在 Ubuntu 上在哪里存储文件?

来自分类Dev

关于Ubuntu在HP Spectre X360上运行顺利的报告-它可以在Spectre 13上运行吗

来自分类Dev

Ubuntu Gnome眼镜/扩展日志存储在哪里?

来自分类Dev

在哪里可以找到Ubuntu Touch的变更日志?

来自分类Dev

在哪里可以找到Ubuntu Touch的变更日志?

来自分类Dev

ubuntu 13.10中pppd的日志在哪里?

来自分类Dev

Ubuntu Gnome眼镜/扩展日志存储在哪里?

来自分类Dev

使触摸屏与Dell XPS13上的Ubuntu 13.10配合使用

来自分类Dev

使触摸屏与Dell XPS13上的Ubuntu 13.10配合使用

来自分类Dev

还原点击以在Dell XPS 13上单击Ubuntu 16.04

来自分类Dev

Ubuntu安装程序在Dell XPS 13 9350上找不到任何磁盘

来自分类Dev

DELL XPS 13 9360上的Ubuntu 16.10-(如何)使用Intel图形驱动程序?

来自分类Dev

为什么我不能在Alienware M13上安装Ubuntu?

来自分类Dev

Lenovo Yoga 2 13上的Ubuntu 16.04-没有可靠的暂停

来自分类Dev

Ubuntu 16.04 LTS wifi突然在所有Alienware 13上停止工作

Related 相关文章

  1. 1

    Dell XPS 13上Ubuntu 14.04的问题

  2. 2

    在戴尔 13 7386 上安装 Ubuntu 18.4

  3. 3

    Ubuntu 14.04上的Docker守护程序日志在哪里?

  4. 4

    如何从ubuntu 13上的存储库安装qps?

  5. 5

    如何从ubuntu 13上的存储库安装qps?

  6. 6

    如何在HP stream 13上安装Ubuntu?

  7. 7

    在Dell XPS 13上的Ubuntu 16.04中恢复自然滚动

  8. 8

    无法在Ubuntu 13.x中卸载Express

  9. 9

    在哪里可以找到ubuntu启动日志?

  10. 10

    Ubuntu内核的变更日志在哪里?

  11. 11

    在哪里可以找到Ubuntu One日志

  12. 12

    在哪里报告Ubuntu的Launchpad上的错误?

  13. 13

    jenkins在ubuntu上-如何/在哪里部署?

  14. 14

    现代Ubuntu系统上的motd在哪里?

  15. 15

    Steam 在 Ubuntu 上在哪里存储文件?

  16. 16

    关于Ubuntu在HP Spectre X360上运行顺利的报告-它可以在Spectre 13上运行吗

  17. 17

    Ubuntu Gnome眼镜/扩展日志存储在哪里?

  18. 18

    在哪里可以找到Ubuntu Touch的变更日志?

  19. 19

    在哪里可以找到Ubuntu Touch的变更日志?

  20. 20

    ubuntu 13.10中pppd的日志在哪里?

  21. 21

    Ubuntu Gnome眼镜/扩展日志存储在哪里?

  22. 22

    使触摸屏与Dell XPS13上的Ubuntu 13.10配合使用

  23. 23

    使触摸屏与Dell XPS13上的Ubuntu 13.10配合使用

  24. 24

    还原点击以在Dell XPS 13上单击Ubuntu 16.04

  25. 25

    Ubuntu安装程序在Dell XPS 13 9350上找不到任何磁盘

  26. 26

    DELL XPS 13 9360上的Ubuntu 16.10-(如何)使用Intel图形驱动程序?

  27. 27

    为什么我不能在Alienware M13上安装Ubuntu?

  28. 28

    Lenovo Yoga 2 13上的Ubuntu 16.04-没有可靠的暂停

  29. 29

    Ubuntu 16.04 LTS wifi突然在所有Alienware 13上停止工作

热门标签

归档