多年的 sysadmin 留下了 syslog 的严重性级别,正如BSD Syslog 协议所描述的那样,清楚地印在我的脑海中。您知道练习:紧急、警报、严重、错误、警告、通知、信息和调试。这在其他地方留下了痕迹,例如 Java 的记录器及其 Severe、Warning、Info、Config、Fine/r/st。
在与某人讨论时,认为 Java 是一种快速的 hack,不适合,并讲述了这种心态,我想知道这实际上有多久了 - syslog 的历史可以追溯到 80 年代的 Sendmail。快速搜索显示 REXX 具有终止、严重、错误、警告、信息和响应,这似乎证实了我的怀疑。
我确信它起源于现实世界,可能与军队或火车公司的程序有关,听到它会很有趣,但我非常想知道严重程度的起源和沿袭,以及在计算机业务中,过滤“最多”的概念随之而来。
我有一个应用程序,它记录到 syslog 工具 local1。我想将 syslog 配置为将所有 local1 消息发送到与 /var/log/messages 分开的日志文件——结果证明这很容易。但是消息也会发送到 /var/log/messages。有什么方法可以告诉 syslog 将 *.info 发送到 /var/log/messages 但排除 local1.info?(类似于 *^loacl1.info ?)
系统日志.conf:
#kern.* /dev/console
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
local0.notice;local0.debug;mail.*;mail.none;mail.info;local0.info /var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
#My Custom App Logging
local1.* /var/log/application.log
Run Code Online (Sandbox Code Playgroud) 操作系统:Debian 5.0.3
SNMPD 版本:5.4.1
我的 snmpd.conf 文件中有以下两行:
接口 eth0
代理地址 udp:161
我的系统日志中出现以下错误:
Oct 5 18:04:44 webdb003 snmpd[29864]: /etc/snmp/snmpd.conf: line 434: Error: Missing TYPE parameter
Oct 5 18:04:44 webdb003 snmpd[29864]: net-snmp: 1 error( s) 在配置文件中
10 月 5 日 18:04:44 webdb003 snmpd[29864]:打开指定端点“udp:161”时出错
10 月 5 日 18:04:44 webdb003 snmpd[29864]:服务器退出,代码为 1
此处的文档说那是正确的语法。但是,如果我将其更改为 agentaddress 127.0.0.1:161,则可以在连接到 localhost 时正确地 snmpwalk MIB 列表。我的问题是我也希望它也能够在公共地址上进行 snmpwalk 而不必指定公共地址,因为我必须将此配置文件推送到我的所有服务器,而且我真的不想编写配置文件每个服务器只是因为ip地址的不同。
现在,我的组织有一个由 10 多个组件组成的解决方案,有些组件每个线程都有一个日志文件。由于文件每小时轮换一次,因此跟踪所有这些都是一件苦差事。
将所有日志记录集中到特定机器(使用 rsyslog 或类似的东西)是个好主意吗?难道我不会用简单来换取忙碌吗?对于这种高容量用例,是否有很好的日志查看器?
顺便说一下,我们是微软的直营店。
感谢您的回复!
我有 DMZ 主机转发到 DMZ 系统日志,然后将所有系统日志消息转发到内部系统日志服务器。它在大多数情况下运行良好,但内部系统日志主机消息似乎都来自 DMZ 系统日志,即它丢失了原始主机名。
{Hosts} -> {DMZ syslog: openbsd: syslog v 1.17} -> {Internal Syslog: rsyslog v3}
如何保留主机名?
谢谢!
我们有一个运行 Ubuntu 10.04.4 LTS 的 vps,在试图找到 php 问题的解决方案时,我已经意识到 syslog 系统的问题 - 不过我不确定。
syslog.conf 文件如下所示:
auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* -/var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/opt/psa/var/log/maillog
user.* -/var/log/user.log
#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info -/var/log/mail.info
mail.warning -/var/log/mail.warn
mail.err -/var/log/mail.err
# Logging for INN news system
#
news.crit -/var/log/news/news.crit
news.err -/var/log/news/news.err
news.notice -/var/log/news/news.notice
#
# Some `catch-all' logfiles.
#
*.=debug;\ …Run Code Online (Sandbox Code Playgroud) RHEL 6 服务器上的 Rsyslog 在端口 514 UDP 上本地接收消息。这些消息有时比正常的系统日志消息大小大得多。我看到 rsyslog 可以很好地处理所有消息,它可以毫无问题地写入本地文件。但是,当我将远程主机添加到 rsyslog 配置时,这些相同的大消息被截断为大约 2048 个字符。
我正在运行 rsyslogd 版本:5.8.10
rsyslogd 5.8.10, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: No
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
Runtime Instrumentation (slow code): No
Run Code Online (Sandbox Code Playgroud)
我对 rsyslog conf 所做的唯一更改是以下两件事:
这是在我的 rsyslog conf 文件的最顶部:
$MaxMessageSize 64k
Run Code Online (Sandbox Code Playgroud)
这是在我的 rsyslog conf 文件的最底部:
$template RemoteHost,"<%%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%
*.* @my-rsyslog-central-logger:514; RemoteHost
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么 rsyslog 会通过 UDP 将日志截断到远程主机,但是在将日志写入本地文件时能够处理日志?
**注意我确实通过使用 netcat 侦听 …
我想通过命令将多行消息记录到系统记录器中
echo -e "foo\nbar" | logger
Run Code Online (Sandbox Code Playgroud)
但它显示为 2 个日志。
是否可以记录为单个日志?
我需要将 Nginx 访问和错误日志重定向到远程系统日志服务器。从http://nginx.org/en/docs/syslog.html我看到我可以做到:
error_log syslog:server=192.168.1.1;
Run Code Online (Sandbox Code Playgroud)
但是我需要重定向到特定的 TCP(不是 UDP!)端口,我尝试了:
error_log syslog:server=192.168.1.1:3000;
Run Code Online (Sandbox Code Playgroud)
但它没有通过。如何向 Nginx 指定端口应该是 TCP 而不是 UDP?
非常感谢!
我们偶尔会遇到 ubuntu 16.04 LTS(内核 4.4.0-34-generic)挂起,我们想知道是否有人有一些线索如何深入了解这个问题。
日志如下所示:
Aug 24 10:02:04 Ubuntu-1404-trusty-64-minimal kernel: [ 2046.519099] perf interrupt took too long (2505 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
Aug 24 10:03:19 Ubuntu-1404-trusty-64-minimal systemd[1]: Started Session 43 of user ubuntu.
Aug 24 10:06:21 Ubuntu-1404-trusty-64-minimal systemd[1]: Started Session 44 of user ubuntu.
Aug 24 10:06:22 Ubuntu-1404-trusty-64-minimal systemd[1]: Started Session 45 of user ubuntu.
Aug 24 10:08:14 Ubuntu-1404-trusty-64-minimal systemd[1]: Started Session 46 of user ubuntu.
Aug 24 10:17:01 Ubuntu-1404-trusty-64-minimal CRON[150011]: (root) CMD ( cd / && …Run Code Online (Sandbox Code Playgroud)