树叶云UNIX教程:UNIX 系统日志

系统日志

UNIX 系统有一个非常灵活和强大的日志系统,它让你能够记录几乎任何你能想象的东西,然后你可以操作日志来获取你需要的信息。

许多版本的 UNIX 提供了一个名为 syslog 的通用日志工具,有信息需要记录的单独程序要将信息发送到 syslog。

Unix syslog 是一个主机可配置的,统一的系统日志工具。该系统采用集中式的系统日志进程,其运行程序 /etc/syslogd 或者 /etc/syslog

系统记录器的操作是相当简单的。程序发送日志条目到 syslogd,其将会在配置文件 /etc/syslogd.conf/etc/syslog 中查找,当找到一个匹配后,将日志消息写入到期望的日志文件中。

现有你应该了解的四种基本日志术语:

术语描述
Facility此标识符用来描述提交的日志信息的应用程序或进程。例如邮件,内核和 FTP。
Priority一个显示消息重要性的指示器。syslog 作为准则定义了消息的级别,从调试信息到关键事件。
Selector一个或更多的 facility 和 level 的结合体 。当一个输入事件匹配一个 selector 时,一个 action 会被执行。
Action传入的消息匹配 selector 时会发生的事情。Action 可以将消息写入日志文件,将消息回传到控制台或其他设备,将消息写入到一个登录用户,或将消息发送到另一个日志服务器

Syslog Facilities

下面是 selector 可用的 facility。不是所有的 facility 都存在于所有版本的 UNIX。

Facility描述
auth需要用户名和密码的相关活动(getty,su,login)
authpriv类似于 auth 的认证,但是记录的文件只能被授权的用户读取。
console用于捕获信息,这些信息一般会传向系统控制台。
cron与 cron 系统有关的计划任务信息。
daemon所捕获的所有系统守护进程信息。
ftpftp 守护进程相关的信息。
kern内核信息。
local0.local7用户自定义使用的本地信息。
lpr与打印服务系统有关的信息。
mail与邮件系统相关的信息。
mark用于生产日志文件中时间戳的伪事件。
news与网络新闻传输协议( nntp )有关的信息。
ntp与网络时间协议有关的信息。
user普通用户进程产生的信息。
uucpUUCP 子系统生成的信息。

Syslog 优先级

syslog 的优先级( Priority )如下表:

Priority描述
emerg紧急情况,如即将发生的系统崩溃,通常会广播到所有用户。
alert需要立即修改的情况,如系统数据库的损坏。
crit关键的情况,如一个硬件的错误。
err普通错误。
warning警告
notice不是一个错误的情况,但是可能需要用特定方式的处理一下。
info报告性的消息。
debug用于调试程序的消息。
none没有重要级别,通常用于指定非日志的消息。

facility 和 level 的组合能够让你辨别记录了什么和这些日志信息去哪儿了。

每个程序尽职尽责地向系统记录器发送消息,记录器基于 selector 定义的 level 决定跟踪什么和舍弃什么信息。

当你指定了一个 level,系统会记录这一 level 及更高 level 的一切信息。

文件 /etc/syslog.conf

文件 /etc/syslog.conf 用于配置记录消息的位置。一个典型的 syslog.conf 文件看起来应该像这样:

    *.err;kern.debug;auth.notice /dev/console
    daemon,auth.notice           /var/log/messages
    lpr.info                     /var/log/lpr.log
    mail.*                       /var/log/mail.log
    ftp.*                        /var/log/ftp.log
    auth.*                       @prep.ai.mit.edu
    auth.*                       root,amrood
    netinfo.err                  /var/log/netinfo.log
    install.*                    /var/log/install.log
    *.emerg                      *
    *.alert                      |program_name
    mark.*                       /dev/console

文件中的每一行包含两部分:

  • 一个消息 selector,其指定了哪种消息用来记录。例如,内核的所有错误信息或所有调试信息。
  • 一个 action,其指明了对接收的消息该怎么处理。例如,写入一个文件中或者将消息发送到用户的终端。

下面是上述配置的注意事项:

  • 消息 selector 有两部分:facility 和 priority。例如, kern.debug 选择了所有由内核( facility )产生的的调试信息( priority )。
  • 消息 selectetor kern.debug 选择了所有 priority 大于 debug 的信息。
  • 在任何 facility 和 priority 位置上的星号,表示“所有”的意思。例如, *.debug 表示所有 facility 的调试信息,而 kern.* 表示内核所产生的所有信息。
  • 你也可以用逗号来指定多个 facility。两个或两个以上的 selectetor 可以用分号组合在一起。

日志记录 Action

action 部分指定了下面五个 action 中的其中一个:

  1. 将信息记录到一个文件或设备。例如,/var/log/lpr.log 或者 /dev/console
  2. 发送一个消息给一个用户。你可以用逗号分开指定多个用户名(例如,root,amrood)。
  3. 发送一个消息给所有用户。在这种情况下,action 部分包含了一个星号(例如,*)。
  4. 用管道发送消息到程序。在这种情况下,程序是在 UNIX 管道符号(|)后指定。
  5. 将消息发送到另一台主机上的 syslog。在这种情况下,action 部分包含了一个前面有 at 符号的主机名(例如,@IDC.NET.cn)。

logger 命令

UNIX 提供了 logger 命令,这是处理系统日志记录的一个非常有用的命令。logger 命令发送日志消息到 syslogd 守护进程,从而驱使系统记录日志。

这意味着我们可以随时用命令行检查 syslogd 守护进程及其配置。logger 命令提供了一种在命令行上添加一行条目到系统日志文件中的方法。

该命令的格式是:

    logger [-i] [-f file] [-p priority] [-t tag] [message]...

下面是具体的参数细节:

选项描述
-f filename使用文件 filename 的内容作为消息来记录。
-i日志的每一行都记录进程的 id。
-p priority指定输入消息的优先级 priority(指定的 selector),优先级 priority 可以是数字或者指定为 facility.level 对的格式。默认参数是 user.notice。
-t tag用指定 tag 标记记录到日志中的每一行。
message字符串参数,它的内容以特定顺序连接在一起,由空格分开。

日志轮换

日志文件有快速增长的特点,并消耗大量的磁盘空间。大多数 UNIX 发行版系统使用了工具(如 newsyslog 或 logrotate)启用日志轮换功能。

这些工具由 cron 守护进程在一个频繁的时间间隔里调用。你可以在 newsyslog 或 logrotate 的手册页中获取更多的细节内容。

重要日志文件的位置

所有的系统应用程序创建自己的日志文件在 /var/log 和它的子目录里。下面这里有几个重要的应用,其相应的日志目录:

应用目录
httpd/var/log/httpd
samba/var/log/samba
cron/var/log/
mail/var/log/
mysql/var/log/

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/198981.html<

(0)
运维的头像运维
上一篇2025-04-04 15:15
下一篇 2025-04-04 15:17

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注