梦飞数据中心 > 帮助中心 > 服务器相关 > Linux系统日志管理

Linux系统日志管理

在linux系统上面,系统可以记录从开机到当前系统上面何时发生了哪些事情,并将其分类,分别写到特定的日志文件当中,如系统自身产生的问题、用户登录信息,网络数据信息等等,我们可以根据这些日志信息来解决系统方面的错误,网络服务问题等等
 
1.日志:
 
    历史事件:时间,地点,人物,事件
 
    日志级别:事件的关键性程度,Loglevel
 
2.系统日志服务:rsyslog CentOS6和7;sysklogd centos5之前版本
 
    日志事件记录格式:
 
    日期时间  主机  进程[pid] :事件内容
 
    C/S架构:记录下来的日志可通过TCP/UDP协议的服务完成日志记录的传送可以将分布再不同主机的日志实现集中管理
 
3.rsyslog介绍
 
*
 
    facility:设施,从功能或程序上对日志进行分类
 
          auth,authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp,local0-local7, syslog
 
    Priority:优先级别,从低到高排序
 
          debug, info, notice, warn(warning), err(error),crit(critical), alert, emerg(panic)
 
    rsyslog特性  (不适合大规模管理日志)
 
        多线程
 
        UDP,TCP, SSL, TLS, RELP
 
        MySQL, PGSQL, Oracle实现日志存储
 
        强大的过滤器,可实现过滤记录日志信息中任意部分
 
        自定义输出格式
 
rsyslog配置文件 :/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
 
rsyslog配置文件格式:
 
    MODULES:相关模块配置
 
    GLOBAL DIRECTIVES:全局配置
 
    RULES:日志记录相关的规则配置
 
    RULES配置格式:facility.priority; facility.priority… target
 
facility:
 
    *: 所有的facility
 
    facility1,facility2,facility3,...:指定的facility列表
 
priority:
 
    *: 所有级别
 
    none:没有级别,即不记录
 
    PRIORITY:指定级别(含)以上的所有级别
 
    =PRIORITY:仅记录指定级别的日志信息
 
target:
 
    文件路径:通常在/var/log/,文件路径前的-表示异步写入
 
    用户:将日志事件通知给指定的用户,* 表示登录的所有用户
 
    日志服务器:@host,把日志送往至指定的远程服务器记录
 
    管道:| COMMAND,转发给其它命令处理
 
 
 
配置rsyslog成为日志服务器vim/etc/rsyslog.conf
 
    ####MODULES ####
 
    #Provides UDP syslog reception
 
    $ModLoadimudp
 
    $UDPServerRun514
 
    #Provides TCP syslog reception
 
    $ModLoadimtcp
 
    $InputTCPServerRun514
 
其他日志文件
 
/var/log/secure:系统安装日志,文本格式
 
/var/log/btmp:当前系统上,用户的失败尝试登陆相关的日志信息,二进制格式,lastb命令进行产看
 
/var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
 
/var/log/dmesg:系统引导过程中的日志信息,文本格式
 
/var/log/messages:系统中大部分的信息
 
日志管理journalctl
 
Systemd统一管理所有 Unit 的启动日志。带来的好处就是,可以只用
 
journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件
 
/etc/systemd/journald.conf
 
journalctl用法
 
查看所有日志(默认情况下,只保存本次启动的日志)
 
journalctl
 
查看内核日志(不显示应用日志)
 
journalctl-k
 
 查看系统本次启动的日志
 
journalctl-b
 
journalctl-b -0
 
查看上一次启动的日志(需更改设置)
 
journalctl-b -1
 
查看指定时间的日志
 
journalctl--since="2017-10-30 18:10:30"
 
journalctl--since "20 min ago"
 
journalctl--since yesterday
 
journalctl--since "2017-01-10" --until "2017-01-11 03:00"
 
journalctl--since 09:00 --until "1 hour ago"
 
 显示尾部的最新10行日志
 
journalctl-n
 
显示尾部指定行数的日志
 
journalctl-n 20
 
 实时滚动显示最新日志
 
journalctl-f

(责任编辑:joker) 部分网站内容及图片来源于网络,如有侵权或违规内容请联系管理员删除!