日志,是系统记录设备的操作,异常等等。当系统出现问题时,如果不清楚如何作,可以查看日志以解决异常。
1.日志存储的地方
系统的日志,都存放在/var/log/下,
/var/log/message ##服务信息日志
/var/log/secure ##系统登陆日志
/var/log/cron ##定时人物日志
/var/log/maillog ##邮件日志
/var/log//boot.log ##系统启动日志
2.日志类型和日志的级别
日志的配置文件的位置 /etc/rsyslog.cionf
日志的类型:
auth ##pam产生的日志
authpriv ##ssh,ftp等登录信息的验证信息
cron ##时间任务向光
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy, unix 主机之间相关的通讯
local 1~7 ##自定义的日志设备
日志级别分为:
debug ##有调式信息的,日志信息最多,一般不用,除非特殊情况
info ##一般信息的日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立即修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
##注意:从上到下,级别从低到高,记录的信息越来越少
##详细的可以查看手册:man 3 syslog
实验:查看日志的配置文件
在配置文件中可以看到,什么样的信息可以存放到什么样的日志当中。一般为日志的类型.日志的级别
3.日志的远程同步
在客户端-服务器系统中,需要统一将客户端的日志上传给服务器。下面介绍日志的远端同步
1)在日志发送方:
编辑日志的配置文件:vim /etc/rsyslog.cionf
*.* @172.25.254.185 ##“@”表示udp协议发送,“@@”表示tcp协议发送
这条信息的意思是:将所有类型文件的所有信息,以udp的方式传送到172.25.254.185的主机上
udp不可靠传输协议:无连接 tcp:可靠传输协议:有连接
重启日志服务:systemctl restart rsyslog
2)在日志接受方:
编辑日志的配置文件:vim /etc/rsyslog.conf
将udp的接收端口打开
15 $ModLoad imudp ##日志接收模块
16 $UDPServerRun 514 ##开启接收端口
重启日志服务:systemctl restart rsyslog
3)systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机关闭
4)测试:
在发送放和接受放都清空日志文件
> /var/log/messages
在日志的发送方
logger test
cat /var/log/messages ##查看日志已经生成
在日志接收方查看
cat /var/log/messages
4.日志采集格式###
日志的格式是可以自己设定的,可以设置自己喜欢的格式
在日志配置文件/etc/chrony.conf 添加格式
格式:
$template WESTOS, "%timegenerated% %FROMHOST-TP% %syslogtag% %msg%\n"
WESTOS ##相当于一个变量
%timegenerated% ##显示日志时间
%FROMHOST-TP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
在日志配置文件/etc/chrony.conf的输出项后面添加输出变量
$ActionfileDefaultTemplate WESTOS
*.info;mail.none;authpriv.none;cron.none /var/log/message;<<WESTOS>>
实验:设置新的日志输出格式
5.时间同步服务
在一个客户-服务器中,需要要求客户与服务器的时间保持一致,这就需要每个一小段时间,客户就需要同步服务器的时间,同时服务器的时间不可以更改。
1)在服务端:
编辑同步时间的配置文件:vim /etc/chrony.conf。修改下面的参数
22 allow 172.25.254.0/24 ##允许那些客户端来同步本机时间
29 local stratum 10 ##本机不同步任何主机的时进,本机作为时间源
重启同步时间服务:systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
2)在客户端
vim /etc/chrony.conf
server 172.25.254.185 iburst ##本机立即同步185主机的时间
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
测试:
chronyc sources -v
6.timedatectl命令
timedatectl命令是管理系统时间,设置时区
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间
list-timezone ##查看支持的所有时区
7.journal###
1)journalctl :日志查看工具,但是只能查看从开机到现在的日志,断电后从内从中清除。
参数:
-n 3 ##查看最近3条日志
-p err ##查看错误日志
-o verbose ##查看日志的详细参数
--since ##查看从什么时间开始的日志
--until ##查看到什么时间为止的日志
2).如何使用systemd-journald保存系统日志
默认systemd-journald是不保存系统日志到硬盘的
那么关机后再次开机只能看到本次开机之后的日志
上一次关机之前的日志是无法查看的
mkdir /var/log/journal ##建立一个目录存放日志
chgrp systemd-jiounal /var/log/journal ##改变进程的归属组为journal
chmod g+s /var/log/journal ##添加强制位,使得生成的文件都属于journal
killall -1 systemd-journald ##重新加载journald进程
ls /var/log/journal ##查看日志