linux下日志管理

1.什么是日志

         日志就是记录系统事件的,存放在文件里面

2.系统日志默认分类

/var/log/messages    ##系统服务及日志,包括服务的信息,报错等等
/var/log/secure        ##系统认证信息日志
/var/log/maillog    ##系统邮件服务信息
/var/log/cron        ##系统定时任务信息
/var/log/boot.log    ##系统启动信息

日志作用就是监控系统配置文件是否出现问题,及时发现问题。上图操作为随意打开一个配置文件,给里面添加一些错误的东西,然后清空日志信息,重置配置文件,然后查看日志信息,发现配置文件有错误,然后及时更改。

3.日志管理服务rsyslog

rsyslog:负责采集日志和分类存放日志(不生成日志)
rsyslog日志分类
    vim /etc/rsyslog.conf    ##主配置文件
    日志类型.日志级别        /存放文件
    *.*            /var/log/westos  所有级别所有类型的文件产生的日志都存放在此目录下

    systemctl restart rsyslog    重置主配置文件

格式:日志设备.日志级别   日志处理方式(action)

日志设备(可以理解为日志类型):
    auth                ##pam产生的日志
    authpriv            ##ssh,ftp等登录信息的验证信息
    cron                ##时间任务相关
    kern                ##内核
    lpr                 ##打印
    mail                ##邮件
    mark(syslog)–rsyslog    ##服务内部的信息,时间标识
    news                ##新闻组
    user                ##用户程序产生的相关信息
    uucp                ##unix to unix copy, unix主机之间相关的通讯
    local 1~7           ##自定义的日志设备

日志级别
    debug               ##有调式信息的,日志信息最多
    info                ##般信息的日志,最常用
    notice              ##最具有重要性的普通条件的信息
    warning             ##警告级别
    err                 ##错误级别,阻止某个功能或者模块不能正常工作的信息
    crit                ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
    alert               ##需要立刻修改的信息
    emerg               ##内核崩溃等严重信息
    none                ##什么都不记录

注意:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册: man 3 syslog

连接符号

.xxx: 表示大于等于xxx级别的信息
.=xxx:表示等于xxx级别的信息
.!xxx:表示在xxx之外的等级的信息

实例

        1. 记录到普通文件或设备文件::
        *.*     /var/log/file.log       # 绝对路径
        *.*     /dev/pts/0
        测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘   logger 命令用于产生日志

        2. 发送给用户(需要在线才能收到)
        *.*   root
        *.*   root,kadefor,up01         # 使用,号分隔多个用户
        *.*   *                     # *号表示所有在线用户

        3. 忽略,丢弃
        local3.*   ~                # 忽略所有local3类型的所有级别的日志

        4. 执行脚本::
        local3.*    ^/tmp/a.sh          # ^号后跟可执行脚本或程序的绝对路径
                        # 日志内容可以作为脚本的第一个参数.
                        #  可用来触发报警
            

4.日志同步

解释:将一台主机的日志同步到另一台主机

配置日志发送方

vim /etc/rsyslog.conf                   打开rsyslog配置文件进行编辑
*.*             @172.25.0.11            通过udp协议把日志发送到11主机,@udp,@@tcp

systemctl restart rsyslog.server   重启服务

> /var/log/message                       清空日志信息

配置日志接受方

vim /etc/rsyslog.conf                  打开rsyslog配置文件进行编辑
15 $ModLoad imudp                日志接收插件
16 $UDPServerRun 514           日志接收插件使用端口

systemctl restart rsyslog.server 重启服务

systemctl stop firewalld              关掉火墙

sytemctl disable firewalld           设定火墙开机关闭

> /var/log/message                     清空日志信息

注意:配置完发送方和接受方后都需要重启服务:systemctl restart rsyslog.server
日志接受方需要关掉火墙:systemctl stop firewalld
接受方设定火墙开机关闭:sytemctl disable firewalld
清空发送方和接受方的日志信息 :> /var/log/message 以便监测出新产生的日志

测试
logger test message            ##日志发送方

tail -f /var/log/message        ##日志接收方


日志采集格式

在接收方设置这些东西
vim /etc/rsyslog.conf

$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

%timegenerated%            ##显示日志时间
%FROMHOST-IP%            ##显示主机ip
%syslogtag%            ##日志记录目标
%msg%        +-B        ##日志内容
\n                ##换行

*.*      /var/log/westos;WESTOS   将日志格式添加到/var/log/westos后面 加分号 加名字

注意:格式一定要打对,细心细心再细心!!!

5.日志分析工具journal(日志读取,不采集)

systemd-journald        ##进程名称

journalctl                    ##直接执行,浏览系统日志


    -n 3                        ##显示最新3条               
    -p err                      ##显示报错


    -f                             ##监控日志


    --since --until          ## --since "[YYYY-MM-DD] [hh:mm:ss]" 从什么时间到什么时间的日志

 journalctl --since "2018-07-25 12:00"  --until "2018-07-25 13:00"
    -o verbose              ##显示日志能够使用的详细进程参数

    journalctl   _PID=1182 _COMM=sshd 查看指定进程信息
                    ##_SYSTEMD_UNIT=sshd.service服务名称
                    ##_PID=1182进程pid


对systemd-journald管理
##默认情况下此程序会忽略重启前的日志信息,如想要不忽略关机前的日志,就做以下设置:

    mkdir /var/log/journal
    chown root:systemd-journal /var/log/journal
    chmod 2755 /var/log/journal

    ps aux |grep systemd-journal
    killall -1 systemd-journald   重新开启
    ls /var/log/journal/回车显示
    4513ad59a3b442ffa4b7ea88343fa55f   从此时开始所有日志都保存在里面。

6.时间同步

服务端
##yum install chrony -y    ##安装服务

vim /etc/chrony.conf    ##主配置文件
21 # Allow NTP client access from local network.
22 allow 172.25.0.0/24    ##允许谁去同步我的时间
27 # Serve time even if not synchronized to any NTP server.
28 local stratum 10    ##不去同步任何人的时间,时间同步服务器级别

systemctl restart chronyd           重置服务
systemctl stop firewalld             关闭火墙

客户端
  vim /etc/chrony.conf
  3 server 0.rhel.pool.ntp.org iburst   只保留server0  删掉server1,server2,server3
  4 server 1.rhel.pool.ntp.org iburst   修改为:server 172.25.254.200 iburst
  5 server 2.rhel.pool.ntp.org iburst
  6 server 3.rhel.pool.ntp.org iburst

systemctl restart chronyd     重置服务

测试

客户端进行测试
[root@localhost ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||                                                /   xxxx = adjusted offset,
||         Log2(Polling interval) -.             |    yyyy = measured offset,
||                                  \            |    zzzz = estimated error.
||                                   |           |                         
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.25.0.11                  10   6   377    41   +170us[ +201us] +/-  191us

7.timedatectl命令


timedatectl                   ##显示当前时间信息
            set-time  “2018-7-25 12:00:00”    ##设定当前时间


            set-timezone    Asia/Shanghai    ##设定当前时区为上海


            set-local-rtc 0|1    ##设定是否使用utc时间,0表示使用UTC时间,1表示使用local时间


                        list-timezones           ##显示系统支持的时区

注意:用cat /etc/adjtime查看是否使用UTC时间
            

猜你喜欢

转载自blog.csdn.net/qq_42224396/article/details/81213818