深入理解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命令

 三、总结

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Steve lu

感谢大佬的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值