日志是可以直接看出系统中的错误,日志在内存里,由服务决定
#日志类型
auth #用户登陆日志(pam生产日志)
authpriv #服务认证日志(sshd认证)#日志级别
debug #系统调试信息
info #常规信息
warning #警告信息
err #报错(级别低,阻止了某个功能不能正常工作)
crit #报错(级别高,组织整个软件或整个系统不能正常工作)
alert #需要立即修改信息
emerg #内核崩溃
none #不采集任何日志信息
例如:
auth.debug /var/log/westos #将用户登陆的调试信息放到/var/log/westos
auth.*
*.* /var/log/log.all #将所有日志的所有调试信息放到/var/log/log.all
#系统常用日志
/var/log/messages #所有日志级别的常规信息(不包含邮件,服务认证,定时任务)
/var/log/maillog #邮件日志
/var/log/crog #定时任务日志
/var/log/secure #服务认证日志
实验步骤:
vim /etc/rsyslog.conf ##查看并修改采集日志文件配置,为了让我们把日志采用到指定位置
*.* /var/log/westos #将所有日志的所有调试信息放到/var/log/westos(这个文件会自动生成)
ls /var/log/westos
systemctl restart rsyslog.service #重启rsyslog系统
cat /var/log/westos
做实验前要清空其它没有的数据,以防出错
> /var/log/messages #清空日志
> /etc/rc.d/rc.local #清空虚拟机一直产生的日志和脚本
实验步骤:
这个实验中自定义发送方和接受方,只要自己能记住就可以,但是千万不能混乱,可以用“ifconfig”查看IP
##在日志发送方
vim /etc/rsyslog.conf
*.* @172.25.254.128 #将所有日志的所有调试信息发送到接收方地址
systemctl restart rsyslog.service #重启rsyslog服务器
systemctl restart sshd.service #重启后在接收方才可以看到日志
##在日志接收方
vim /etc/rsyslog.conf
15 $ModLoad imudp #打开插件
16 #$UDPServerRun 514 #打开插件接口
systemctl restart rsyslog.service
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #关闭防火墙对接收的屏蔽
cat /var/log/messages #查看从发送方发送过去的日志
注意:1.更改完配置文件后一定要“systemctl restart rsyslog.service”重启服务器,否则后面的操作毫无意义
2.一定要在接受方关闭防火墙,否则会对外来发送方发送的日志进行屏蔽
$template 格式名称,“日志采集格式”
*.info;mail.none;authpriv.none;cron.none /var/log/messages;格式名称
*.info;mail.none;authpriv.none;cron.none /var/log/messages;westos
$template westos,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n" (在rules下写)
%timegenerated% #日志生成时间
%FROMHOST-IP% #日志来源主机的IP
%syslogtag% #日志生成程序
%msg% #日志内容
\n #换行
实验步骤:
尽可能在接收方:vim /etc/rsyslog.conf
##日志查看工具,直接查看内存中的日志
journalctl -n 3 ##查看最近日志的前三行
journalctl -p err ##查看日志中的错误
journalctl -f ##用户ctrl+c结束监控
journalctl --since 时间点 --until 时间点
journalctl -o verbose ##查看日志详细参数 例如:_PID=651 journalctl _PID=651
实验步骤:
systemctl status sshd ##查看pid
systemctl restart sshd ##重开启一个sshd,每重启一次PID就会不一样
journalctl -o verbose 在这里面找想看到的PID(用/_PID找关键字)
journalctl _PID=1255 ##查看PID=1255的日志
默认此程序只负责对日志进行查看而不对日志进行保存和采集
那么关机后再开机,对日志进行查看,只能查看到开机后的日志
系统之前的日志因为是保存在内存中的,所以关机后就被清空了,那么在开机是用journalctl看不到
如何让systemd-journald保存日志到硬盘中
mkdir /var/log/journal
chown root.systemd-journal /var/log/journal ##更改文件所有人
chmod g+s /var/log/journal ##在目录中创建的文件都自动归属到目录所在组
killall -1 systemd-journald
journalctl -n 3 ##查看日志前三行内容
date ##查看现在的时间
reboot ##退出系统
ssh [email protected] ##再次连接
journalctl ##查看日志
现在可以看到关机前的内容,这是因为把这些日志都保存到了硬盘里。就算关机重启日志也不会清空
在服务器端共享时间:
vim /etc/chrony.conf
29 local stratum 10 ##开启时间共享功能并设定共享级别
##这个参数开启后本机不去同步别人的时间到本机
22 allow 172.25.254.0/24 ##允许那些客户端来访问本机共享的时间
systemctl restart chronyd ##重启chronyd
在客户端:
vim /etc/chrony.conf
server 172.25.254.128 iburst ##更改时的地址是服务端的地址
systemctl restart chronyd
chronyc sources -v
结果:
如果出现“^* ”就说明试验成功,已经和172.25.254.128的时间同步
7.时间修改
实验步骤:
timedatectl list-timezones ##查找所有时区时间
timedatectl set-timezone Asia/Shanghai ##修改时间为上海时间
timedatectl ##查看时间
date
timedatectl set-local-rtc 0 ##使用UTC时间
vim /etc/adjtime
timedatectl set-local-rtc 1 ##使用当地时间
vim /etc/adjtime
timedatectl set-time “2018-11-11 11:11:11” ##修改时间