日志管理 时间同步
===系统日志管理=
后台的程序(通常被称为守护进程或者服务进程)处理了你的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 #日志的接收模块
16 $UDPServerRun 514 #开启接收端口
测试:
在发送方和接收方都清空日志文件
/var/log/message
在日志的发送方
logger test
cat /var/log/message #查看日志是否生成
在日志的接收方
tail -f /var/loge/message #动态监控文件的末尾信息
###日志采集格式的设定###
vim /etc/rsyslog.conf
#在日志的接收方做
$template LOGFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% #显示日志时间
%FROMHOST-IP% #显示主机IP
%syslogtag% #日志记录目标
%msg% #日志内容
. /var/log/westos;LOGFMT
示例:
====时间同步服务器
服务的名称: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
server 172.25.254.150 iburst #本机同步172.25.254.150主机的时间
示例:
在客户端:chronyc sources -v
示例:
date
date [OPTION]… [+FORMAT]
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
#查看当前日期的x天前或者x天后的时间
date -d +3day
示例:
date -d -3day
示例:
timedatectl status #显示当前时间的信息
示例:
timedatectl set-time “2019-01-14 22.16” #设定当前时间
示例:
timedatectl set-timezone #设定当前时区
timedatectl list-timezones #查看支持的所有时区
timedatectl set-local-rtc 0 #设定是否使用utc时间
示例:
=====journal=
journalctl #查看日志的工具
journalctl -n 3 #查看最近3条日志
journalctl -p err #查看错误日志
–since:查看从什么时间开始的日志
–until:查看从什么时间截至的日志
##如何使用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
#看目录的时间,这个时间之后的日志都会记录