首页 > 系统相关 >【Linux】日志管理及日志轮询

【Linux】日志管理及日志轮询

时间:2023-04-06 18:42:32浏览次数:33  
标签:log 轮询 centos7 Linux var xinsz08 日志 root


文章目录

  • 日志管理的意义
  • 常用的日志文件:
  • last 查看登录日志内容
  • 清空日志文件
  • 2. /var/log/lastlog 查看最后登录信息
  • 3. /var/log/btmp 用户登录系统的错误信息
  • 问题: 怎么查看一个文件的大小
  • 日志的记录方式:
  • 日志的种类:
  • 日志级别: 重--轻
  • 日志服务:
  • 配置文件:
  • 问题: mail , authpiv ,cron放在哪里
  • 日志输入的规则:
  • 实战案例:
  • 1) 编辑rsyslog的配置文件
  • 2) 定义ssh服务的日志级别
  • 3) 启动rsyslog和sshd服务
  • 4)查看是否生成相关日志
  • 日志切割(轮转)
  • 日志回滚原理:
  • sshd日志回滚实战
  • 1) 修改配置文件
  • 2) 重启rsyslog
  • 3) 强制切割
  • 总结

日志管理的意义

日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到时者留下的痕迹。

日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等

一般情况下我们的日志主要放在哪里?
/var/log

[root@centos7-xinsz08 ~]# ls /var/log
anaconda            httpd              spooler-20200227
audit               lastlog            swtpm
boot.log            libvirt            tallylog
boot.log-20200211   maillog            tuned

常用的日志文件:

btmp 记录登录失败的信息
lastlog 记录最近几次登录事件和最后一次不成功的登录
messages 从syslog 记录信息(有的链接到syslog文件)
utmp 记录当前登录的每一个用户
whmp 系统登录情况: 登入登出

登录信息查看

last 查看登录日志内容

[root@centos7-xinsz08 ~]# last
root     pts/0        192.168.1.4      Thu Feb 27 16:19   still logged in   
reboot   system boot  3.10.0-1062.12.1 Thu Feb 27 16:18 - 14:30  (22:12)

清空日志文件

[root@centos7-xinsz08 ~]# > /var/log/wtmp
[root@centos7-xinsz08 ~]# last

wtmp begins Fri Feb 28 14:32:27 2020
[root@centos7-xinsz08 ~]#

2. /var/log/lastlog 查看最后登录信息

记录的是所有的用户什么时候登录过系统

[root@centos7-xinsz08 ~]# lastlog 
用户名           端口     来自             最后登陆时间
root             pts/0    192.168.1.4      四 2月 27 16:19:22 +0800 2020
bin                                        **从未登录过**
daemon                                     **从未登录过**
adm                                        **从未登录过**

3. /var/log/btmp 用户登录系统的错误信息

[root@centos7-xinsz08 ~]# lastb   //查看登录失败的信息
root     ssh:notty    192.168.1.4      Fri Feb 28 14:36 - 14:36  (00:00)    
root     ssh:notty    192.168.1.4      Fri Feb 28 14:36 - 14:36  (00:00)    
root     ssh:notty    192.168.1.4      Fri Feb 28 14:36 - 14:36  (00:00)    
root     ssh:notty    192.168.1.4      Fri Feb 28 14:36 - 14:36  (00:00)    
root     ssh:notty    192.168.1.4      Fri Feb 28 14:36 - 14:36  (00:00)    

btmp begins Fri Feb 28 14:36:32 2020
[root@centos7-xinsz08 ~]#

备注: 巡检 , 发现/var/log/btmp 变得很大。说明有人在对你的服务器进行暴力破解

问题: 怎么查看一个文件的大小

[root@centos7-xinsz08 ~]# ll -h /var/log/btmp 
-rw-------. 1 root utmp 1.9K 2月  28 14:36 /var/log/btmp

又模拟一下输错命令之后,查看文件大小

[root@centos7-xinsz08 ~]# ll -h /var/log/btmp 
-rw-------. 1 root utmp 4.2K 2月  28 14:39 /var/log/btmp

日志的记录方式:

日志的种类:

daemon     后台进程相关  
kern  	     内核产生的信息
lpr   	          打印系统产生的
authpriv     安全认证
cron   	      定时相关
mail 	      邮件相关
syslog  	  日志服务本身的
news 	      新闻系统
local0~7      自定义的日志设备

local 0->local 7 8个系统保留的类, 供其它的程序使用 /或者是用户自定义

日志级别: 重–轻

  1. emery 紧急, 内核崩溃等严重的信息
  2. alert 警报: 需要立刻修改的信息
  3. crit 关键的错误,已经影响到了整个的系统或者软件不能正常工作的信息
  4. err 错误,阻止某个模块或者程序的功能不能正常使用
  5. warning 警告
    5.notice 注意,正常但是重要的信息
  6. info 正常的信息,一般的信息,最常用的
    7: debug 调试级的信息,日志信息最多

日志服务:

rhel5
服务名称: syslog
配置文件: /etc/syslog.conf

RHEL6-RHEL7
服务名称: rsyslog

配置文件: /etc/syslog.conf

打开文件 /etc/syslog.conf

配置文件:

MODULES 日志的模块

$ModLoad imuxsock 支持本地系统日志的模块
$ModLoad imklog 支持内核日志的模块
$ModLoad immark 支持日志标记
$ModLoad imudp 支持upd协议
$UDPServerRun 514 允许514端口接收使用udp和tcp协议转发过来的日志
$ModLoad imtcp 支持tcp协议

#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
//  内核类型的所有级别的日志  存放到  ——> /dev/consloe
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none               /var/log/messages
// 所有类型的级别是info以上,除了mail,authpiv, cron,

问题: mail , authpiv ,cron放在哪里

authpriv.* 认证的信息–>存放–> /var/log/secure
mail.* 邮件相关的信息->存放–> -/var/log/maillog
cron.* 计划任务相关的信息–>存放–> /var/log/cron
local7.* 开机时显示的信息–>存放–> /var/log/boot.log

日志输入的规则:

-info 高于info级别的信息全部都记录到某个文件里去
.= 级别 仅记录等于某个级别的日志
举例: .=info 只记录 info 级别的日志
.! 级别 除了某个级别意外,记录所有级别信息
举例: .!err 除了err级别,别的级别都记录
.none 指的是排除某个类别

实战案例:

自定义ssh 服务的日志

1) 编辑rsyslog的配置文件

vim  /etc/rsyslog.conf 
# Save boot messages also to boot.log
local7.*                                               /var/log/boot.log

local0.*                                               /var/log/sshd.log

2) 定义ssh服务的日志级别

[root@centos7-xinsz08 ~]# vim /etc/ssh/sshd_config
添加的内容如下:

SyslogFacility local0

3) 启动rsyslog和sshd服务

120  systemctl  restart rsyslog
  121  systemctl  restart sshd

4)查看是否生成相关日志

122  cd /var/log/
 124  more sshd.log
[root@centos7-xinsz08 log]# more sshd.log 
Feb 28 15:29:08 centos7-xinsz08 sshd[22837]: Server listening on 0.0.0.0 port 2
2.
Feb 28 15:29:08 centos7-xinsz08 sshd[22837]: Server listening on :: port 22.

备注: 对应信息: 时间 - 主机-服务-进程ID -监听的相关信息

日志切割(轮转)

在linux下的日志会定期进行滚动增加,我们可以在线对正在进行回滚的日志进行指定大小的切割(动态),如果这个日志是静态的。比如没有应用向里面写内容。那么我们也可以用split工具进行切割;其中Logrotate支持按时间和大小来自动切分,以防止日志内容将包含/var/log的文件系统填满。

logrotate 配置文件:
/etc/ logrotate.conf /etc/ lograte.conf.d/

logrotate的执行由crond服务实现。在/etc/cron.daily目录中,有个文logrotate,它实际上是个shell script,用来启动logrotate

[root@centos7-xinsz08 log]# cd /etc/cron.daily/
[root@centos7-xinsz08 cron.daily]# ls
logrotate  man-db.cron  mlocate

logrotate程序每天由cron在指定的时间(/etc/crontab)启动

日志回滚原理:

当日志达到某个特定的大小,我们将日志分类,之前的日志保留一个备份,再产生的日志创建一个同名的文件保存新的日志.

sshd日志回滚实战

1) 修改配置文件

[root@centos7-xinsz08 log]# vim /etc/logrotate.conf

/var/log/sshd.log {   // 指定的是要切割的日志文件
    missingok         //如果文件丢失不报错
    
    monthly      //每月轮换一次
    create 0664 root utmp  //设置sshd.log这个文件的属主和属组
    minsize 10M      文件超过10M进行回滚
    rotate 2          日志进行分割后,保留两份历史数据
}

2) 重启rsyslog

systemctl restart rsyslog

3) 强制切割

logrotate –vf /etc/logrotate.conf

[root@centos7-xinsz08 log]# ll sshd.log
-rw-rw-r--. 1 root utmp 0 2月  28 16:06 sshd.log
//切割完之后,源文件大小变为0

总结

日志切割,是可以按照文件的大小和时间来进行切割,也可以使用shell脚本来实现。


标签:log,轮询,centos7,Linux,var,xinsz08,日志,root
From: https://blog.51cto.com/zmedu/6174005

相关文章

  • 【linux】mdadm-raid1管理
    文章目录回顾:raid1原理:实验内容:1)创建分区2)创建raid13)将RAID1信息保存到配置文件中4)检查我们的磁盘阵列5)在raid设备上创建文件系统并挂载6)创建测试文件,看如果一块磁盘坏掉,数据是否丢失7)模拟损坏(sdd1盘坏掉了)8)移除坏掉的设备,同时另外加一个备份盘9)增加一块热备盘总结:回顾:rai......
  • 【linux】RAID磁盘阵列介绍
    文章目录RAID概念RAID分类raid0特点:RAID5RAID10RAID磁盘失效如何处理热备硬raid的介绍RAID概念RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。RAID的创建有两种方式:软RAID(通过操作系统软件......
  • 二、linux学习笔记
    二、Linux学习笔记命令:命令本体command+选项,控制命令的行为细节[-options]+参数,控制命令的指向目标[parameter)]1、ls命令,作用是列出目录下的内容,语法如下:ls[-a-l-h][linux路径]ls-l-als-lals-al三种写法都是一样的,同时应用-l(竖向排列展示内容)和-a(列出所有文件夹,包含隐藏的)功......
  • 【Linux】循序渐进学运维-服务篇-nginx入门
    文章目录nginx介绍nginx最新版本号nginx与apache的对比1、nginx相对于apache的优点:2.apache相对于nginx的优点:编译安装nginx1.安装依赖包2.下载nginx包3.解压安装a.解压b.编译&&编译安装c.启动d.查看是否启动nginx的目录结构主要的配置参数nginx介绍Nginx(enginex)......
  • 【Linux】wordpress后台设置
    文章目录一.个人资料1.点击右上角的个人名称:选中编辑我的个人资料2.按下图进行修改二.设置--常规选项三.文章分类一.个人资料1.点击右上角的个人名称:选中编辑我的个人资料2.按下图进行修改二.设置–常规选项三.文章分类登陆后台-文章-分类目录Linux基础,web应用,中间件,数......
  • 【Linux】apache服务相关概念及安装
    文章目录web服务概述什么是apachehttpd工作模型apache的安装及应用1.apache的安装2.启动:3.设置开机启动:4.查看httpd的进程及端口号httpd的程序环境查看运行情况方法1:浏览器输入IP,可以查看到已经运行方法2:elinks命令测试总结web服务概述WEB服务器也称为WWW(WORLDWIDEWEB,万......
  • Linux下使用rm删除文件,并排除指定文件
    rm是我们在Linux下删除文件经常用到的命令,但是有时候我们目录下有很多个文件想要删除,偏偏却要保留其中1个或几个文件,那怎么办呢?很多新手朋友可能会采取一个一个文件删除的方法来操作,但是如果文件很多呢?删到啥时候啊~~ 今天我们就来教大家使用rm命令删除文件的时候如何排除指定......
  • Linux - vi & vim 编辑器
    vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。   基本上vi/vim共分为三种模式,分别是命令模式、输入模式和(不想写了,访问:htt......
  • Linux系统介绍
    什么是Linux?可以运行在PC机上类似于Unix风格的操作系统,由众多程序员通过Internet协作开发Linux是开源的开源好处:自由软件——使用自由、研究自由、散布自由、改良自由Linux系统结构:Linux操作系统由内核及应用程序组成。不同的厂商根据各自的需要将各种应用软件和Linux内核一起打包......
  • 【webserver 前置知识 03】Linux网络编程入门其二,I/O多路复用
    I/O多路复用I/O多路复用使得程序能够同时监听多个文件描述符LInux下实现I/O多路复用的系统调用主要由select、poll以及epoll(常问,要会自己写出来)例子阻塞等待阻塞等待可以一定程度上提高程序运行的效率优点是:不占用cpu的时间片;缺点是:同一时刻只能处理一个操作,效率较低;使用......