Linux基础知识(系统日志的相关命令)

一、系统日志的采集规则

  1. 日志可以直接看出系统中的错误,日志在内存里,由服务决定
    vim /etc/rsyslog.conf 查看并修改采集日志文件配置,为了让我们把日志采集到指定位置。

  2. 日志采集格式:日志类型.日志级别 日志存放文件名称
    1.日志类型:
    auth 用户登陆日志(pam产生的日志)
    authpriv 服务认证日志(sshd认证日志)
    kern 内核日志
    cron 时间任务日志
    lpr 打印机日志
    mail 邮件日志
    news 新闻日志
    user 用户相关程序产生的日志
    uucp unix to unix copy, unix主机之间相关的通讯
    local 1~7 用户自定义日志
    mark(syslog)-rsyslog 服务内部信息,时间标识
    2.日志级别:
    debug 系统调试信息,日志信息最多
    info 常规信息,最常用的信息
    notice 最具有重要性的普通条件信息
    warning 警告信息
    err 报错(级别低,阻止了某个功能不能正常工作)
    crit 报错(级别高,阻止整个软件或整个系统不能正常工作)
    alert 需要立即修改的信息
    emerg 内核崩溃等严重信息
    none 不采集任何日志信息
    注意: 日志从上到下,级别从低到高,记录的信息也越来越少。

  3. 系统常用日志
    /var/log/messages 所有日志级别的常规信息(不包含邮件,服务认证,定时任务)
    在这里插入图片描述
    /var/log/maillog 邮件日志
    在这里插入图片描述
    /var/log/cron 定时任务日志
    在这里插入图片描述
    /var/log/secure 服务认证日志
    在这里插入图片描述
    :omusrmsg:* 内核崩溃等严重信息日志
    在这里插入图片描述
    /var/log/spooler unix主机之间相关的通讯和新闻日志的高级报错日志
    在这里插入图片描述
    /var/log/boot.log 用户自定义日志
    在这里插入图片描述

  4. 日志的远程同步
    1.一台主机处理多台服务器的日志
    日志发送方:(客户端)
    编辑vim /etc/rsyslog.conf
    vim /etc/rsyslog.conf编辑日志的采集规则(说明要发送的日志类型和接受方) @ UDP @@TCP
    54 *.info;mail.none;authpriv.none;cron.none /var/log/messages
    55 *.* @172.25.254.250 日志接收方的地址
    在这里插入图片描述
    systemctl restart rsyslog.service重新启动服务
    [root@desktop ~]# > /var/log/messages清除原本日志 (实验用)
    [root@desktop ~]# > /etc/rc.d/rc.local 清除日志的启动脚本,重新启动后生效
    logger test 输入 test
    cat /var/log/messages 查看日志
    在这里插入图片描述
    日志接收方:
    systemctl stop firewalld 关闭防火墙
    编辑vim /etc/rsyslog.conf
    14 行# Provides UDP syslog reception
    15 $ModLoad imudp 打开插件
    16 $UDPServerRun 514 开启接口 UDP
    在这里插入图片描述
    systemctl restart rsyslog.service 重新启动服务
    [root@server ~]# > /var/log/messages 清空原日志
    [root@server ~]# > /etc/rc.d/rc.local 清除日志的启动脚本,重新启动后生效
    cat /var/log/messages 查看desktop主机的日志
    在这里插入图片描述
    在这里插入图片描述

  5. 定义日志的采集格式
    要求传输过来的日志有时间,IP,进程来源,进程内容。
    在接收方端编辑 vim /etc/rsyslog.conf
    $template 格式名称,“日志采集格式”
    *.info;mail.none;authpriv.none;cron.none /var/log/messages;格式名称
    在RULES下添加:

    $template WESTOS,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
    *.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS
    在这里插入图片描述
    %timegenerated% 日志生成时间
    %FROMHOST-IP% 日志来源主机的IP
    %syslogtag% 日志生成程序
    %msg% 日志内容
    \n 换行
    编辑结束退出后执行重启动服务systemctl restart rsyslog.service
    在这里插入图片描述
    在这里插入图片描述

  6. 时间同步(chrony命令)
    同步时间实验:
    发送放:desktop:编辑 vim /etc/chrony.conf
    server 172.25.254.250 iburst 同步ip为172.25.245.250主机的时间
    在这里插入图片描述
    systemctl restart chronyd.service 重新启动服务
    在这里插入图片描述
    接收方:编辑修改时间 date 12121212
    Wed Dec 12 12:12:00 EST 2018
    在这里插入图片描述
    编辑vim /etc/chrony.conf
    #Allow NTP client access from local network.
    allow 172.25.254/24 允许指定主机同步不时间
    #Serve time even if not synchronized to any NTP server.
    local stratum 10 开启接口表示允许同步
    在这里插入图片描述
    systemctl restart chronyd.service 重新启动服务
    关闭火墙systemctl stop firewalld
    在这里插入图片描述
    测试:
    1.查看发送端时间
    在这里插入图片描述
    2.查看接收端时间
    在这里插入图片描述
    查看发送端是否和接收端的时间同步 chronyc sources -v
    在发送端desktop主机执行 chronyc sources -v 命令
    在这里插入图片描述
    同步成功与ip为172.25.254.250主机时间同步。

  7. 系统时间的修改
    timedatectl 命令显示当前时间信息
    在这里插入图片描述
    timedatectl list-timezones 查看当前时区
    在这里插入图片描述
    timedatectl set-timezone Asia/shanghai设置当前时区

    timedatectl set-local-rtc 0 默认情况,RTC------UTC
    在这里插入图片描述
    vim /etc/adjtime文件包括了调整硬件时钟的数据
    在这里插入图片描述
    timedatectl set-local-rtc 1 RTC=local
    在这里插入图片描述
    vim /etc/adjtime
    在这里插入图片描述
    在这里插入图片描述
    timedatectl set-time "2018-10-17 16:05:50"设定当前系统时间
    在这里插入图片描述

  8. journalctl 命令日志查看工具,直接查看内存中的日志
    journalctl 查看存储在内存中的所有日志
    在这里插入图片描述
    journalctl -n 3 查看内存中最近的3行日志
    在这里插入图片描述

    journalctl --since 12:10 --until 12:30:50查看内存中从12:10分开始到12:30:50结束的日志
    在这里插入图片描述
    journalctl -p err 查看报错日志
    在这里插入图片描述
    journalctl -o verbose 查看日志详细参数
    在这里插入图片描述
    实验步骤:
    systemctl status sshd 查看pid
    systemctl restart sshd 重开启一个sshd,每重启一次PID就会不一样
    在这里插入图片描述
    _PID=1179 _COMM=sshd
    在这里插入图片描述

  9. 内存采集日志
    1.对systemd-journald管理
    默认此程序只负责对日志进行查看而不对日志进行保存和采集。
    那么关机后再开机,对日志进行查看,只能查看到开机后的日志,系统之前的日志因为是保存在内存中的,所以关机后就被清空了,那么在开机时用journalctl看不到之前的日志。
    2.如何让systemd-journald保存日志到硬盘中
    步骤如下:
    mkdir /var/log/journal 首先建立journal 日志
    ll -d /var/log/journal/ 查看
    chgrp systemd-journal /var/log/journal/修改日志的组信息(因为只识别systemd-journal组 )
    ll -d /var/log/journal/
    chmod g+s /var/log/journal/
    ls -ld /var/log/journal/
    ps aux | grep systemd-journald
    kill -1 371
    cd /var/log/journal/
    ls
    946cb0e817ea4adb916183df8c4fc817
    cd 946cb0e817ea4adb916183df8c4fc817
    在这里插入图片描述
    journalctl 直接查看
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/excellent_L/article/details/83106895
今日推荐