目前关于日志查询,有没有详细的参考手册?

统信的系统

第1个回答  2024-04-30
功能概述
Linux 系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。
功能介绍
1、日志类型

日志类型
2、日志等级

日志等级
3、常用日志文件
/var/log/lastlog 记录最后一次用户成功登陆的时间、登陆 IP 等信息。
/var/log/messages 记录 Linux 操作系统常见的系统和服务错误信息。
/var/log/secure 该⽇志记录安全和相关验证的消息和错误 。
/var/log/rsyslog 保存所有⽇志⽂件的⽬录 。
/var/log/maillog 保存相关邮件服务器的消息。
/var/log/cron 保存相关定期执⾏任务的⽇志。
4、日志查询和记录
4.1 Sar
选项: -A:所有报告的总和。
-u:输出 CPU 使用情况的统计信息。
-v:输出 inode、文件和其他内核表的统计信息。
-d:输出每一个块设备的活动信息。
-r:输出内存和交换空间的统计信息。
-b:显示 I/O 和传送速率的统计信息。
-a:文件读写情况。
-c:输出进程统计信息,每秒创建的进程数。
-R:输出内存页面的统计信息。
-y:终端设备活动情况。
-w:输出系统交换活动信息。
实例:
CPU 资源监控,间隔 10 秒,采集数据三次:
# sar -u 10 3
输出项说明:
CPU:all 表示统计信息为所有 CPU 的平均值。
%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice:显示在用户级别,用于 nice 操作,所占用 CPU 总时间的百分比。
%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait:显示用于等待 I/O 操作占用 CPU 总时间的百分比。
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。
%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。
数值对比说明:
1. 若 %iowait 的值过高,表示硬盘存在 I/O 瓶颈。
2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。
3. 若 %idle 的值持续低于 1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。
核心表状态查询:
# sar -v 10 3
参数说明:
dentunusd:目录高速缓存中未被使用的条目数量。
file-nr:文件句柄(file handle)的使用数量。
inode-nr:索引节点句柄(inode handle)的使用数量。
pty-nr:使用的 pty 数量。
内存和交换空间监控:
# sar -r 10 3
输出项说明:
kbmemfree:这个值和 free 命令中的 free 值基本一致,所以它不包括 buffer和 cache 的空间。
kbmemused:这个值和 free 命令中的 used 值基本一致,所以它包括 buffer和 cache 的空间。
%memused:这个值是 kbmemused 和内存总量(不包括 swap)的一个百分比。
kbbuffers 和 kbcached:这两个值就是 free 命令中的 buffer 和 cache。
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)。
%commit:这个值是 kbcommit 与内存总量(包括 swap)的一个百分比。
I/O 和传送速率监控:
# sar -b 10 3
输出项说明:
tps:每秒钟物理设备的 I/O 传输总量。
rtps:每秒钟从物理设备读入的数据总量。
wtps:每秒钟向物理设备写入的数据总量。
bread/s:每秒钟从物理设备读入的数据量,单位为 块/s。
bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s。
进程队列长度和平均负载状态监控:
# sar -q 10 3
输出项说明:
runq-sz:运行队列的长度(等待运行的进程数)。
plist-sz:进程列表中进程(processes)和线程(threads)的数量。
ldavg-1:最后 1 分钟的系统平均负载(System load average)。
ldavg-5:过去 5 分钟的系统平均负载。
ldavg-15:过去 15 分钟的系统平均负载。
统计网络信息:
# sar -n DEV 1 10
输出项说明:
IFACE 本地网卡接口的名称。
rxpck/s 每秒钟接受的数据包。
txpck/s 每秒钟发送的数据库。
rxKB/S 每秒钟接受的数据包大小,单位为 KB。
txKB/S 每秒钟发送的数据包大小,单位为 KB。
rxcmp/s 每秒钟接受的压缩数据包。
txcmp/s 每秒钟发送的压缩包。
rxmcst/s 每秒钟接收的多播数据包。
sar -n 选项使用 6 个不同的开关:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6 和 UDP6 ,DEV 显示网络接口信息,EDEV 显示关于网络错误的统计数据,NFS 统计活动的 NFS客户端的信息,NFSD 统计 NFS 服务器的信息,SOCK 显示套接字信息,ALL 显示所有 5 个开关。它们可以单独或者一起使用。
3.2 tail
参数:-f 监控文件的增长信息。
-q 不显示处理信息。
-v 显示详细的处理信息。
-c 显示的字节数。
-n 显示文件的尾部 n 行内容。
实例:
监控系统日志:
# tail -f /var/log/message
3.3 netstat
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
参数说明:
-a (all)显示所有选项,netstat 默认不显示 LISTEN 相关。
-t (tcp)仅显示 tcp 相关选项。
-u (udp)仅显示 udp 相关选项。
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态。
-p 显示建立相关链接的程序名。
-r 显示路由信息,路由表。
-e 显示扩展信息,例如 uid 等。
-s 按各个协议进行统计。
-c 每隔一个固定时间,执行该 netstat 命令。
实例:
列出 tcp 端口:
# netstat -at
列出 udp 端口:
# netstat -au
监听 22 端口:
# netstat -tunlp | grep 22
3.4 nohup
nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
实例:
持续记录 ping 百度日志到 myout.file :
# nohup ping www.baidu.com > myout.file &
5. 日志收集
系统日志收集的高效工具为 sosreport,在终端执行:
# sosreport
之后遇到提示信息直接回车。最终会生成一个压缩包,并在终端有提示信息, 在该压缩包中,包含了系统各主要日志文件和部分硬件和系统配置信息,对一些场景下的问题分析大有益处。此工具的优点即为使用便利。