zoukankan      html  css  js  c++  java
  • Linux日志管理

    查看服务是否启动:
    [root@localhost ~]# ps aux | grep rsyslogd
    root 6542 0.2 0.6 214444 6444 ? Ssl 22:11 0:00 /usr/sbin/rsyslogd -n
    root 6898 0.0 0.0 112724 984 pts/0 S+ 22:12 0:00 grep --color=auto rsyslogd

    查看服务是否自启:
    [root@localhost ~]# chkconfig --list | grep rsyslog

    注:该输出结果只显示 SysV 服务,并不包含
    原生 systemd 服务。SysV 配置数据
    可能被原生 systemd 配置覆盖。

    要列出 systemd 服务,请执行 'systemctl list-unit-files'。
    查看在具体 target 启用的服务请执行
    'systemctl list-dependencies [target]'。


    常见日志的作用:
    /var/log/cron 记录定时任务相关的日志
    /var/log/cups 记录打印信息的日志
    /var/log/dmess 记录了系统在开机时内核自检的信息。也可以使用dmesg命令直接查看系统自检信息
    /var/log/btmp 记录错误登录的日志。二进制文件,不能直接vim查看,而要使用lastb命令
    /var/log/last1og 记录系统中所有用户最后一次的登录时间的日志。这个文件也是二进制文件,不能直接vi,而要使用lastlog命令
    /var/log/maillog 记录邮件信息
    /var/log/message 记录系统中重要的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检 查的就是这个日志文件。
    /var/log/secure 记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录。比如系统的登录,ssh的登录,su切换用户, sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中。
    /var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。该文件是二进制文件,需要用last 查看
    /var/run/utmp 记录当前已经登录的用户信息。这个文件会随着用户的登录和注销而发生变化。只记录当前登录用户的信息。该文 件用w、who、users等查询

    rsyslogd日志服务

    基本日志格式包含以下四列:
    事件产生的时间
    发生事件的服务器的主机名
    产生事件的服务名或程序名
    事件的具体信息

    /etc/rsyslog.conf配置文件

    authpriv.* /var/log/secure
    #服务名称[连接符号] 日志等级 日志记录位置
    #认证相关服务.所有日志等级 记录在/var/log/secure日志中

    说明:
    authpriv : 服务名称
    . : 连接符号
    * : 日志等级,*表示所有的
    /var/log/secure : 日志位置


    服务名称 说明
    auth : 安全和认证相关信息(不推荐)
    authpriv : 安全和认证相关信息(私有的)
    cron : 系统定时任务cron和at产生的日志
    daemon : 和各个守护进程相关的日志
    ftp : ftp进程产出的日志
    kern : 内核产生的日志(不是用户进程产生的)
    local0-local7 : 为本地使用预留的服务
    lpr : 打印产生的日志
    mail : 邮件收发信息
    news : 与新闻服务器相关的日志
    syslog : 有syslogd服务产生的日志信息,虽然服务名称已经修改为rsyslogd,但是很多配置都还是沿用了syslogd的
    这里并没有修改服务名
    user : 用户等级类别的日志信息
    uucp : uucp子系统的日志信息,uucp是早期linux系统进行数据传递的协议,后来也常用在新闻组服务中

    连接符号:
    * 代表所有的日志等级,比如“authpriv.*”代表authpriv认证信息服务产生的日志,所有的日志等级都记录
    . 代表只要比后面的等级高的)(包含该等级)日志都记录下来。比如:“cron.info”代表cron服务产生的日志,只要日志等级大于等于info级别,就记录。
    .= 代表只记录所需等级的日志,其他等级的都不记录。比如“*.=emerg”代表人和日志服务产生的日志,只要等级是emerg等级就记录。这种用法及少见,了解就好。
    .! 代表不等于,也就是除了该等级的日志外,其他等级的日志都记录。

    日志等级:
    debug :一般的调试信息说明
    info :基本的通知信息
    notice:普通信息,但是有一定的重要性
    warning:警告信息,但是还不会影响到服务和系统的运行
    err:错误信息,一般达到err等级的信息以及可以影响到服务或系统的运行了。
    crit:临界状况信息,比err还要严重。
    alert:警告状态信息,比crit还严重。必须立即采取行动
    emerg:疼痛等级信息,系统已经无法使用了

    日志记录位置:
    日志文件的绝对路径,如 /var/log/secure
    系统设备文件,如 /dev/lp0
    转发给远程主机,如 @192.168.0.210:514
    用户名,如 root
    忽略或丢弃日志:如 ~

    日志轮替
    日志命名规则:配置文件拥有dateext参数,生成如下日志:secure、secure-20130605、secure-20130606
    配置文件没有dateext参数,生成如下日志:secure、secure.1、 secure.2、 secure.3

    logrotate配置文件
    daily : 日志的轮替周期是每天
    weekly : 日志的轮替周期是每周
    monthly : 日志的轮替周期是每月
    rotate 数字 : 保留的日志文件的个数。0指没有备份
    compress : 日志轮替时,旧的日志进行压缩
    create mode owner group : 建立新日志,同时指定新日志的权限与所有者和所属组。如create 0600 root utmp
    mail address : 当日志轮替时,输出内容通过邮件发送到指定的邮件地址。如:mail shenc@lamp.net
    missingok : 如果日志不存在,则忽略该日志的警告信息
    notifempty : 如果日志为空文件,则不进行日志轮替
    minsize 大小 : 日志轮替的最小值。也就是日志一定要达到这个最小值才会轮替,否则就算时间达到也不轮替
    size 大小 : 日志只有大于指定大小才进行日志轮替,而不是按照时间轮替 如 size 100k
    dateext : 使用日期作为日志轮替文件的后缀,如secure-201306

    vim /etc/logrotate.conf

    rpm包安装的日志可以默认识别
    源码包安装的,手动把apache日志加入轮替
    vim /etc/logrotate.conf

    /usr/local/apache2/logs/access_log{
    daily
    create
    rotate 30 #保留30天日志
    }


    logrotate [选项] 配置文件名
    选项:
    如果此命令没有选项,则会按照配置文件中的条件进行日志轮替
    -v:显示日志轮替过程。加了-v选项,会显示日志的轮替的过程
    -f:强制进行日志轮替。不管日志轮替的条件是否已经符合,强制配置文件中所有的日志进行轮转

    logrotate -v /etc/logrotate.conf
    logrotate -f /etc/logrotate.conf

  • 相关阅读:
    【leetcode】Pascal's Triangle
    [bxd学习java基本点]10.set元素不重复,取元素顺序会变的。TreeSet取值时,是安顺序来的。
    cocos2dx 学习点滴(4) cocos2dx 架构和引擎目录
    VC 2008编译libxml22.7.6
    程序猿的九重天
    使用批处理文件设置环境变量
    删除指定目录下除开指定文件外所有文件的批处理命令
    关于永动机的思考
    程序员的九阳真经
    上帝的归上帝,程序的归程序 (卓有成效的程序员)
  • 原文地址:https://www.cnblogs.com/javasl/p/11190540.html
Copyright © 2011-2022 走看看