一、日志文件
1.1 日志的作用
将系统和应用运行记录在日志上,方便分析排错和使用,日志记录的主要有:时间、地点、人物、事件。
1.2 常见的日志文件
日志位置 | 说明 |
/var/log/secure | 系统安全日志(用户登录),文本格式可以直接查看,应周期性分析 |
/var/log/btmp | 当前系统上用户的失败尝试登录相关的日志信息,二进制格式,last命令查看 |
/var/log/wtmp | 当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令查看 |
/var/log/lastlog | 每一用户最近一次的登录信息,二进制格式,lastlog命令查看 |
/var/log/dmesg | centos7之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dnesg查看,可持续记录硬件变化的情况 |
/var/log/boot.log | 系统服务启动的相关信息,文本格式 |
/var/log/messages | 系统中大部分的信息 |
/var/log/anaconda | anaconda的日志操作系统安装时安装的软件信息,要想使用,rsyslog软件单独实现日志管理 |
last:查询成功登录系统的用户信息
lastb: 查询登录失败的用户信息
1.2 日志的级别
日志级别数字越小越紧急,一般运维过程中出现4级就要进行检查注意了。
名称 | 说明 |
debug | 一般调试信息说明 |
info | 基本的通知信息 |
notice | 普通信息,重要 |
warning | 警告信息,不会影响运行 |
error | 错误信息,影响运行 |
crit | 临界状况信息 |
alert | 状态信息,比crit严重,需要采取行动 |
emerg | 疼痛等级信息,系统已经无法使用 |
* | 代表所有日志等级。比如,“authpriv.*”代表amhpriv认证信息服务产生的日志,所有的日志等级都记录 |
二、rsyslog日志处理
2.1 使用rsyslog的优点
1、支持多线程。
2、能够基于UDP, TCP, SSL, TLS, RELP等协议进行远程日志传输,并且还可以机密。
3、日志可以保存至MySQL, PGSQL, Oracle等多种关系数据库中。
4、支持非常强大的过滤器,可实现过滤系统信息中的任意部分。
5、自定义输出格式。
6、适用于企业级别日志记录需求。
2.2 配置文件解析
配置文件路径:/etc/rsyslog.conf
分为三大块:
MODULES:相关模块配置
GLOBAL DIRECTIVES:全局配置
RULES:日志记录相关的规则配置
#MODULES //相关模块配置
# Provides UDP syslog reception
#$ModLoad imudp //使用UDP协议传输日志数据
#$UDPServerRun 514 //端口为514端口
# Provides TCP syslog reception
#$ModLoad imtcp //使用TDP协议传输日志数据
#$InputTCPServerRun 514 //端口为514端口
#### GLOBAL DIRECTIVES #### //全局配置不常用省略
#### RULES #### //日志记录相关的规则配置
*.info;mail.none;authpriv.none;cron.none /var/log/messages
//*表示所有*.info表示所有级别,分号隔开none表示没有级别即不记录
//本行中表示不记录mail、authpriv、cron其他所有记录到/var/log/messages文件中
authpriv.* /var/log/secure
//authpriv所有等级日志记录到/var/log/secure文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
mail.* -/var/log/maillog
//mail所有等级日志记录到-/var/log/maillog文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
cron.* /var/log/cron
//cron所有等级日志记录到/var/log/cron文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
local7.* /var/log/boot.log
//local7表示自定义服务,范围为0-7都可以使用,在支持的服务配置文件中也要写对应的local等级
// /var/log/boot.log表示存到此目录下的文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
三、单独设置ssh服务日志
vim /etc/ssh/sshd_config //修改ssh配置文件
vim /etc/rsyslog.conf //修改rsyslog配置文件
systemctl restart rsyslog.service sshd //重启rsyslog sshd服务
配置ssh :
配置rsyslog:
重启服务:
实时查看日志:
四、网络日志实验
①实验背景
日志服务器更方便管理企业内部日志,将业务服务器的日志都放到日志服务器上更便于运维和管理。
②实验目的
将业务服务器A的内核和公共日志实时传输到日志服务器B上
③实验环境
硬件:2台网络互通的centos7.4服务器
软件:业务服务器A地址为:192.168.136.112
业务服务器B地址为:192.168.136.133
第一台主机:
vim /etc/rsyslog.conf //配置rsyslog
第二台主机:
vim /etc/rsyslog.conf //配置rsyslog
logger "this is test log from 192.168.136.122 2" //测试是否成功
第一台主机修改rsyslog配置:
测试514端口是否打开:
测试:
第二台主机:还是一样的操作
修改rsyslog配置:
测试514端口是否打开:
主机2结果 :
主机1结果
至此,实验结束。