Linux的日志管理

日志管理服务rsyslogd

配置文件

| 日志类型             | 说明                                |
| -------------------- | ----------------------------------- |
| auth                 | pam产生的日志                       |
| authpriv             | ssh、ftp等登录信息的验证信息        |
| corn                 | 时间任务相关                        |
| kern                 | 内核                                |
| lpr                  | 打印                                |
| mail                 | 邮件                                |
| mark(syslog)-rsyslog | 服务内部的信息,时间标识            |
| news                 | 新闻组                              |
| user                 | 用户程序产生的相关信息              |
| uucp                 | unix to nuix copy主机之间相关的通信 |
| local 1-7            | 自定义的日志设备                    || 日志级别 | 说明                                                 |
| -------- | ---------------------------------------------------- |
| debug    | 有调试信息的,日志通信最多                           |
| info     | 一般信息日志,最常用                                 |
| notice   | 最具有重要性的普通条件的信息                         |
| warning  | 警告级别                                             |
| err      | 错误级别,阻止某个功能或者模块不能正常工作的信息     |
| crit     | 严重级别,阻止整个系统或者整个软件不能正常工作的信息 |
| alert    | 需要立刻修改的信息                                   |
| emerg    | 内核崩溃等重要信息                                   |
| none     | 什么都不记录                                         |

日志格式

由日志服务rsyslogd记录的日志文件,日志文件的格式包含以下4列
时间产生的时间
产生事件的服务器的主机名
产生事件的服务名或程序名
事件的具体信息

查看日志

查看一下/var/log/secure日志,这个日志中记录的是用户验证和授权方面的信息来分析如何查看

自定义日志

使用vim编辑器修改/etc/rsyslog.conf配置文件,给该文件中添加一行日志配置信息
*.*                                                     /var/log/giles.log[root@server01 log]# systemctl restart rsyslog
[root@server01 log]# echo "">giles.log
[root@server01 log]# cat giles.logAug  3 16:02:55 server01 sshd[9643]: Accepted password for giles from 192.168.253.1 port 53873 ssh2
Aug  3 16:02:55 server01 systemd: Created slice User Slice of giles.
Aug  3 16:02:55 server01 systemd: Started Session 22 of user giles.
Aug  3 16:02:55 server01 systemd-logind: New session 22 of user giles.
Aug  3 16:02:55 server01 sshd[9643]: pam_unix(sshd:session): session opened for user giles by (uid=0)
Aug  3 16:02:55 server01 dbus[6458]: [system] Activating service name='org.freedesktop.problems' (using servicehelper)
Aug  3 16:02:55 server01 dbus[6458]: [system] Successfully activated service 'org.freedesktop.problems'

日志轮替

logratate配置文件

[root@server01 log]# vim /etc/logrotate.conf 
# rotate log files weekly 每周对日志文件进行一次轮替
weekly
# keep 4 weeks worth of backlogs 共保存4份日志文件,当建立新的日志文件时,旧的将会被删除
rotate 4
# create new (empty) log files after rotating old ones 创建新的空的日志文件,在日志轮替后
create
# use date as a suffix of the rotated file 使用日期作为日志轮替文件的后缀
dateext
# uncomment this if you want your log files compressed 日志文件是否压缩,如果取消注释,则日志会在转储的同时进行压缩
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
#包含/etc/logrotate.d/目录中所有的子配置文件。也就是说把这个目录中所有子配置文件读取进来
#下面是单独设置,优先级更高
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {monthly #每月对日志文件进行一次轮替create 0664 root utmp #建立的新日志文件,权限是0664,属主root,属组是utmpminsize 1M #日志文件最小轮替大小是1MB,也就是日志一定要超过1MB才会轮替,否则就算时间达到一个月,也不进行日志转储rotate 1 #仅保留一个日志备份。也就是只有wtmp和wtmp.1日志保留而已
}
/var/log/btmp {missingok  #如果日志不存在,则忽略该日志的警告信息monthlycreate 0600 root utmprotate 1
}| 参数                    | 说明                                                         |
| ----------------------- | ------------------------------------------------------------ |
| daily                   | 日志的轮替周期是每天                                         |
| weekly                  | 日志的轮替周期是每周                                         |
| monthly                 | 日志的轮替周期是每月                                         |
| rotate数字              | 保留的日志文件的个数。0指没有备份                            |
| compress                | 日志轮替时,旧的日志进行压缩                                 |
| create mode owner group | 建立新日志,同时指定新日志的权限与所有者和所属组。如create 0600 root utmp |
| mail address            | 当日志轮替时,输出内容通过邮件发送到指定的邮件地址。         |
| missingok               | 如果日志不存在,则忽略该日志的警告信息                       |
| notifempty              | 如果日志为空文件,则不进行日志轮替                           |
| minsize大小             | 日志轮替的最小值,也就是日志一定要达到这个最小值才会轮替,否则就算时间达到也不轮替 |
| size 大小               | 日志只要大于指定大小才进行日志轮替,而不是按照时间轮替       |
| dateext                 | 使用日期作为日志轮替文件的后缀                               |
| sharedscripts           | 在此关键字之后的脚本只执行一次                               |
| prerotate/endscript     | 在日志轮替之前执行脚本命令                                   |
| postrotate/endscript    | 在日志轮替之后执行脚本命令                                   |

自定义日志轮替

在/etc/logrotate.d目录下创建admin.log文件
通过vim命令进行编辑,具体编辑的内容如下
/var/log/admin.log{monthlysize=10Mrotate 5compress
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/905859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【PhysUnits】4.1 类型级比特位实现解释(boolean.rs)

一、源码 该代码实现了一个类型级(type-level)的布尔系统,允许在编译时进行布尔运算。 //! 类型级比特位实现 //! //! 这些是基础的比特位类型,作为本库中其他数值类型的构建基础 //! //! 已实现的**类型运算符**: //! //! - 来自 core::op…

【docker】--数据卷挂载

文章目录 存储卷管理创建存储卷查看存储卷详细信息查看存储卷删除存储卷 存储卷管理 # 目录挂载 docker run -v 本机目录:容器目录#1) # 将容器内部的 “/usr/share/nginx/html” 进行持久化挂载 会在宿主机生成一个随机的存储卷 docker run -v /usr/sh…

双重差分模型学习笔记2(理论)

【DID最全总结】90分钟带你速通双重差分!_哔哩哔哩_bilibili 目录 一、staggered DID 交错双重差分 二、动态双重差分 动态双重差分法公式解释 符号解释 公式逻辑与案例 与标准DID的区别 总结 “双减” 政策动态差分模型 (一)设定处…

预测模型开发与评估:基于机器学习的数据分析实践

在当今数据驱动的时代,预测模型已成为各行各业决策制定的核心工具。本文将分享我在COMP5310课程项目中开发预测模型的经验,探讨从数据清洗到模型优化的完整过程,并提供详细的技术实现代码。 ## 研究问题与数据集 ### 研究问题 我们的研究聚焦…

Java 并发编程归纳总结(可重入锁 | JMM | synchronized 实现原理)

1、锁的可重入 一个不可重入的锁,抢占该锁的方法递归调用自己,或者两个持有该锁的方法之间发生调用,都会发生死锁。以之前实现的显式独占锁为例,在递归调用时会发生死锁: public class MyLock implements Lock {/* 仅…

数据治理域——数据同步设计

摘要 本文主要介绍了数据同步的多种方式,包括直连同步、数据文件同步和数据库日志解析同步。每种方式都有其适用场景、技术特点、优缺点以及适用的数据类型和实时性要求。文章还详细探讨了数据直连同步的特点、工作原理、优点、缺点、适用场景等,并对数…

AI人工智能在教育领域的应用

AI人工智能在教育领域的应用 随着科技的飞速发展,人工智能(AI)逐渐成为推动教育变革的重要力量。AI在教育领域的应用不仅改变了传统的教学模式,还为个性化学习、教育资源优化和教育管理带来了前所未有的机遇。本文将从多个方面探…

ohttps开启群晖ssl证书自动更新

开启群晖ssl证书自动更新OHTTPS ohttps是一个免费自动签发ssl证书、管理、部署的项目。 https://ohttps.com 本文举例以ohttps项目自动部署、更新群晖的ssl证书。 部署 签发证书 打开ohttps-证书管理-创建证书-按你实际情况创建证书。创建部署节点 打开Ohttps-部署节点-添加…

ElasticSearch聚合操作案例

1、根据color分组统计销售数量 只执行聚合分组,不做复杂的聚合统计。在ES中最基础的聚合为terms,相当于 SQL中的count。 在ES中默认为分组数据做排序,使用的是doc_count数据执行降序排列。可以使用 _key元数据,根据分组后的字段数…

SQLite 数据库常见问题及解决方法

一、数据库文件锁定问题 1. 问题表现 在多线程或多进程环境下访问 SQLite 数据库时,常常会出现数据库文件被锁定的情况。当一个进程对数据库执行写操作时,其他进程的读写操作都会被阻塞,导致应用程序出现卡顿甚至无响应。比如在移动应用开发…

DeepSeek基础:PPO、DPO、GRPO概念详解

DeepSeek-R1 的强化学习方案中,其亮点之一在于通过 GRPO 算法取代RLHF 常用的 PPO,通过尽可能减少人类标注数据,设计纯 RL 的环境,用精心设计的奖励机制来训练模型自己学会推理。那么什么是PPO、GRPO,其产生的背景、核…

一分钟了解机器学习

一分钟了解机器学习 A Minute to Know About Machine Learning By JacksonML 1. 什么是机器学习? 机器学习(Machine Learning,ML) 是人工智能的分支,通过从数据中自动学习规律,使计算机无需显式编程即可完成任务。…

mvc-service引入

什么是业务层 1)Model1(JSP)和Model2(模糊的mvc): MVC:Model(模型),View(视图),Controller(控制器) 视图层:用于数据展示以及用户交互的界…

第一次做逆向

题目来源:ctf.show 1、下载附件,发现一个exe和一个txt文件 看看病毒加没加壳,发现没加那就直接放IDA 放到IDA找到main主函数,按F5反编译工具就把他还原成类似C语言的代码 然后我们看逻辑,将flag.txt文件的内容进行加…

docker(四)使用篇二:docker 镜像

在上一章中,我们介绍了 docker 镜像仓库,本文就来介绍 docker 镜像。 一、什么是镜像 docker 镜像本质上是一个 read-only 只读文件, 这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必须的文件。 我们可以把…

k8s 1.10.26 一次containerd失败引发kubectl不可用问题

k8s 1.10.26 一次containerd失败引发kubectl不可用问题 开机k8s 1.10.26时,报以下错误 [rootmaster ~]# kubectl get no E0515 08:03:00.914894 7993 memcache.go:265] couldnt get current server API group list: Get "https://192.168.80.50:6443/api?…

今日积累:若依框架配置QQ邮箱,来发邮件,注册账号使用

QQ邮箱SMTP服务器设置 首先,我们需要了解QQ邮箱的SMTP服务器地址。对于QQ邮箱,SMTP服务器地址通常是smtp.qq.com。这个地址适用于所有使用QQ邮箱发送邮件的客户端。 QQ邮箱SMTP端口设置 QQ邮箱提供了两种加密方式:SSL和STARTTLS。根据您选…

无缝部署您的应用程序:将 Jenkins Pipelines 与 ArgoCD 集成

在 DevOps 领域,自动化是主要目标之一。这包括自动化软件部署方式。与其依赖某人在部署软件的机器上进行 rsync/FTP/编写软件,不如使用 CI/CD 的概念。 CI,即持续集成,是通过代码提交创建工件的步骤。这可以是 Docker 镜像&#…

4.2.3 Thymeleaf标准表达式 - 5. 片段表达式

在本次实战中,我们通过 Thymeleaf 的片段表达式实现了模板的模块化和复用。首先,我们定义了一个导航栏片段 navbar,并通过参数 activeTab 动态高亮当前激活的标签。然后,我们在多个页面(如主页、关于页和联系页&#x…

网安面试经(1)

1.说说IPsec VPN 答:IPsec VPN是利用IPsec协议构建的安全虚拟网络。它通过加密技术,在公共网络中创建加密隧道,确保数据传输的保密性、完整性和真实性。常用于企业分支互联和远程办公,能有效防范数据泄露与篡改,但部署…