2_3.Linux系统中的日志管理

 # 1.journald #

服务名称:systemd-journald.service
journalctl
默认日志存放路径: /run/log

(1) journalctl命令的用法

journalctl
-n 3 ##日志的最新3条--since "2020-05-01 11:00:00" ##显示11:00后的日志
--until "2020-05-01 11:05:00" ##显示日志到11:05-o ##设定日志的显示方式
# short 经典模式显示日志
# verbose 显示日志的全部字节
# export 适合传出和备份的二进制格式
# json js格式显示输出-p ##显示制定级别的日志
#0 emerg 系统的严重问题日志
#1 alert 系统中立即要更改的信息
#2 crit 严重级别会导致系统软件不能正常工作
#3 err 程序报错
#4 warning 程序警告
#5 notice 重要信息的普通日志
#6 info 普通信息
#7 debug 程序拍错信息-F PRIORITY ##查看可控日志级别-u sshd ##指定查看服务--disk-usage ##查看日志大小
--vacuum-size=1G ##设定日志存放大小
--vacuum-time=1W ##日志在系统中最长存放时间-f ##监控日志
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service

 

 ​​​​​

 ​​​​​

 

(2)用journald服务永久存放日志

系统中默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理

要永久保存日志请完成以下操作:

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service

当服务重启日志存放路径会被制定到:/var/log/journal 

测试:
1.在操作以上步骤之前查看日志
2.重启系统
3.再次查看日志
4.可以看到日志是不会被保存下来的只能看到重启之后的日志
5.完成以上操作后再次重启系统可以看到日志是被保存下来的

 

# 2.rsyslog #

服务名称:rsyslog.service
日志存放: 
/var/log/messages #系统服务日志,常规信息,服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log #系统启动日志信息
配置文件:/etc/rsyslog.conf

(1)自定义日志采集路径

vim /etc/rsyslog.conf
日志类型.日志级别 日志存放路径
*.* /var/log/westos                  ##把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos    ##把系统中所有级别的日志存放到westos中##但是authpriv不存放到westos中

日志类型
auth #用户认证
authpriv #服务认证
cron #时间任务
kern #内核类型
mail #邮件
news #系统更新信息
user #用户
日志级别
debug #程序排错信息
info #程序常规运行信息
notice #重要信息的普通日志
waring #程序警告
err #程序报错
crit #严重级别会导致系统软件不能正常工作
alert #系统中立即要更改的信息
emerg #系统的严重问题日志
none #不采集 

 

 ​​​​

(2)如何更改日志采集格式

1.定义日志采集格式

$template WESTOS_FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
#WESTOS_FORMAT: 格式名称
#%FROMHOST-IP%: 日志来源主机IP
#%timegenerated%: 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行

2.设定日志采集格式应用

*.*;authpriv.none /var/log/westos;WESTOS
module(load="builtin:omfile" Template="WESTOS_FORMAT") ##默认采用WESTOS_FORMAT格式

(3)日志的远程同步

nodea:192.168.1.111 存放日志作为日志接受端,所有人日志都存放到此台主机
nodeb:192.168.1.222 发送日志到nodea主机中

 ①在nodea中设定接受所有人的日志

systemctl stop firewalld 
vim /etc/rsyslog.conf
19 module(load="imudp") ##打开日志接受插件
20 input(type="imudp" port="514") ##指定插件使用接口
systemctl restart rsyslog
查询端口:
root@rhel7_node1 ~]# netstat -antlupe | grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:* 0 
67600 11115/rsyslogd 
udp6 0 0 :::514 :::* 0 
67601 11115/rsyslogd

②nodeb中设定发送日志到nodea中 

vim /etc/rsyslog.conf
*.* @172.25.254.20
systemctl restart rsyslog
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.20 把本机日志用udp的传输方式发送到172.25.254.20主机

③测试 

在nodea和nodeb中:

> /var/log/messages   ##清空文件

在nodeb中:

logger westos test message


在nodea中可以看到nodeb中生成的日志

# 3.timedatectl #

timedatectl set-time "2020-02-13 10:41:55" ##设定系统时间
timedatectl list-timezones ##显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" ##设定系统时区
timedatectl set-local-rtc 0|1 ##设定系统时间计算方式##0表示使用utc时间计算方式

# 4.时间同步服务 #

#服务名称: chronyd.service
#配置文件: /etc/chrony.conf

①在111主机上,使用/etc/chrony.conf更改配置,然后重启服务

vim /etc/chrony.conf
26 allow 172.25.254.0/24 ##允许172.25.254.0网段主机同步时间
29 local stratum 10 ##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemctl stop firewalld

 

 ②在222主机上设定,并重启服务

vim /etc/chrony.conf
pool 172.25.254.100 iburst
systemctl restart chronyd

③查看效果

在nodeb中查看时间:
现实已经变成nodea中时间
使用chronyc 命令查看时间效果:
[root@nodeb ~]# chronyc sources -v210 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
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample 
===============================================================================
^* 172.25.254.11 10 6 17 15 -6970ns[+8437ns] +/- 180us

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

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

相关文章

基于STM32的汽车防窒息系统

文章目录 基于STM32的汽车防窒息系统系统简介材料展示视频制作硬件连接原理图PCB实物图GSM模块使用GSM模块代码 SGP30模块SGP30模块代码 步进电机驱动步进电机代码 其他模块主逻辑代码 总结 基于STM32的汽车防窒息系统 系统简介 随着社会的发展目前汽车的流行,汽车大…

GPT带我学-设计模式11-组合模式

设计模式类型 结构型设计模式 使用场景 将对象组合成树状结构来表现"部分-整体"的层次结构。这种模式能够使得客户端对单个对象和组合对象的使用具有一致性。这句话太抽象了,拿一个实际的网站菜单树例子来说。 例子:网页菜单树 一个网站的…

C++经典面试题目(十八)

1、请解释虚函数表的概念,并说明其在多态中的应用。 虚函数表(Vtable)是用于实现多态的一种机制,它是一个存储虚函数地址的表。每个含有虚函数的类都会有一个对应的虚函数表,其中存放着该类的虚函数的地址。当对象被创…

【CSS】伪元素

伪元素 常见的伪元素 ::first-line::first-letter::before 在元素第一个子元素前增加内容::after 在元素最后一个子元素后增加内容 为了区分伪类和伪元素,建议伪元素都使用2个冒号::first-line可以针对首行文本设置属性::first-letter可以针首字母设置属性::before…

【技巧】如何解除Excel“打开密码”?

给Excel表格设置“打开密码”,可以保护表格不被他人随意打开,那如果后续不需要保护了,不想每次打开Excel都需要输密码,要怎么去除“打开密码”呢? 今天分享3个方法,最后一个方法记得收藏起来,以…

基于51单片机的智能报警系统Proteus仿真

地址:https://pan.baidu.com/s/10dhkyV5O629UpFHHV67LpQ 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectroni…

源码|并发一枝花之CopyOnWriteArrayList

CopyOnWriteArrayList的设计思想非常简单,但在设计层面有一些小问题需要注意。 JDK版本:oracle java 1.8.0_102 本来不想写的,但是github上CopyOnWriteArrayList的code results也有165k,为了流量还是写一写吧。 实现 看两个方法你…

LVS、HAProxy

集群:将很多个机器组织到一起,作为一个整体对外提供服务。集群在扩展性、性能方面都可以做到很灵活。集群的分类:负载均衡集群:Load Balance。高可用集群:High Available。高性能集群:High Performance Com…

Python学习从0到1 day20 第二阶段 面向对象 ② 封装

缘分 朝生暮死犹如露水 —— 24.4.1 学习目标: 1.理解封装的概念 2.掌握私有成员的使用 一、面向对象三大特性: 面向对象编程,是许多编程语言都支持的一种编程思想 简单理解是:基于模板(类)去创建实体&…

请解释一下Velocity模板引擎的基本工作原理是什么?在Velocity中,如何定义和使用变量?

请解释一下Velocity模板引擎的基本工作原理是什么? Velocity模板引擎的基本工作原理可以概括为将数据模型与模板文件相结合,通过解析模板中的指令和占位符,将数据模型的内容填充到模板中,最终生成所需的文本输出。 具体来说&…

一个基于大数据的派单管理系统

通常需要处理大量的订单数据,并确保这些数据能够在各个相关部门之间高效、准确地传递。这样的系统不仅有助于提高派单效率,还能优化资源配置,减少不必要的浪费。以下是一个包含所需元素的系统设计方案概述: 数据结构 订单号&…

枚举---算法

1、定义 枚举算法:也称之为穷举算法,这种算法就是在解决问题的时候去使用所有的方式去解决这个问题,会通过推理去考虑事件发生的每一种可能,最后推导出结果。优点:简单粗暴,它暴力的枚举所有可能&#xff…

Mysql故障和优化

一、MySQL故障 二、MySQL优化 1.硬件优化: 2.数据库设计与规划 1.提前估计数据量,使用什么存储引擎 2.数据库服务器专机专用,避免额外的服务可能导致的性能下降和不稳定性 3.增加多台服务器,以达到稳定、高效的效果。主从同步、…

Flask Response生成流式数据api;iter_lines,iter_content遍历区别

1、Flask Response生成流式数据api 注意return与def generate():是同级的 from flask import Flask, Responseapp Flask(__name__)app.route(/stream) def stream_data():def generate():for i in range(5):time.sleep(1)yield f"Data chunk {i}\0" # 在每个数据…

风控系统:通过净值及盈亏开启和关闭自动交易

一、风控对交易员的好处 帮助交易员执行交易纪律并保护他们的交易资金。 纪律风控:对不符合交易纪律的交易执行风控,对交易纪律性差的交易员执行约束操作。净值风控:对满足条件的净值执行风控,防止交易员的账户净值过度下降。手数…

Mysql的库函数

MySQL是一个流行的开源关系型数据库管理系统,它提供了大量的内置库函数,用于在查询时执行各种操作。这些函数可以帮助开发者在数据检索、转换和处理过程中实现更复杂的逻辑。 1 字符串函数 函数描述ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。CHA…

Memory Analyzer Tool使用教程

下载地址&#xff1a;https://eclipse.dev/mat/previousReleases.php 下载JDK8对应的MAT版本 使用jps查看pid jps 使用jmap生成heap dump文件 jmap -dump:formatb,live,filexxx.bin <pid> 使用MAT打开heap dump文件 查看GC Roots

【Linux入门】Linux简史

Linux 是什么&#xff1f;Linux 是一款叫做操作系统的软件。 操作系统这款软件有什么样的意义呢&#xff1f;简单来说&#xff0c;比如有顾客买了一台笔记本电脑&#xff0c;这台笔记本电脑由电脑硬件组成&#xff0c;在这堆硬件上一定搭载了一款操作系统。正因为操作系统存在&…

ssm013小型企业办公自动化系统的设计和开发+vue

小型企业办公自动化系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对小型企业办公信息管理混乱&am…

git删除某次commit的代码

这里写目录标题 1.问题背景2.问题拆解尝试&#xff1a;a.使用git reset --hard HEAD &#xff08;不行&#xff0c;局限性太大&#xff09;尝试&#xff1a;b.使用git rebase -i HEAD &#xff08;可以&#xff0c;但push -f不太友好&#xff09;尝试&#xff1a;c.使用git rev…