linux日志管理
❶ linux日志文件的管理、备份及日志服务器的搭建
日志文件存放目录: /var/log
[root@xing log]# cd /var/log
[root@xing log]# ls
messages:系统日志
secure:登录日志
————————————————
日志管理服务文件: vim /etc/rsyslog.conf
日志记录的日志级别:最不严重 -> 最严重
debug, info, notice, warning, warn (same as warning), err, error (same
as err), crit, alert, emerg, panic (same as emerg)
测试提示:
[ming@xing etc]$ logger -p authpriv.emerg "==mingeror=="
[ming@xing etc]$
Message from syslogd@xing at Jul 18 11:00:41 ...
root: ==mingeror==
登录日志的错误信息同步写入 “/var/log/secure ” 文件中
————————————————
日志的异地备份
日志的异地备份至关重要。防止别人拿到你的root权限;用命令:echo "" > /var/log/secure 直接清空你的登录日志。
配置需备份日志的客户机(172.168.0.254):
[root@xing etc]# vim rsyslog.conf
————————————————
配置文件修改:
#*.* @@remote-host:514
authpriv.* @@172.168.0.1:514
————————————————
[root@xing etc]# setenforce 0 //执行setenforce 0 表示 临时关闭 selinux防火墙。
[root@xing etc]# getenforce
Permissive
[root@xing etc]# service rsyslog restart
————————————————
配置日志记录服务器(172.168.0.1):
[root@xing etc]# vim rsyslog.conf
————————————————
开启接收端口模块
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
———
配置备份的数据源及日志备份存放文件
:fromhost-ip,isequal,“172.168.0.254” /var/log/client/172.168.0.254.log
————————————————
[root@xing etc]# service rsyslog restart
———————
ss -antpl | grep 514
————————————————
注意:配置成功需关闭双方服务器的防火墙,或者修改防火墙配置。
❷ linux日志管理-1-syslogd
Linux日志管理中的syslogd是一个关键服务,它不仅负责kernel日志的记录,还能管理user space的日志。作为守护进程,syslogd的配置和其子服务如mail、auth、cron等通过/etc/syslog.conf文件进行管理,获取官方文档可通过rsyslog.com/doc/master/。系统默认日志会追加到/var/log/messages和/kern.log中,日志格式包含时间、主机名、服务程序名以及事件详情。
开启rsyslogd后,kernel log不再通过/proc/kmsg查看。配置syslogd的行为主要通过/etc/syslog.conf进行,该文件决定了日志类型、级别和输出路径。默认规则在/etc/rsyslog.d/50-default.conf中,可以通过自定义rsyslog规则文件(如/etc/rsyslog.d/*.conf)进一步细化日志处理。
进程如何与syslogd交互?如sshd、login、su等进程通过syslog系统调用来发送日志,通过指定的不同常量(如LOG_AUTH或LOG_CRON)将日志分类至不同的文件,如secure、cron或kernel日志。用户空间进程也可以使用syslog()函数自定义日志规则,包括选择ident、facility和优先级。
syslogd还支持重定向和等级控制,例如通过修改rsyslog.conf或程序中的facility设置,可以将日志定向到特定文件,或仅记录高于某个等级的事件。此外,syslogd还支持将日志输出到console,以便实时监控。
❸ Linux查看日志文件的常用命令
在Linux中,管理日志文件的命令工具非常实用。以下是几个常用的命令来帮助你查看、搜索和筛选日志内容:
1. 查看文件最后1000行:使用`tail -n 1000 filename`。
2. 实时监控:若需动态刷新最后1000行,使用`tail -f -n 1000 filename`。
3. 关键字搜索:通过`cat filename | grep '关键字'`找到包含特定关键字的行。
4. 搜索前后行:要包含特定关键字前后几行,输入`cat filename | grep '关键字' -A 2`(A代表前几行)。
5. 重定向结果:搜索结果可定向到新文件,如`cat filename | grep '关键字' > aaa.log`。
6. 查看执行时间日志:定位特定时间的记录,用`cat filename | grep '2023-10-20 16:30'`。
7. 指定时间段日志:`cat filename | grep '2023-10-20 16:3[1-3]'`筛选特定时间段。
8. 分页查看:对于大型文件,`less filename`提供了滚动浏览功能。
9. 显示文件开头:`head -n 100 filename`查看文件前100行内容。
10. grep命令深入搜索:`grep "keyword" filename`搜索包含特定关键词的行。
11. 分页浏览:`cat filename | more`逐页查看文件内容。
12. 编辑器VIM:虽然主要用于编辑,但也可用于查看日志,如`vim filename`。
13. sed命令:支持按行号或时间范围筛选,如`sed -n '5,10p' filename`查看指定行,或`sed -n '/2023-10-17 16:17:20/,/2023-10-17 16:17:36/p' test.log`查询时间段内容。
通过这些命令,你可以有效地管理Linux系统中的日志文件,快速定位和分析关键信息。