首页 > 系统相关 >linux日志管理

linux日志管理

时间:2023-05-18 12:01:27浏览次数:42  
标签:文件 轮转 log 配置文件 管理 linux var 日志


Linux计划任务

日志管理

日志进程

rsyslog是系统中的一个程序,用来记录操作系统的一言一行,它主要关心的是哪类程序,产生了什么日志,放到什么地方。

日志的分类
  • 第一类
    处理绝大部分的日志记录,主要是与操作系统有关的信息,比如登录信息,程序启动关闭信息,错误信息。
  • 第二类
    比如:httpd/nginx/mysql:处理各类的应用程序,可以以自己的方式记录日志
观察rsyslogd程序
ps aux | grep rsyslogd

linux日志管理_调度程序


查看它的进程号,如果有一天程序不记录日志了,这就说明了这个进程有问题,找到它并且让它重新启动就可以了。

/usr/sbin/rsyslogd -n

常见的日志文件一般存放在/var/log/中。

cd /var/log/

linux日志管理_调度程序_02


这里绝大部分的文件都会带有一个后缀名.log 这些文件中有一个文件叫messages是这个计算机的主日志文件,记录了计算机运行时候的大事小情,所以要查看这个文件。

这个文件行数很多,所以建议使用tail来进行查看。

tail -1 /var/log/messages

linux日志管理_配置文件_03


这行记录可以给我们提供的信息是:

Dec 2 15:34:02代表时间
localhost systemd:代表主机名
剩下的代表消息

打开多个终端,一个终端使用tail -f /var/log/messages 或者是tailf /var/log/messages ,一个终端可以随意敲击一些命令,观察messages的终端,会发现一件事,随着敲击的命令时,messages文件中也会多出多行信息,由此可以看出这个文件可以记录我们在计算机中的操作。

linux日志管理_日志文件_04

tailf /var/log/yum.log # 记录yum在操作时的日志

linux日志管理_日志文件_05

tailf /var/log/secure # 记录认证,安全方面的日志,比如授权,登录

linux日志管理_调度程序_06

tailf /var/log/maillog # 记录跟邮件postfix相关的日志
tailf /var/log/cron # 记录跟crond、at进程产生的日志
tailf /var/log/dmesg # 记录和系统启动相关的日志
rsyslogd配置
  • 如果发现你自己的centos7计算机中的rsyslog有问题,可以通过重新安装进行修复一下
yum reinstall rsyslog logrotate
  • 启动该程序
systemctl start rsyslog.service
  • 相关文件
    查询这个程序软件包的相关信息
rpm -q rsyslog

列出所有已经安装过的包的信息

rpm -qa

linux日志管理_调度程序_07


列出rsyslog的所有文件

rpm -ql rsyslog

linux日志管理_配置文件_08


查看已经安装过的程序的配置文件

rpm -qc rsyslog

linux日志管理_调度程序_09


接下来简单介绍一下这些配置文件:

/etc/rsyslog.conf这是rsyslogd的主配置文件
/etc/sysconfig/rsyslog这是rsyslogd的相关文件,定义级别
/etc/logrotate.d/syslog这是和日志轮转相关的文件
在linux中如果使用命令 --help 查询还是没有收获的话,可以推荐使用man 命令 来进行查询命令的相关信息。

man rpm

linux日志管理_日志文件_10


这样这个命令的详细信息就看到了。

在今后会学习很多的程序,他们的配置文件有个共同的特征,都在/etc/程序名.conf 中。

讲解一下rsyslog的主配置文件

linux日志管理_配置文件_11


可以访问它的官网

linux日志管理_日志文件_12


在这个配置文件中,有许多选项,按钮,如果你想把它打开就将#去掉,关闭就加上#

在这个配置文件中,到第46行,代表规则,主要讲了哪些程序产生了哪些日志存放在哪些地方。

linux日志管理_日志文件_13


随便找一行,比如第64行:

cron.* 调度程序
/var/log/cron这是调度程序存放的位置
cron.* 中的星号代表任何级别(日志的重要性,越往下越低):OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL

  • RULES
    在这个rsyslogd主配置文件中,有一个参数RULES特别重要
    RULES代表规则,有三部分组成,是一套生成日志和存储日志的策略。
    (规则由设备+级别+存放位置)组成
    (RULES由FACLITY+LEVEL+FILE)组成。
    例如:

authpriv.* /var/log/secure(ssh信息)
mail.* /var/log/maillog(发邮件)
cron.* /var/log/cron(创建任务)

  • faclity是什么?
grep Facility /etc/ssh/sshd_config

linux日志管理_配置文件_14


Syslog中的sys代表的是system系统,log是日志,syslog是系统日志,Facility是设备,AUTHPRIV:代表认证提供的设备。

常见的设备

log_syslog这是syslog自身产生的日志
log_authpriv安全认证
log_cron 调度程序
log_mail邮件系统
log_user用户相关

facility是系统对某种类型的APP事件的定义,比如authpriv是安全事件,用来收集同类日志。
可以使用man 3 syslog 进行查看。

  • level是什么?

*代表任意级别
log_emerg 紧急,致命,服务无法继续运行,比如配置文件丢失
log_alert报警,需要立即处理
log_crit致命行为
log_err错误行为
log_warning警告信息
log_notice普通的,重要的标准信息
log_info标准信息
log_debug调试信息,排错所需,一般不建议使用。

(级别从下到上依次减少,内容依次减少)

mail.* -/var/log/maillog

(这里的- 代表的是异步,在网络中有同步和异步的说法,同步指的是同时,异步是在不同的时间)

linux日志管理_配置文件_15


查看rsyslog进程的相关信息

ps aux | grep rsyslog

重新装载rsyslog程序的配置文件

kill -1 1110

举例:

在Linux软件安装的时候,我们安装了一个httpd,这是一个网站的应用程序

可以使用systemctl start httpd启动一下程序,之后访问网站:127.0.0.1,同时在命令行中输入tailf /var/log/httpd/assecc_log 来查看httpd的日志

linux日志管理_配置文件_16


linux日志管理_linux_17


当我们按下刷新时,这个日志也会跟着增长。

日志轮转

日志轮转的简介

日志记录了程序运行时的各种信息,通过日志可以分析用户的行为,记录运行轨迹,查找程序问题,可惜磁盘的空间是有限的,日志轮转就像飞机中的黑匣子,记录的信息再重要也只可以记录最后一段时间发生的事情,为了节省空间和整理方便,日志文件经常按时间或者大小等维度分成多份,删除时间比较久远的文件。

按照配置进行轮转
  • 配置文件的种类
    主配置文件:/etc/logrotate.conf(决定每一个日志文件如何轮转)
    子文件夹:/etc/logrotate.d/*
  • 观察主文件和子文件
    观察yum的主配置文件和子配置文件
cd /etc/yum
ls -d -l /etc/yum.conf /etc/yum.repos.d

linux日志管理_调度程序_18


yum.conf代表的是主配置文件,yum.repos.d是子配置文件夹

观察日志轮转的主配置文件和子配置文件夹

ls /etc/logrotate.conf /etc/logrotate.d

linux日志管理_日志文件_19

查看日志轮转的主配置文件

vim /etc/logrotate.conf

日志轮转的主配置文件的内容如下,

# see "man logrotate" for details,可以使用man logrotate详细查看
   # rotate log files weekly
   weekly# weekly代表轮转的周期,是一周轮转
   # keep 4 weeks worth of backlogs
   rotate 4# 代表保留4份
   # create new (empty) log files after rotating old ones
   create# 代表轮转后创建新的文件
  # use date as a suffix of the rotated file
  dateext# dateext有两个部分,date时间extend扩展,总结起来就是以时间作为文件的扩展名
  # uncomment this if you want your log files compressed
  # compress代表压缩,将文件在轮转之后再压缩一下。
  # RPM packages drop log rotation information into this directory
  include /etc/logrotate.d# include代表包含,include 包含子配置文件夹
  # no packages own wtmp and btmp -- we'll rotate them here
  /var/log/wtmp {
      # /var/log/wtmp和系统登录的用户有关系,系统当中登录过哪些用户就记录再用户登录日志文件,wtmp存储的是当前的用户的登录,可以用w(who)命令查看
      # 我们可以在配置文件中书写日志的名字和大括号,就可以独立设定该日志的轮转规则,也就是明确要求的日志轮转周期就按明确要求的去轮转,没有明确要求的就按全局的周期去轮转。
      monthly# 一个月轮转一次
      create 0664 root utmp# 创建一个新的日志文件,0664代表的权限,root代表属主,utmp代表属组,总结就是创建的一个新的日志文件的权限是0664主人是root组是utmp。
      minsize 1M# 最小达到1M才轮转,如果不到1M是不会切的,这里是两个条件都要达到才可以切。
      rotate 1# 保留1份
      # {}代表的是范围。
  }
  /var/log/btmp {
      missingok# missing代表丢失,意思是丢失不提示
      monthly
      create 0600 root utmp# 轮转后创建新的文件并且设置权限
      rotate 1
  }
  # system-specific logs may be also be configured here.

日志轮转的主配置文件中有这么一段代码:

rotate 4# 代表保留4份

什么叫保留4份?
可以拿/etc/log/yum.log 来进行说明
我们在安装centos7的时候就已经有了yum.log,当日志多了之后,就会对日志进行切割,怎么切割呢?对日志文件进行重命名操作,不是重新创建一个日志文件。
也就是:

mv yum.log yum.log-20201228

当日志文件逐渐增多时,比如说有6个日志文件,系统会将老的日志文件给丢弃掉,将最近的4份日志文件保留下来。
主配置文件是程序启动必须要运行的文件。
轮转周期有两大维度,时间和大小。
接下来用对yum日志轮转进行举例

  • 创建一个日志文件
vim /etc/logrotate.d/yum

linux日志管理_配置文件_20


对这个日志文件进行修改调试:

/var/log/yum.log {
    missingok
    daily
    rotate 3
    create 0600 root root
}

保存并且退出。
使用cat查看一下。
接下来测试:

接下来要修改时间,手动的去触发轮转

date 040110000# 使用date修改时间,月日时分,每个两位数。

开始日志轮转了

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf

查看轮转的结果

ls /var/log/yum* -l

linux日志管理_日志文件_21


日志文件出现了多个,这表明轮转成功了。

可以使用cat查看一下

cat /var/lib/logrotate/logrotate.status

Linux网络管理


标签:文件,轮转,log,配置文件,管理,linux,var,日志
From: https://blog.51cto.com/u_15016660/6296661

相关文章

  • linux网络管理实战-->中述篇
    前文回顾:linux网络管理实战–>理论篇文章目录linux网络管理实战-->中述篇物理层信号介质数据链路层地址帧封装交换机的工作原理组建局域网VLAN-->交换机的灵魂Trunklinux网络管理实战–>中述篇物理层信号信号的分类:模拟信号不断变化的物理量,通常适用于不断变化的电话网络数字信号......
  • Linux挂载数据盘
    1、如果磁盘没有分区,首先要对磁盘进行分区输入命令:lsblk, 可以看到要挂载的sdd盘没有part分区,那么就要对他分区分区步骤:创建一个单分区数据盘,依次直接执行以下命令:a、运行fdisk/dev/sdd:对数据盘进行分区;b、输入n并按回车键:创建一个新分区;c、输入p并按回车键:选择......
  • 如何查看Linux有哪些进程
    ​在Linux中,可以使用以下命令查看当前系统中运行的进程:ps命令:用于显示当前系统中的进程信息。psaux该命令会显示所有进程的详细信息,包括进程ID、父进程ID、CPU占用率、内存占用率、进程状态等。top命令:用于实时显示当前系统中的进程信息。top该命令会实......
  • Linux Pycharm 创建虚拟环境并应用
    (1)10.9.54.154面板输入:condacreate--nameTransUnetpython=3.7 (2)安装相应包,选择y (3)查看已有的虚拟环境:condainfo--envs (4)pycharm加载虚拟环境:file,settings,pythoninterpreter,addinterpreter,virtuaienvenvironment,existing,...,anaconda3,envs,Transun......
  • Linux系统学习须牢记这几点
    工欲善其事须先利其器,想了解Linux技术,先要有一套教学平台,请教同行或者老师来为我们解答,当然也可以下载Cygwin进行学习。但是自主学习的这一过程很困难,因为没有别人的帮助,我们或许会感到迷茫,也会出现不知所措的情况,所以这个问题也经常在困扰我。我之前尝试过下载这个软件,但是整整......
  • 产废单位EPM+SAP产废企业数字化管理解决方案——环保数字化转型利器
    哲讯产废单位EPM+SAP产废企业数字化解决方案随着环保部门对重点产废单位监管的日益加强,产废企业必须要做好内部危废转移管理。基于成熟的危废管理系统衍生产品“产废管理系统”,可以帮助产废企业规范化管理内部危废的转运与处置,轻松应对环保监管。系统设计遵循开放性原则,各系统采......
  • Linux查看TCP连接状态
    Linux查看TCP连接状态命令natstat-natTCP状态解析LISTEN:侦听来自远方的TCP端口的连接请求ESTABLISHED:连接已建立CLOSED:没有任何连接状态三次握手:SYN-SENT:在发送连接请求后等待匹配的连接请求SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认四次挥......
  • 正点原子Linux第31章《Uboot顶层Makefile详解》学习
    uboot目录结构1. 文件夹arch:存放关于CPU架构的代码2. 文件夹board:存放关于特定开发板的代码3. 文件夹configs:存放uboot的配置,文件的格式为:xxxxx.deconfig,通过编译(make),生成.config文件。4. 文件u-boot.xxx,大多数为编译相关的或者编译生成的目标文件,例如uboot.imx等等......
  • MySQL在Linux中的安装
    MySql安装1、下载mysql安装包再mysql官方下载安装包2、删除依赖包#查找依赖包rpm-qa|grepmysqlrpm-qa|grepMySQLrpm-qa|grepmariadb#删除查询到的依赖包rpm-e--nodepsmariadb-libs-5.5.68-1.el7.x86_643、安装mysql#将安装包上传到linux中mysq......
  • nerd font linux install
    sudoapt-getinstallttf-mscorefonts-installersudoapt-getinstallfontconfigwget-chttps://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.1/SourceCodePro.zipsudounzipSourceCodePro-d/usr/share/fonts/SourceCodeProcd/usr/share/fonts/SourceCod......