在Linux系统中,有三个主要的日志子系统:
(1) 系统接入日志
多个程序会记录该日志,记录到/var/log/wtmp和/var/log/utmp中,telnet和ssh等程序都会更新wtmp与utmp文件,系统管理员可以根据该日志跟踪到谁在何时登陆到系统。
(2)进程统计日志该日志由Linux内核记录,当一个进程终止时,进程终止文件(pacct或acct)中会进行记录。进程统计日志可以供系统管理员分析系统使用者对系统进行的配置,以及对文件进行的操作。
(3)错误日志Syslog日志系统已经被许多设备兼容,Linux的syslog可以记录系统事件,主要由syslogd程序执行,Linux系统下各种进程、用户程序和内核都可以通过Syslog文件记录重要信息,错误日志记录在/var/log/messages中。有许多Linux/Unix程序创建日志,像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
常用的日志文件
⚫access-log纪录HTTP/web的传输
⚫acct/pacct纪录用户命令
⚫aculog纪录MODEM的活动
⚫btmp纪录失败的纪录
⚫lastlog纪录最近几次成功登录的事件和最后一次不成功的登录
⚫messages从syslog中记录信息(有的链接到syslog文件)
⚫sudolog纪录使用sudo发出的命令
⚫sulog纪录使用su命令的使用
⚫syslog从syslog中记录信息(通常链接到messages文件)
⚫utmp纪录当前登录的每个用户
⚫wtmp一个用户每次登录进入和退出时间的永久纪录
⚫xferlog纪录FTP会话
日志文件说明
/var/log/messages系统启动后的信息和错误日志,是Linux中最常用的日志之一/var/log/secure与安全相关的日志信息
/var/log/maillog与邮件相关的日志信息
/var/log/cron与定时任务相关的日志信息
/var/log/spooler与UUCP和news设备相关的日志信息
/var/log/boot.log守护进程启动和停止相关的日志消息
查看系统信息常用命令
系统:
#uname-a#查看内核/操作系统/CPU信息
#cat/etc/issue#cat/etc/redhat-release#查看操作系统版本
#cat/proc/cpuinfo#查看CPU信息
#hostname#查看计算机名
#lspci-tv#列出所有PCI设备
#lsusb-tv#列出所有USB设备
#lsmod#列出加载的内核模块
#env#查看环境变量
资源:
#free-m#查看内存使用量和交换区使用量
#df-h#查看各分区使用情况
#du-sh<目录名>#查看指定目录的大小
#grepMemTotal/proc/meminfo#查看内存总量
#grepMemFree/proc/meminfo#查看空闲内存量
#uptime#查看系统运行时间、用户数、负载
#cat/proc/loadavg#查看系统负载
磁盘和分区:
#mount|column-t#查看挂接的分区状态
#fdisk-l#查看所有分区
#swapon-s#查看所有交换分区
#hdparm-i/dev/hda#查看磁盘参数(仅适用于IDE设备)
#dmesg|grepIDE#查看启动时IDE设备检测状况
网络:
#ifconfig#查看所有网络接口的属性
#iptables-L#查看防火墙设置
#route-n#查看路由表
#netstat-lntp#查看所有监听端口
#netstat-antp#查看所有已经建立的连接
#netstat-s#查看网络统计信息
进程:
#ps-ef#查看所有进程
#top#实时显示进程状态
用户:
#w#查看活动用户
#id<用户名>#查看指定用户信息
#last#查看用户登录日志
#cut-d:-f1/etc/passwd#查看系统所有用户
#cut-d:-f1/etc/group#查看系统所有组
#crontab-l#查看当前用户的计划任务
服务:
#chkconfig--list#列出所有系统服务
#chkconfig--list|grepon#列出所有启动的系统服务
程序:
#rpm-qa#查看所有安装的软件包
syslogd的配置文件/etc/syslog.conf规定了系统中需要监视的事件和相应的日志的保存位置。