一、系统日志的管理
日志:后台的程序(通常被称为守护进程或者服务进程)处理了你的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的管理
vim /etc/rsyslog.conf
/var/log/messages ##服务信息日志(记录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
*.* @172.25.254.101 #@: 表示udp协议发送
#@@: 表示tcp协议发送
#ip: 接收方的ip
systemctl restart rsyslog.service #重启服务
在日志的接收方:
15 $ModLoad imudp #第15行 日志的接收模块
16 $UDPServerRun 514 #第16行 开启接收端口
测试:
在发送方和接收方都清空日志文件
> /var/log/message #清空日志文件
在日志的发送方
logger test
cat /var/log/message #查看日志是否生成
在日志的接收方
tail -f /var/loge/message #动态监控文件的末尾信息
4、日志采集格式的设定
在日志的接收方做:
vim /etc/rsyslog.conf #修改文件
$template LOGFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% #显示日志时间
%FROMHOST-IP% #显示主机IP
%syslogtag% #日志记录目标
%msg% #日志内容
*.* /var/log/westos;LOGFMT
二、时间同步服务
1、服务的名称:chronyd
在服务端:
vim /etc/chrony.conf
22 allow 172.25.254.0/24 #允许哪些客户端来同步本机的时间
29 local stratum 10 #本机不同步任何主机的时间,本机作为时间源
systemctl restart chronyd.service #重启服务
timedatectl set-timezone Asia/Shanghai #更改当前时区为东八区
在客户端:
vim /etc/chrony.conf
3 server 172.25.254.101 iburst #本机同步172.25.254.101主机的时间
测试:
在客户端
chronyc sources -v #测试是否完成时间的同步
210 Number of sources = 1
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| / xxxx = adjusted offset,
|| Log2(Polling interval) -. | yyyy = measured offset,
|| \ | zzzz = estimated error.
|| | |
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.25.254.101 10 6 37 0 -17us[-47303s] +/- 1757us
#出现以上信息说明已经完成同步
2、系统时间的设定
man date #查看date手册
date -d +3day #查看三天后的时间
date -d -3day #查看三天前的时间
date +%Y%m%d #显示时间格式
date +%Y/%m/%d
date +%Y-%m/%d
date +%Y-%m-%d
例:
管理系统的时间:timedatectl
timedatectl status #显示当前时间的信息
timedatectl set-time "2012-10-30 18:17:16" #设定当前时间
timedatectl set-timezone #设定当前时区
timedatectl list-timezones #查看支持的所有时区
timedatectl set-local-rtc 0 #设定不使用utc时间
timedatectl set-local-rtc 1 #设定使用utc时间
3、查看日志的工具:journal
journalctl #查看日志的工具
journalctl -n 3 #查看最近3条日志
journalctl -p err #查看错误日志
journalctl --since #查看从什么时间开始的日志
journalctl --until #查看从什么时间截至的日志
例:journalctl --since '2012-10-30 12:00' --until '2012-10-30 12:01'
如何使用systemd-journald保存系统日志
默认systemd-journald是不保存日志到硬盘的
那么关机以后再次开机只能开到开机之后的日志
上次关机之前的日志是无法查看的
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal/
chmod g+s /var/log/journal/
ps aux | grep systemd-journal
killall -1 systemd-journald #使进服务重新运行
ps aux | grep systemd-journal
ls /var/log/journal/
cd /var/log/journal/
ll
drwxr-sr-x 2 root systemd-journal 27 Nov 11 12:19 946cb0e817ea4adb916183df8c4fc817
#看目录的时间,这个时间之后的日志都会记录
练习题: