稍后如何查看引导 Debian 系统时滚动的消息?
换句话说,我怎样才能方便地查看所有这些内容?这是问题的重点;仅仅其中的一个子集是不够的。
一些启动时间消息仅写入/var/log/daemon.log
和/var/log/syslog
,我在其中看到了如下消息:udevd[240]: SYSFS{}= will be removed in a future udev version
。
在挤压中,这些不在/var/log/dmesg
. 它们也不是在/var/log/boot
与设置BOOTLOGD_ENABLE=yes
在/etc/default/bootlogd
和包bootlogd
安装。
有关rsyslogd
各种日志记录位置的更多详细信息,请参阅您的/etc/rsyslog.conf
.
我想在我的 ErrorLog 中添加 vhost 名称,然后将其通过管道传输到我编写的程序中。
是否可以像访问日志一样编写自定义错误日志格式?
我的故事开始很简单。我有一台运行 Arch Linux 的轻型服务器,它将大部分数据存储在由两个 SATA 驱动器组成的 RAID-1 上。它工作了大约 4 个月没有任何问题。然后,突然间我开始在其中一个驱动器上出现读取错误。总是,这些消息看起来很像这样:
Apr 18 00:20:15 hope kernel: [307085.582035] ata5.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Apr 18 00:20:15 hope kernel: [307085.582040] ata5.01: failed command: READ DMA EXT
Apr 18 00:20:15 hope kernel: [307085.582048] ata5.01: cmd 25/00:08:08:6a:34/00:00:27:00:00/f0 tag 0 dma 4096 in
Apr 18 00:20:15 hope kernel: [307085.582050] res 51/40:00:0c:6a:34/40:00:27:00:00/f0 Emask 0x9 (media error)
Apr 18 00:20:15 hope kernel: [307085.582053] ata5.01: status: { DRDY ERR }
Apr 18 00:20:15 hope …
Run Code Online (Sandbox Code Playgroud) 我的 Ubuntu 服务器以太网接口连接到 ISP 的多路复用器显示错误。这是快照:
RX packets:204564288 errors:3193970 dropped:0 overruns:0 frame:3138402
TX packets:29305799 errors:38752 dropped:0 overruns:0 carrier:38762
collisions:2205053 txqueuelen:1000
Run Code Online (Sandbox Code Playgroud)
Ubuntu 接口支持全双工,但只能协商半双工连接。当我将不同的设备(路由器)连接到 MUX 时,它也显示此类错误。分配的带宽是 50 mbps,但我只有 20 mbps。ISP 不愿意在 MUX 中更改他们的设备(看起来像以太网交换机或集线器)。ISP 工程师将其归咎于我的错。但是我检查了 3 个以上的设备,都显示错误。那么,是否有任何适用于 Linux 的工具可以用来深入探究这些错误的原因,或者我可以做些什么来重新配置我的服务器界面以消除这些错误?
我已经开始看到 LVM 在某些逻辑卷上报告的错误(以及 Xen 在尝试在这些 LV 上创建虚拟机时)报告的错误。但是我已经在磁盘上运行了测试,并没有发现任何硬件问题。
我们在这里运行 XEN/Linux (Debian Lenny) 机器,运行由 LVM2 管理的单个 SATA 磁盘。它已经运行了一年多,唯一的主要变化是最近对内核的 apt-get 升级。
# uname -a
Linux hostname 2.6.26-2-xen-amd64 #1 SMP Thu Sep 16 16:32:15 UTC 2010 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
错误显示如下:
# vgck
/dev/dm-20: read failed after 0 of 4096 at 0: Input/output error
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试启动使用该 LV 作为其 C 驱动器的 VM(它是 Windows 虚拟机)时,VM 拒绝启动,我在/var/log/xen/qemu-dm-*.log
日志文件的末尾看到了这一点:
...
Register xen platform.
Done register platform.
raw_read(6:/dev/vgroup/newvm-cdrive, 0, 0x7fff02bca520, 512) [20971520] read failed -1 : 5 = Input/output error
I/O …
Run Code Online (Sandbox Code Playgroud) 我有大约 10 个 VirtualHosts,我喜欢将 error_logs 分开。最近,我还需要将 error_logs 全部合并以进行一些 mod_security 扫描。
如果我为测试 VirtualDomain 定义了 2 个 ErrorLog,我会注意到没有记录任何错误。很奇怪。
是否可以让 CustomLog 扮演 ErrorLog 的角色?
还是我错误地定义了我的 2 个错误日志?
<VirtualHost 1.2.3.4:80>
ServerName mydomain.net
ServerAlias www.mydomain.net mydomain.net
DocumentRoot /var/www/html/mydomain
ServerAdmin not@available.com
UseCanonicalName Off
ErrorLog logs/mydomain.net-error_log
ErrorLog logs/unified_modsecurity-error_log
CustomLog logs/mydomain.net-access_log combined
UserDir disabled
UserDir enabled mydomainuser
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)