一、系统日志管理
后台程序(可用ps看到 通常被称为守护进程或者服务进程)处理了你的linux系统的大部分任务,当这些守护进程工作时,它们会将任务的详细信息记录进日志文件中,作为他们做过什么的“历史”信息(包括错误信息)
/var/log/messages
#记录系统中所产生的日志
测试:(不清空不容易看到)
vim /etc/ssh/sshd_config
78:修改成为一个错误的信息
systemctl restart sshd.service(服务启动报错)
> /var/log/messages(清空文件)
cat /var/log/messages (错误信息就写入在文件中)
1.rsyslog服务
此服务用来采集系统日志,它不产生日志,只是采集
2.rsyslog的管理
rsyslog的配置文件:/etc/rsyslog.conf
vim /etc/rsyslog.conf
/var/log/messages ##54行 服务信息日志(记录linux操作系统常见的服务信息和错误信息)
/var/log/secure ##系统的登陆日志(记录用户和工作组的变化情况,是系统安全日志,用户的认证登陆情况)
/var/log/maillog ##邮件日志
/var/log/cron ##定时任务
/var/log/boot.log ##系统启动日志
配置文件中格式:什么类型的日志.什么级别的日志
.前面:什么类型的日志
.后面:什么级别的日志
日志的类型
auth #用户认证时产生的日志,login su 命令
authpriv #ssh ,ftp等登陆服务的验证信息
cron #与时间任务相关
kern #系统内核消息
lpr #与打印机活动有关
mail #邮件日志
mark #服务内部的信息,是时间标识(产生时间戳)
user #用于用户程序产生的相关信息
uucp #unix to unix copy unix主机之间相关的通信
news.crit #新闻组(网络新闻传输协议(nnpt)产生的消息)
日志级别分为 #注意:从上到下,级别从低到高,记录的信息是越来越少的
debug #有调试信息(日志信息产生的最多)
info #一般信息日志(最常用)
notice #最具有重要性的普通条件信息(不是错误,但是可能需要你去处理)
warning #警告
err #错误(一般错误)
crit #严重错误(情况危险)
alert #需要立即修改的信息(例如:数据库损坏)
emerg #内核崩溃
none #什么都不记录
3.日志的远程同步(要分清日志的接收方 日志的发送方)
实验时首先要关闭防火墙:
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #防火墙开机不自启动
vim /etc/rsyslog.conf #修改rsyslog配置文件
systemctl restart rsyslog.service #重起rsyslog服务
在日志的发送方:
vim /etc/rsyslog.conf
*.* @172.25.254.101
### @:表示udp协议发送 @@:表示tcp协议发送 ip:接收方的ip
systemctl restart rsyslog.service
在日志接收方:
vim /etc/rsyslog.conf
15 $ModLoad imudp #日志的接收模块
16 $UDPServerRun 514 #开启接收端口
(可以导入到自己创建的文件夹内 但是必须在/var/log/下)
例:
在日接受方的/etc/rsyslog.conf中添加:
*.* /var/log/test
systemctl restart rsyslog.service
tail -f /var/log/test #监视/var/log/test
测试:
在发送方和接收方都清空日志文件
> /var/log/message
在日志的发送方
logger test
cat /var/log/message #查看日志是否生成
在日志的接收方
tail -f /var/loge/message #动态监控文件的末尾信息
4.日志采集格式的设定
#在日志的接收方做
$template LOGFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% #显示日志时间
%FROMHOST-IP% #显示主机IP
%syslogtag% #日志记录目标
%msg% #日志内容
*.* /var/log/westos;LOGFMT
5.journal (查看日志的工具)
journalctl #查看日志的工具
journalctl -n 3 #查看最近3条日志
journalctl -p err #查看错误日志
--since:查看从什么时间开始的日志
--until:查看从什么时间截至的日志
eg:journalctl --since '2012-10-30 12:00' --until '2012-10-30 12:01'
#查看"2019-01-13 16:00"到2019-01-13 16:10的日志
[root@server87 Desktop]# journalctl --since "2019-01-13 16:00" --until "2019-01-13 16:10"
-- Logs begin at Sat 2011-11-12 00:42