0.什么是系统日志
后台的程序(通常被称为守护进程或者服务进程)处理了你的linux系统的大部分任务,当这些守护进程工作的时候,它们会将任务的详细信息记录进日志文件中,作为它们做过什么的‘历史’信息(包括错误信息)。
/var/log/message ##记录系统中所产生的日志
测试:
vim /etc/ssh/sshd_config
78:修改为错误的信息
systemctl restart sshd.service(服务启动报错)
>/var/log/message (清空文件)
cat /var/log/message (报错信息写入文件中)
1.rsyslog服务
此服务用来采集系统日志,它不产生日志,只是起到了采集的作用。
2.rsyslog的管理
0.vim /etc/rsyslog.conf
/var/log/message ##服务信息日志(记录linux操作系统常见的服务信息和错误信息)
/var/log/secure ##系统的登陆日志(记录用户和工作组的变化情况,是系统安全日志,用户的认证登陆情况)
/var/log/maillog ##邮件日志
/var/log/cron ##定时任务
/var/log/boot.log ##系统启动日志
mail.* 什么类型的日志.什么级别的日志(.前表示日志类型.后表示日志级别)
*.* 全部类型的日志.全部级别
1.日志的类型
auth ##用户认证时产生的日志,login su命令
authpriv ##ssh,ftp等登陆服务的验证信息
cron ##与时间任务相关
kern ##系统内核信息
lpr ##与打印机活动有关
mail ##邮件日志
mark ##服务内部的信息,是时间标识(产生时间戳)
user ##用于用户程序产生的相关信息
uucp ##unix to unix copy:unix主机之间相关的通信
news.crit #新闻组(网络新闻传输协议(nnpt)产生的消息)
2.日志的级别
注:从上到下,级别从高到底,记录的信息越来越少
debug ##有调试信息(日志信息产生的最多)
info ##一般信息日志(最常用)
notice ##最具有重要性的普通条件信息(不是错误,但是有可能需要你去处理)
worning ##(警告)
err ##错误(一般错误)
alert ##需要立即修改的信息(例如:数据库损坏)
emerg ##内核崩溃
none ##不记录
3.日志的远程同步(接收方和发送方)
##发送方操作:
systemctl stop firewalld.srevice ##关闭防火墙
systemctl disable firewalld.srevice ##防火墙开机不自启
vim /etc/rsyslog.conf ##修改配置文件
51 *.* @172.25.254.141 ##51行加入*.*(所有文件所有级别日志) @接收方IP:udp协议发送 @@接收方IP:TCP协议发送
systemctl restart rsyslog.service
##在日志的接收方:
systemctl stop firewalld.srevice ##关闭防火墙
systemctl disable firewalld.srevice ##防火墙开机不自启
vim /etc/rsyslog.conf ##修改配置文件
测试:
在发送方和接收方都清空日志文件
> /var/log/message
在日志的发送方:
logger test
cat /var/log/message ##查看日志是否生成
在日志的接收方:
tail -f /var/log/message ##动态监控文件的末尾信息
4.日志采集格式的设定(在日志的接收方做)
vim /etc/rsyslog.conf ##修改配置文件(在 RULES 中任意空白行)
$template LOGFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
*.* /var/log/redhat;LOGFMT (redhat为文件 可直接新建)
tail -f /var/log/redhat
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
</div>