IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 深入理解Linux日志管理(我们从人海相遇,终究又把你归还于人海了) -> 正文阅读

[系统运维]深入理解Linux日志管理(我们从人海相遇,终究又把你归还于人海了)

目录

一、 系统日志管理

1.1 系统日志介绍

1.1.1 sysklogd 系统日志服务

1.1.2 rsyslog 系统日志服务

1.2 rsyslog 管理

1.2.1 系统日志术语

1.2.2 rsyslog 相关文件

1.2.3 rsyslog配置文件

1.3 日志文件

二、实验

2.1 实验一:将ssh服务的日志单独设置

2.2?实验二:开启日志的远程传输功能

?三、总结

一、 系统日志管理

1.1 系统日志介绍

在现实生活中,记录日志也非常重要,比如银行的转账记录,飞机上的黑盒子,那么将系统和应用发生的事件记录至日志中,以助于排错和分析使用

日志记录的内容包括:

  • 历史事件:时间,地点,人物,事件

  • 日志级别:事件的关键性程度,Loglevel

1.1.1 sysklogd 系统日志服务

CentOS 5 之前版本采用的日志管理系统服务

  • syslogd: system application 记录应用日志

  • klogd: linux kernel 记录内核日志

事件记录格式:

日期时间 主机 进程[pid]: 事件内容

C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理

1.1.2 rsyslog 系统日志服务

Rsyslog的全称是 rocket-fast system for log,它提供了高性能,高安全功能和模块化设计。rsyslog能够接受从各种各样的来源,将其输入,输出的结果到不同的目的地。rsyslog可以提供超过每秒一百万条消息给目标文件

rsyslog 特性

  • 多线程

  • UDP, TCP, SSL, TLS, RELP

  • MySQL, PGSQL, Oracle实现日志存储

  • 强大的过滤器,可实现过滤记录日志信息中任意部分

  • 自定义输出格式

  • 适用于企业级中继

1.2 rsyslog 管理

1.2.1 系统日志术语

?#内置分类
?auth(验证), authpriv, cron(定时任务), daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, syslog
?#自定议的分类
?local0-local7

日志等级(优先级)

数字越小紧急程度越高,一般在error就解决掉了,出现比error更严重的问题就是运维的失职

级号等级名称说 明
7debug (LOG_DEBUG)一般的调试信息说明
6info (LOG_INFO)基本的通知信息
5notice (LOG_NOTICE)普通信息,但是有一定的重要性
4warning(LOG_WARNING)警吿信息,但是还不会影响到服务或系统的运行
3error(LOG_ERR)错误信息, 一般达到err等级的信息已经可以影响到服务成系统的运行了
2crit (LOG_CRIT)临界状况信思,比err等级还要严?
1alert (LOG_ALERT)状态信息,比crit等级还要严重,必须立即采取行动
0emerg (LOG_EMERG)疼痛等级信息,系统已经无法使用了
*代表所有日志等级。比如,“authpriv.*”代表amhpriv认证信息服务产生的日志,所有的日志等级都记录

服务名称

服务名称说 明
auth(LOG AUTH)安全和认证相关消息 (不推荐使用authpriv替代)
authpriv(LOG_AUTHPRIV)安全和认证相关消息(私有的)
cron (LOG_CRON)系统定时任务cront和at产生的日志
daemon (LOG_DAEMON)与各个守护进程相关的曰志
ftp (LOG_FTP)ftp守护进程产生的曰志
kern(LOG_KERN)内核产生的曰志(不是用户进程产生的)
Iocal0-local7 (LOG_LOCAL0-7)为本地使用预留的服务
lpr (LOG_LPR)打印产生的日志
mail (LOG_MAIL)邮件收发信息
news (LOG_NEWS)与新闻服务器相关的日志
syslog (LOG_SYSLOG)存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了 syslogd服务的,所以这里并没有修改服务名称)
user (LOG_USER)用户等级类别的日志信息
uucp (LOG_UUCP>uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来 也常用在新闻组服务中

1.2.2 rsyslog 相关文件

  • 程序包:rsyslog

  • 主程序:/usr/sbin/rsyslogd

  • CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}

  • CentOS 7,8:/usr/lib/systemd/system/rsyslog.service

  • 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

  • 库文件: /lib64/rsyslog/*.so

1.2.3 rsyslog配置文件

/etc/rsyslog.conf 配置文件格式:由三部分组成

  • MODULES:相关模块配置

  • GLOBAL DIRECTIVES:全局配置

  • RULES:日志记录相关的规则配置

?

1.3 日志文件

目录含义
/var/log/secure系统安全日志,文本格式,应周期性分析
/var/log/btmp当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
/var/log/wtmp当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
/var/log/lastlog每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
/var/log/dmesgCentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况
/var/log/boot.log系统服务启动的相关信息,文本格式
/var/log/messages系统中大部分的信息
/var/log/anacondaanaconda的日志

示例1

示例2?

?示例3

二、实验

2.1 实验一:将ssh服务的日志单独设置

1.vim /etc/ssh/sshd_config

shift+冒号 末行模式敲set nu 显示行号,上下键找到第32行,命令模式yy复制,p粘贴到下一行,将32行开头加上#号,按“i”进入编辑模式,将33行后面那个单词改为LOCAL6,保存退出

2.vim /etc/rsyslog.conf

shift+冒号 末行模式敲set nu 显示行号,上下键找到第73行,命令模式yy复制,p粘贴到下一行,按“i”进入编辑模式,改为如下

3.重启服务

systemctl restart sshd

systemctl restart rsyslog

4.右击第一个标签复制会话

cd /var/log/

ls

可以看到创建的sshd.log文件存在了

vim sshd.log

可以看到操作记录

2.2?实验二:开启日志的远程传输功能

1.两台机子 ?vim /etc/rsyslog.conf

将19,20行的#注释去掉,开启tcp服务,保存退出

?2.第二台机子 ?vim /etc/rsyslog.conf? yy复制 p粘贴到下一行,后面加上@@第一台IP地址

查看第一台IP地址,在第一台机子上输入ifconfig,找到en33网卡下的IP地址就是本机的IP地址

注意:

使用tcp服务,IP地址前是@@

使用udp服务,IP地址前是@

?保存退出然后重启服务,systemctl restart rsyslog

3.两台机子关闭防火墙和selinux

systemctl stop firewalld
vim /etc/selinux/config

?4.第二台机子测试,往日志中写入数据

[root@localhost ~]# logger "1111111111111111111111"
[root@localhost ~]# logger "2222222222222222222222"

第一台机子的/var/log/messages文件可以看到,使用cat /var/log/messages命令

?三、总结

在工作中我们要学会查看日志,及时解决问题,防患于未然

在真实生产环境中,会有几台或是几十台服务器,集中管理数以百万台服务器的日志信息

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 22:13:16  更:2022-03-13 22:17:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:19:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码