做网站前怎么建立数据结构,网站建设有哪些模块,网站建设概算,wordpress用什么系统18.1 什么是登录文件
什么是登录文件#xff1f;简单地说#xff0c;就是记录系统活动信息的几个文件#xff0c;例如#xff1a;何时何地何人#xff0c;做了什么工作。换句话说就是#xff1a;记录系统在什么时候由哪个程序做了什么样的行为时#xff0c;发生了什么事…18.1 什么是登录文件
什么是登录文件简单地说就是记录系统活动信息的几个文件例如何时何地何人做了什么工作。换句话说就是记录系统在什么时候由哪个程序做了什么样的行为时发生了什么事。
18.1.1 CentOS 7 登录文件简易说明
登录文件的重要性
为什么说登录文件很重要重要到系统管理员需要随时注意他呢我们可以这么说
解决系统方面的错误
系统有时候可能会出现一些错误包括硬件捉不到或者是某些系统服务无法顺利运行的情况。这时系统会将硬件侦测过程记录在登录文件内只要通过查询登录文件就能够了解系统发生什么事。
解决网络服务的问题
在做完了某些网络服务的设置后却一直无法顺利启动该服务此时该怎办由于网络服务的各种问题通常都会被写入特别的登录文件 其实你只要查询登录文件就会知道出了什么差错。举例来说如果你无法启动邮件服务器 postfix 那么查询一下/var/log/maillog就可以。
过往事件记录簿
如果你发现某个时刻的网络服务流量很大你想要知道原因可以通过登录文件去找出该时段是哪些 IP 在连线与查询的网页数据为何就能够知道原因。
Linux 常见的登录文件文件名
登录文件可以帮助我们了解很多系统重要的事件包括登陆者的部分信息因此登录文件的权限通常是设置为仅有 root 能够读取而已。 而由于登录文件可以记载系统这么多的详细信息所以一个有经验的主机管理员会随时随地查阅一下自己的登录文件 以随时掌握系统的最新脉动那么常见的几个登录文件有哪些呢一般而言有下面几个
/var/log/boot.log 开机的时候系统核心会去侦测与启动硬件接下来开始各种核心支持的功能启动等。这些流程都会记录在 /var/log/boot.log 里面。 不过这个文件只会存在这次开机启动的信息前次开机的信息并不会被保留下来
/var/log/croncrontab调度有没有实际被进行过程中有没有错误/etc/crontab是否撰写正确都在这里面看。
/var/log/dmesg 记录系统在开机的时候核心侦测过程所产生的各项信息。由于 CentOS默认将开机时核心的硬件侦测过程取消显示 因此额外将数据记录一份在这个文件中
/var/log/lastlog 可以记录系统上面所有的帐号最近一次登陆系统时的相关信息。
/var/log/maillog 或 /var/log/mail/* 记录邮件的往来信息其实主要是记录 postfixSMTP 协定提供者 与 dovecot POP3 协定提供者 所产生的讯息。SMTP 是发信所使用的通讯协定 POP3 则是收信使用的通讯协定。 postfix 与 dovecot 则分别是两套达成通讯协定的软件。
/var/log/messages 这个文件相当的重要几乎系统发生的错误讯息 或者是重要的信息 都会记录在这个文件中 如果系统发生莫名的错误时这个文件是一定要查阅的登录文件之一。
/var/log/secure 基本上只要牵涉到“需要输入帐号密码”的软件那么当登陆时 不管登陆正确或错误 都会被记录在此文件中。 包括系统的 login 程序、图形接口登陆所使用的 gdm 程序、 su, sudo 等程序、还有网络连线的 ssh, telnet 等程序 登陆信息都会被记载在这里
/var/log/wtmp, /var/log/faillog 这两个文件可以记录正确登陆系统者的帐号信息wtmp 与错误登陆时所使用的帐号信息 faillog。
/var/log/httpd/, /var/log/samba/ 不同的网络服务会使用它们自己的登录文件来记载它们自己产生的各项讯息上述的目录内则是个别服务所制订的登录文件。
常见的登录文件就是这几个但是不同的 Linux distributions 通常登录文件的文件名不会相同 除了 /var/log/messages 之外 。
登录文件所需相关服务 daemon 与程序
那么这些登录文件是怎么产生的呢基本上有两种方式一种是由软件开发商自行定义写入的登录文件与相关格式 例如 WWW 软件 apache 就是这样处理的。另一种则是由 Linuxdistribution 提供的登录文件管理服务来统一管理。 你只要将讯息丢给这个服务后他就会自己分门别类的将各种讯息放置到相关的登录文件去CentOS 提供 rsyslog.service 这个服务来统一管理登录文件。
不过要注意的是如果你任凭登录文件持续记录的话由于系统产生的信息天天都有那么你的登录文件的容量将会无限多。如果你的登录文件容量太大时可能会导致大文件读写效率不佳的问题 因为要从磁盘读入内存越大的文件消耗内存量越多。我们可以通过 logrotate登录文件轮替 来自动化处理登录文件容量与更新的问题。
所谓的 logrotate 基本上就是将旧的登录文件更改名称然后创建一个空的登录文件如此一来 新的登录文件将重新开始记录然后只要将旧的登录文件留下一阵子就可以将登录文件“轮转”。 此外如果旧的记录 大概要保存几个月吧 保存了一段时间没有问题那么就可以让系统自动的将他砍掉。
总结一下针对登录文件所需的功能我们需要的服务与程序有
systemd-journald.service最主要的讯息收受者由 systemd 提供的
rsyslog.service主要登录系统与网络等服务的讯息
logrotate主要在进行登录文件的轮替功能。
CentOS 7.x 使用 systemd 提供的 journalctl 日志管理
CentOS 7 除了保有既有的 rsyslog.service 之外其实最上游还使用了 systemd 自己的登录文件日志管理功能。他使用的是 systemd-journald.service 这个服务来支持的。基本上系统由 systemd 所管理那所有经由 systemd 启动的服务如果再启动或结束的过程中发生一些问题或者是正常的讯息 就会将该讯息由 systemd-journald.service 以二进制的方式记录下来之后再将这个讯息发送给 rsyslog.service 作进一步的记载。
systemd-journald.service 的记录主要都放置于内存中因此在存取方面性能比较好。我们也能够通过 journalctl 以及 systemctl status unit.service 来查看各个不同服务的登录文件 这有个好处就是登录文件可以随着个别服务让你查阅在单一服务的处理上面要比跑到/var/log/messages 去大海捞针来的简易很多。