一、什么是系统日志
后台的程序(通常被称为守护进程或者服务进程)处理了你Linux系统的大部分任务,当这些守护进程工作的时候,它们会将任务的详细信息记录进日志文件中,作为它们做过什么的历史信息(包括错误信息)
/var/log/messages为系统的日志文件
cat /var/log/messages 查看系统日志
二、系统日志的采集
rsyslog服务:此服务采集系统日志但不产生日志
-
rsyslog管理
/etc/rsyslog 此文件为 rsyslog服务的主配置文件
vim /etc/rsyslog
/var/log/messages :服务信息日志(记录Linux系统常见的服务信息和错误信息)
/var/log/secure :系统的登陆日志(记录用户和工作组的变化情况和用户的登录情况,是系统的安全日志)
/var/log/maillog :系统的邮件日志
/var/log/cron :记录系统的定时任务
/var/log/boot.log :系统的启动日志 -
什么类型的日志.什么级别的日志
日志的类型
auth :用户认证时产生的日志
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 :什么都不记录
三、远程日志的同步
/etc/rsyslog.conf :文件为rsyslogd服务的主配置文件
发送方:
vim /etc/rsyslog.conf
添加*.* @接收方的ip (表示任意类型.任意级别的文件均同步到接收方)
@:表示以udp协议发送
@@:表示以tcp协议发送
sytemctl restart rsyslog.service :重启服务
接受方:
vim /etc/rsyslog.conf
$ModLoad imudp :日志接收模块
UDPServerRun 514 :开启接收端口
日志的接收方和发送方均要清空日志
/var/log/messages
(用覆盖 > 清空文件:>/var/log/messages)
在日志的发送方
logger test
cat /var/log/messages :查看是否有日志生成
在日志的接收方
tail -f /var/log/messages :表示动态监视/var/log/messages文件
注意:在同步日志前应该先关闭接收方和发送方的防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
四、日志采集格式的设定
在日志接收方
vim /etc/rsyslog.conf
添加一行:$template LOGFMT ,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated%:表示显示日志时间
%FROMHOST-IP%:表示显示主机ip
%syslogtag%:表示日志记录目标
%msg% :表示日志记录的内容
在接受日志的文件后加LOGFMT ,其中westos为日志接收文件*.* /var/log/westos;LOGFMT
systemctl restart rsyslog.service :重启服务
五、时间同步服务(chronyd)
/etc/chrony.conf :文件为服务的主配置文件
在服务端
vim /etc/chrony.conf
修改配置文件
allow 172.25.254.0/24 :表示允许哪些客户端同步本机时间
local stratum 10 :表示本机作为时间源,不同步任何主机时间
在客户端
vim /etc/chrony.conf
更改主配置文件
server 172.25.254.101 iburst
172.25.254.101:表示要同步的服务端主机ip
systemctl restart chronyd.service :重启服务
timedatectl set-timezone Aisa/shanghai :表示将时区改为东八区
chronyc sources -v :表示同步时间
六、更改系统时间
date -d +3day :表示显示三天后的时间
date -d -3day :表示显示三天前的时间
date +%Y%m%d :表示显示当前年月日(显示的格式可以自己设定)
timedatectl status :表示显示当前时间
timedatectl set-time 2011-1-1 18:25:34 :表示将系统时间改为2011-1-1 18:25:34
timedatectl list-timezones :表示列出所有时区
timedatectl set-timezone 时区 :表示将系统时区
timedatectl set-local-rtc 0 :
timedatectl set-local-rtc 1 :
七、查看系统日志(journal)
journalctl :查看系统日志的工具
journalctl -n 3 :表示查看系统最近的3条日志
journalctl -p err :表示查看错误日志
--since 时间 :表示查看从什么时候开始的日志
--until 时间:表示查看截止到什么时候的日志
journalctl --since '2019-1-13 22:00' --until '2019-1-13 22:02'
使用system-journald保存日志
mkdir /var/log/journal :建立保存日志的目录(名字任意)
chgrp system-journal /var/log/journal :更改目录的所属组
chmod g+s /var/log/journal 加一个强制位
killall -1 system-journald :重启服务
注意:默认system-journald不保存日志到硬盘中,在关机后再开机,只能查看到开机后的日志,上次关机前的日志无法查看