系统监控:使用日志文件 journalctl的使用
journalctl
显示最近登录的:
上面有最近登录的时间,和系统操作
几十年来,Linux日志记录一直由syslogd守护进程管理。Syslogd将收集系统处理和应用程序发送到/dev/log伪设备的日志消息。然后,它会将消息定向到/var/log/目录中适当的纯文本日志文件。Syslogd(图11.1)知道将消息发送到哪里,因为每个消息都包含包含元数据字段(包括时间戳、消息来源和优先级)的报头。
显示前20行数据:
journalctl -n 20
显示紧急事件:
journalctl -p emerg
除了紧急消息,您还可以过滤debug、info、notice、warning、err、crit和alert消息添加-f标志(用于跟踪)将显示最近创建的10个条目和所有后续条目。
这允许您在事件发生时实时观看事件:
journalctl -f
按一定的时间段查看:
journalctl --since 15:50:00 --until 15:52:00
由于数百个系统进程每小时输出数千条日志消息,非托管日志系统很快就会填满所有可用的存储空间。此时,日志记录将中断,依赖于该空间的任何其他系统进程也将中断。
该怎么办?
Journald通过自动限制日志系统允许使用的最大磁盘空间来解决这个问题。一旦达到限制,旧的消息将被删除。该设置由SystemMaxUse=和控制RuntimeMaxUse= /etc/systemd/journal.conf文件中的settings。
可以看到,我这边有,但是都没有设置。
7天后,当下一个轮换日期到来时,auth.log.2.gz将被重命名为auth
.log.3.gz auth.log。auth.log将被压缩并重命名为auth.log.2.gz, auth.log将成为auth.log。1,并创建一个名为auth.log的新文件。默认的日志循环周期在/etc/logrotate.conf文件中控制。清单中显示的值在一个活动周后旋转文件,并在四周后删除旧文件。
的/etc/logrotate.d目录还包含用于管理各个服务或应用程序的日志轮换的自定义配置文件。列出该目录的内容,你会看到这些配置文件:
以tomcat为例子,在被删之前将旋转52次,compress的意思是,旋转后将会被压缩,每周轮换一次。
许多管理员选择将日志条目重定向到专门构建的远程日志服务器,在那里数据可以得到应有的所有专门关注。
这可以释放应用程序服务器以执行其即时任务,并将日志数据整合到一个易于访问的中心位置。
awk的使用:
最基本的用法是awk 动作 文件名
比如说:
awk '{print $1,$4}' catalina.2023-10-06.log
原先是这个:
显示的就是第一个和第四个单词的值。