有谁知道文件访问日志的存储位置,因此我可以运行tail -f命令以查看谁正在访问特定文件。
我有 XAMPP,它是我的机器上安装的 Apache 服务器,它会自动记录访问。它存储在我的安装文件夹中。
我按照此链接更改了 RHEL 6 的日志轮换配置
对配置文件进行更改后,我该怎么做才能使其生效?
据我了解,Linux 内核会记录到/proc/kmsg文件(主要是与硬件相关的消息)和/dev/log套接字吗?还有其他地方吗?其他应用程序是否也能够向/proc/kmsg或发送消息/dev/log?最后但并非最不重要的,我是正确的,这是系统日志守护程序(rsyslog现在,syslog-ng的),该检查的消息来自这两个地方,然后分发到那些像各种文件/var/log/messages或者/var/log/kern.log甚至是中央系统日志服务器?
在 *nix 服务器上,我们使用 配置发送日志facility.severity,其中facility是系统的(我们称之为)“组件”的名称,例如内核、身份验证等;并且severity是设施记录的每个日志的“级别”,例如info(信息)、crit(关键)日志。
因此,如果我想发送内核关键日志,我将使用kern.crit.
设施和严重性的组合被称为优先级,例如......
还有所谓的“设施”local0来local7。
这些local#设施到底是什么?我特别询问local6,因为它通常是我在搜索中找到的最常见的。
我的问题实际上是因为我正在配置 Snort(SourceFire 入侵传感器)来发送日志,所以我想知道facility使用哪个。不过,我的问题不是 Snort 特定的,因为local#设施无处不在;例如,在 Cisco 和 IBM 的 WebSphere Application Server 上。
RFC3164,这是定义系统日志协议的地方,只说:
local6 - local use 6
Run Code Online (Sandbox Code Playgroud)
这并没有真正描述它,而不是:
auth - security/authorization messages
Run Code Online (Sandbox Code Playgroud)在 Ubuntu 中,man syslog显示:
LOG_LOCAL0 到 LOG_LOCAL7
保留供本地使用
还有,含糊不清。
我想知道 systemd-journald 是一种新的 syslog 协议实现,或者更确切地说,它使用了 syslog 实现,例如 rsyslog、syslog-ng
我用谷歌搜索了一下,但我没有发现任何令人信服的内容。
我想使用 syslog 来记录来自我的基于 PHP 的站点的消息。我的问题是 - 我可以添加自定义设施名称吗?我知道有一些预定义的设施,例如:
auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.
Run Code Online (Sandbox Code Playgroud)
据我所知,我可以为此使用 local0 - local6 设施。
但我只是觉得如果我可以在 syslog 中添加这样的东西:
mySiteName.* /var/log/mySiteName.log
Run Code Online (Sandbox Code Playgroud)
其他人在视觉上更容易理解。不幸的是,上面的行导致:
rsyslogd-3000: unknown facility name "mySiteName"
Run Code Online (Sandbox Code Playgroud)
那么 - 有没有办法使用自定义设施名称?
我觉得我忽略了显而易见的事情,但我不知道如何让我的 Arch Linux 服务器使用systemd,syslog从远程系统接收和记录消息。
我有一个 Cisco 678 DSL 调制解调器和一个 DD-WRT WAP,两者都可以配置为将 syslog 格式的消息发送到其他机器。我希望那台机器成为我的 Arch Linux 服务器。
我四处搜索,我发现的只是“systemd 替换了 syslog”,或者我不再需要运行syslog或与我的问题同样无关的东西。
更新
我在Arch 论坛上问过,但没有得到相关的答案。我安装了 syslog-ng 只是为了侦听 UDP 端口 514。syslog-ng 从我的 Cisco 678 和我有的 DD-WRT WAP 写入消息。不幸的是,这些消息并没有出现在 systemd 的日志中,而是出现在平面文件中。因此,没有确切的解决方案,而是一种解决方法。我宁愿将系统日志消息放在日志中,而不是平面文件中。
我正在运行一个从头开始构建的 Linux 操作系统。我想将内核消息缓冲区 (dmesg) 保存到一个文件中,该文件将在重新启动之间保持不变。
我试过运行 syslogd,但它只是打开了一个新的日志文件 /var/log/messages,既没有现有的内核消息缓冲区,也没有内核在 syslogd 启动后生成的任何新消息。
如何将内核消息缓冲区保存到持久日志文件中?
我有一个新的 CentOS 7 安装,并注意到我的 /var/log/messages 文件充满了这样的消息
Mar 6 08:40:01 myhostname systemd: Started Session 2043 of user root.
Mar 6 08:40:01 myhostname systemd: Starting Session 2043 of user root.
Mar 6 08:40:01 myhostname systemd: Created slice user-1001.slice.
Mar 6 08:40:01 myhostname systemd: Starting user-1001.slice.
Mar 6 08:40:01 myhostname systemd: Started Session 2042 of user userx.
Mar 6 08:40:01 myhostname systemd: Starting Session 2042 of user userx.
Mar 6 08:40:01 myhostname systemd: Started Session 2041 of user root.
Mar 6 08:40:01 myhostname …Run Code Online (Sandbox Code Playgroud) syslog 配置中的 authpriv 和 auth 有什么区别?
syslog.conf 中没有提到它,只是告诉我存在这样的工具。