Day 16 Linux服务管理和日志管理

服务管理

启动服务:systemctl start 服务名

停止服务:systemctl stop 服务名

重启服务:systemctl restart 服务名

重新加载配置文件:systemctl reload 服务名(期间并不停止服务进程)

查看服务运行状态:systemctl status 服务名

获取服务启动报错原因:systemctl status 服务名 -l

开机自启动服务:systemctl enable 服务名

关闭开机自启动服务:systemctl disable 服务名

列出系统中所有服务:systemctl list-units

查看服务是否开机自启动:systemctl list-unit-files

实例:搭建时间服务器

公共时间服务器:阿里,腾讯,百度......

私有时间服务器:由自己搭建

查看服务器的时区:timedatectl

修改主机名:hostnamectl set-hostname 新主机名

服务器端

准备工作:

保证yum仓库可用,保证网络可用

关闭防火墙:systemctl stop firewalld  

关闭防火墙开机自启动:systemctl disable firewalld

临时关闭selinux:setenforce 0

永久关闭selinux:vim /etc/selinux/config

SELINUX=disable

①安装时间服务器软件:yum -y install ntp

②修改服务配置文件vim /etc/ntp.conf

restrict default nomodify    //不允许客户端登录,也不允许客户端修改
server 127.127.1.0    //使用本地的bios时间,自己跟自己同步
fudge 127.127.1.0 stratum 10    //定义级别,范围0-16,越小越精准

③启动ntp服务

systemctl restart ntpd

客户端

准备工作:

保证yum仓库可用,保证网络可用

①安装ntpdate服务:yum -y install ntpdate

②进行时间同步:ntpdate 时间服务器的IP地址

注意

①如果两台在不同的主机上的虚拟机都是NAT模式,两台虚拟机不能互相通讯

②如果两台在同一个主机上的虚拟机都是NAT模式,两台虚拟机可以互相通讯

③如果两台虚拟机都是桥接模式,两台虚拟机可以互相通讯

④如果两台虚拟机分别是NAT模式和桥接模式

NAT模式的虚拟机可以访问桥接模式的虚拟机

桥接模式的虚拟机不能访问NAT模式的虚拟机

日志管理

日志分类:系统日志,进程日志,应用程序日志

日志的用途:排错,追溯事件,统计流量,审计安全行为

rsyslog:系统自带的日志管理服务,默认运行

日志的分析处理

少量日志使用 vim cat grep awk等文档处理命令查看

大量日志使用splunk、elk [elasticsearch logstash Kibana]

日志服务rsyslog

/var/log :系统默认存放日志的目录,存放常见的日志文件(系统、进程、应用程序)

/etc/rsyslog.conf :日志服务的配置文件

/etc/rsyslog.d/ :日志服务的子配置文件(包含于日志配置文件)

/etc/rsyslog.conf 日志配置文件解释:

日志管理规则

通过 man 5 rsyslog.conf 可以看到日志管理规则中的日志对象和日志级别

日志对象

日志对象

日志内容

auth/secure

安全验证信息

authpriv

ssh、ftp等登录信息

cron

系统执行定时任务产生的信息

daemon

守护进程产生的信息

kern

内核信息

lpr

打印相关信息

mail

邮件系统信息

mark

服务内部的信息,时间标识

news

新闻服务器相关信息

syslog

日志系统自身信息

user

用户程序产生的相关信息

uucp

Unix-to-Unix Copy 两个unix之间的相关通信

local0~local7

自定义日志对象

日志级别

从上往下等级越来越高,问题越来越严重

日志等级

等级说明(等级越高,记录越少)

none

不记录任何信息

debug

包含详细的开发情报的信息,通常只在调试一个程序时使用

info

通用性信息,一般用来提供有用信息

notice

正常信息,但是较为重要,可能需要处理

warn/warning

警告信息

error/err

错误信息,某个功能或者模块不能正常工作的信息

crit

严重级别,系统或整个软件不能正常工作的信息,例如硬盘错误

alert

需要立刻修改的信息,如系统数据库被破坏,ISP连接丢失

emerg/panic

紧急情况,内核崩溃等重要信息

日志规则:

日志对象.日志级别:只有比当前日志级别更高的级别信息会被记录进日志(等级越高,记录越少;等级越低,记录越多)

*.*:将所有日志对象的所有日志级别信息记录进日志

日志对象.=日志级别:只有当前日志级别的信息会被记录进日志

日志对象.!日志级别:除了当前日志级别的级别信息都会被记录进日志

日志规则格式:

日志对象.日志级别;日志对象.日志级别                                    日志文件名字及存放路径

实例:使用自定义日志对象记录sshd服务的日志文件

①修改sshd服务的主配置文件:vim /etc/ssh/sshd_config

将配置文件中的 SyslogFacility AUTHPRIV 改为 SyslogFacility local0

使sshd服务的日志文件由local0记录

②修改rsyslog服务的主配置文件:vim /etc/rsyslog.conf 

在配置文件的RULES部分添加一行:local0.*                    /var/log/sshd_log

使sshd服务的所有日志信息被 /var/log/sshd_log 日志文件记录

③重启服务

systemctl restart rsyslog

systemctl restart sshd

④使用另一台服务器远程登录该服务器验证

因为在ssh远程登录的过程中涉及到密码验证,所以实际上/var/log/secure文件中也会留下相关记录

实例:远程日志传输

准备工作:需要关闭防火墙和selinux

两台虚拟机:发送端centos-1;接收端centos-2;

①发送端和接收端修改rsyslog的配置文件/etc/rsyslog.conf

打开TCP或UDP的传输协议(此处选择用TCP协议传输)

②在发送端的配置文件/etc/rsyslog.conf添加规则

此处规则为:将发送端的local0日志对象相关sshd服务日志使用TCP协议发送给接收端

若使用udp协议传输

日志对象.日志级别           @接收端IP地址

若使用udp协议传输

日志对象.日志级别           @@接收端IP地址

udp用@;tcp用@@

③发送端和接收端重启rsyslog服务

systemctl restart rsyslog

④验证

发送端ssh使用exit登出,然后再次远程登入

接收端的默认保存接受日志的文件为 /var/log/massage

/var/log/ 内的日志文件

系统自带日志文件

massage:系统日志文件,记录对系统做的操作

secure:认证安全相关的日志文件,记录了系统用户,ssh远程的登录记录,包括失败登录记录和成功登录记录

cron:计划任务日志

yum.log:记录yum软件包管理相关的日志

wtmp:二进制文件,使用w命令调取该文件,查看当前登录的用户

btmp:二进制文件,使用last命令调取该文件,查看最近登陆的用户

lastlog:二进制文件,使用lastlog命令调取该文件,查看系统中所有用户的登录情况

服务进程相关的日志文件

mysqld.log:MySQL进程的记录日志文件

access_log:apache进程的记录日志文件

xferlog:访问FTP服务器的相关记录日志文件

日志轮转(日志切割)

对象:日志文件

功能:

防止日志文件过大,导致日志文件无法打开或打开过慢

定期清除旧的日志数据文件,避免浪费磁盘资源

日志轮转服务:logrotate

日志轮转规则主配置文件:/etc/logrotate.conf

weekly:每周轮转一次

hourly/daily/weekly/monthly/yearly:每 小时/天/周/月/年 轮转一次

rotate 4:最多保留4份旧的轮转日志

rotate 0:不保留旧的日志文件,直接删除

create:轮转后创建新的日志文件

create的格式:create 四位权限数 属主 属组

dateext:以轮转时的日期作为后缀名保留旧的日志文件

compress:会对旧的日志文件使用gzip进行压缩

nocompress:不会对旧的日志文件进行压缩

delaycompress:延迟压缩,本次轮转时不会立即压缩旧的日志文件,而是延迟在下一次轮转时压缩此次旧的日志文件。通常和 compress 连用,否则没有意义

minsize:指定日志文件大小的最小值,只有当日志文件的大小超过 minisize 时,并且到达了指定的时间周期,logrotate 才会触发轮转。如果文件大小没有达到这个最小值,即使到达了指定的时间周期,logrotate 也不会执行轮转操作。

maxsize:

日志轮转规则子配置文件目录:/etc/logrotate.d/ (针对于某个特定服务的日志轮转规则)

自定义规则:

轮转日志名称及路径{

}

手动强制轮转:logrotate -f 轮转规则配置文件

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

十、OOP面向对象程序设计(五)

1、什么是接口以及接口的运用 1)接口定义 Java接口(Interface),是一些列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能。) 2)接口定义的一般形式 修饰符:…

git使用(上传自己的项目到github上)

之前最早使用的方式是使用as上面的菜单功能VCS——>share project on github,,, 现在我们使用命令的方法上传。 第一步:在github上面Create a new repository 这里输入仓库的名称和描述,勾选Add a README file,这会在创建仓库的时候添加…

一些重新开始面试之后的八股文汇总

一、内存中各项名词说明 1、机器内存概念说明 linux中的free命令可以查看机器的内存使用情况,vmstat命令也可以 其中不容易被理解的是: 内存缓冲/存数(buffer/cached) 1.buffers和cache也是RAM划分出来的一部分地址空间 2.buff…

css div添加滚动条(附加源码)

问题描述 先看效果图。 每个商品通过后台接口查询出来,前端v-for进行显示,所以这块我要添加一个滚动条,我不确定有多少个商品。 解决方案 实现思路:div设置高度为1000rpx(我这边是举例,根据实际场景去设…

Jenkins 流水线多阶段构建

Jenkins流水线配置遇到 无法识别的。需要使用 自定义环境 项。 比如官网的在流水线中使用Docker Started by remote host 172.17.0.1 Obtained Jenkinsfile from git http://10.99.20.51:8082/root/java-devops-demo.git org.codehaus.groovy.control.MultipleCompilationErro…

Ribbon 添加右侧区域菜单项

效果图如下所示: 类似与上图效果所示,代码如下: RibbonPage* pageHome1 ribbonBar()->addPage(tr("Home")); //实现代码: { QMenu* menuOptions ribbonBar()->addMenu(tr("Options"))…

节点加密技术:保障数据传输安全的新利器

随着信息技术的快速发展,网络数据的安全传输问题日益凸显。节点加密技术作为一种新兴的加密手段,正逐渐成为保障数据传输安全的重要工具。本文将探讨节点加密技术的原理、应用及其优势,并分析其未来的发展趋势。 节点加密技术的原理 节点加密…

腾讯InstantMesh30秒图片生成3D模型;微软实时生成会说话的头像VASA;由 AI 创作的恶搞视频片段Sitcom Simulator

✨ 1: InstantMesh 30 秒内从一张图片生成 3D 模型 InstantMesh是一个基于单张图片,利用先进的稀疏视图大型重建模型(LRM)架构,快速生成3D网格(Mesh)的工具。这个框架允许用户将2D图片转换成3D模型&#…

学习笔记------时序约束之时钟周期约束

本文摘自《VIVADO从此开始》高亚军 主时钟周期约束 主时钟,即从FPGA的全局时钟引脚进入的时钟或者由高速收发器输出的时钟。 对于时钟约束,有三个要素描述:时钟源,占空比和时钟周期。 单端时钟输入 这里我们新建一个工程&#x…

如何使用Flask搭建web程序框架并实现无公网IP远程访问本地程序

文章目录 前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程访问Flask的问答界面 前言 Flask是一个Python编写的Web微框架,让我们可以使用Python语言快速实现一个网站或Web服务,本期教程…

HarmonyOS NEXT 使用XComponent + Vsync 实现自定义动画

介绍 XComponent 提供了应用在 native 侧调用 OpenGLES 图形接口的能力,本文主要介绍如何配合 Vsync 事件,完成自定义动画。在这种实现方式下,自定义动画的绘制不在 UI 主线程中完成,即使主线程卡顿,动画效果也不会受…

汽车充电桩充电效率的四大决定因素

随着电动汽车的快速普及,交流充电桩作为电动汽车的充电基础设施,其充电效率受到了广泛的关注。接下来,我们将深入探讨交流充电桩的充电效率,包括充电效率的定义、影响因素以及提升方法。 充电效率的定义 交流充电桩的充电效率指的…

基于Springboot+Vue的Java项目-网上超市系统开发实战(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

构建现代网页的引擎:WebKit架构揭秘

在网络信息迅猛增长的今天,浏览器已经成为我们接触世界的重要窗口。而在浏览器的核心,有一个强大的引擎在默默地支撑着网页的渲染和执行,这就是WebKit。 WebKit的核心组件 WebKit作为开源浏览器引擎,由苹果公司发展而来&#x…

前端编程环境配置

目录 vscode插件的安装快捷键常用的快捷键自定义快捷键 vscode 插件的安装 汉化,将vscode改为中文版 Chinese (Simplified)修改开始标签,结束标签跟着一起变化 Auto Rename Tag颜色主题 One Dark Pro格式化代码(建议使用系统自带) 配置&#xff1a…

二叉树和数据结构

小红的完全二叉树构造 题目描述 小红想构造一个总共 n 个节点完全二叉树,该二叉树满足以下两个性质: 1. 所有节点的权值值为 1 ~ n 的一个排列。 2. 除了根节点以外,每个节点的权值和它父亲的权值的乘积为偶数。 请你帮小红构造出这个二叉树…

Docker容器逃逸-特权模式-危险挂载-Procfs

Docker容器逃逸-特权模式-危险挂载(95天) Docker这个概念: Docker 容器与虚拟机类似,但二者在原理上不同,容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务…

1.Chinese Tiny LLM_ Pretraining a Chinese-Centric Large Language Model

文章目录 摘要一、背景二、预训练数据统计信息数据处理 模型架构 三、SFT四、Learning from Human Preferences五、评估数据集和指标训练过程和比较分析安全性评估中文硬指令理解与遵循评价 六、结论 https://arxiv.org/abs/2404.04167https://github.com/Chinese-Tiny-LLM/Chi…

Jackson知识点记录

文章目录 一.Jackson模块说明 二.ObjectMapper基本功能使用ObjectMapper的一些核心方法:示例代码1. 序列化示例2. 反序列化示例3. JsonNode 处理示例 高级配置 三.各种Node1. ObjectNode2. ArrayNode3. ValueNode4. MissingNode示例 一.Jackson Jackson 库主要分为…

ruoyi-nbcio-plus基于vue3的flowable的websocket消息组件的升级修改(二)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…