linux——系统日志的信息、采集、查看、保存

为了方便查看操作记录,需要规定日志采集位置

一、日志采集规则

1.vim /etc/rsyslog.conf #打开规定采集日志的位置的配置文件,进行编辑,从而修改配置文件
*.*                        文件名称
日志类型.日志级别          日志存放文件

##日志在内存中,rsyslog.service  服务是将日志采集并整理存放在硬盘中

2.日志类型
auth              #用户登陆日志(pam产生日志)
authpriv          #服务认证日志(sshd认证)
kern              #内核日志
cron              #定时任务日志
lpr               #打印机日志
mail              #邮件日志
news              #新闻
user              #用户相关程序日志
local 1-7         #用户自定义日志

3.日志级别
debug      #系统调试信息
info       #常规信息
warning    #警告信息
err        #报错(级别低,阻止了某个功能不能正常工作)
crit      #报错(级别高,组织了整个软件或整个系统不能正常工作)
alert     #需要立即修改的信息
emerg     #内核崩溃
none      #不采集任何日志信息
notice  #最具有重要性的普通文件


auth.debug     /var/log/tutu   #将级别为debug、类型为auth的日志存储到tutu文件中

auth.*                           #所有级别、类型为auth
*.*            /var/log/log.all  #将所有级别,所有类型的日志存储到log.all文件中

4.系统常用日志

/var/log/messages   #所有日志级别的常规信息(不包含邮件,服务认证,定时任务)

/var/log/mailing    #邮件日志

/var/log/secure     #服务认证日志

/var/log/cron       #定时任务日志

注意:当清空了messages后还有日志时,是因为有脚本在运行,需要在实验前先删除rc.local

#> /etc/rc.d/rc.local

二、日志的远程同步

在日志发送方
vim /etc/rsyslog.conf
*.*      @172.25.254.127 ##日志接收方地址

systemxtl restart rsyslog
linux——系统日志的信息、采集、查看、保存
在日志接收方
#UDP与TCP
UDP:速度快,只需一次握手,安全性和稳定性差
TCP:与UDP相比,速度较慢,需三次握手,安全性和稳定性较好

vim /etc/rsyslog.conf
 14 # Provides UDP syslog reception  
 15 $ModLoad imudp   #日志接收插件

 16 $UDPServerRun 514  #日志接收插件接收端口

linux——系统日志的信息、采集、查看、保存
systemctl restart rsyslog
systemctl stop firewalld     #停止防火墙
systemctl disable firewalld  #关闭防火墙

实验:node1   [[email protected] ~]# vim /etc/rsyslog.conf

      node2   测试(连接node1做实验)

做实验前配置环境
[[email protected] Desktop]$ ssh [email protected]
The authenticity of host '172.25.254.227 (172.25.254.227)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.254.227' (ECDSA) to the list of known hosts.
[email protected]'s password:
Last login: Fri Apr 13 21:11:41 2018
[[email protected] ~]# hostnamectl set-hostname node2.example.com
[[email protected] ~]# logout
Connection to 172.25.254.227 closed.
[[email protected] Desktop]$ ssh [email protected]
[email protected]'s password:
Last login: Fri Apr 13 21:21:14 2018 from 172.25.254.27
[[email protected] ~]#

(node1同上)

三、定义日志采集格式
vim /etc/rsyslog.conf
$template 格式名称,"日志采集格式"
*.info;mail.none;authpriv.none;cron.none                /var/log/messages;格式名称

$template tutu,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
*.info;mail.none;authpriv.none;cron.none                /var/log/messages;tutu

$template tutu,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
timegenerated% #日志生成时间
%FROMHOST-IP% #日志来源主机的IP
%syslogtag% #日志生成程序
%msg% #日志内容
\n #换行
*放图
四、journalctl日志查看工具
journalctl #日志查看工具,直接查看内存中的日志。实时监控本机日志
-n 5 #查看最新的五条日志    
-p err #查看所有日志的报错
-f #监控日志命令,用户crtl+c结束监控
--since 14:23 --until 15:00 #查看14:23到15:00之间的所有日志
-o verbose  #查看日志详细参数, 查看后可以用 _pid651    journalctl _pid651

对system-journald管理
默认此程序只负责对日志进行查看而不对日志进行保存和采集
关机后再开机,对日志进行查看,只能查看到开机后的日志
在系统之前日志因为是保存在内存中的,
所以关机后就被清空了,那么在开机时用journalctl是看不到的

如何让systemd-journald保存日志到硬盘中
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald

journalctl -n 4
date
reboot
journalctl

五、时间同步
在服务器端共享时间:
vim /etc/chrony.conf
29  local startum 10     #开启时间共享功能并设定共享级别
                         #这个参数开气候本机不去同步别人的时间到本机
22  allow 172.25.254.0/24   #允许哪些客户来访问本机共享的时间

systemctl restart chronyd.service(chronyd)   #重启该服务        

[[email protected] ~]# vim /etc/chrony.conf
[[email protected] ~]# systemctl restart chronyd.service
[[email protected] ~]# date
Sat Apr 14 03:02:38 EDT 2018
[[email protected] ~]#

在客户端:
vim /etc/chrony.conf
server 172.25.254.127 iburst

systemctl restart chronyd.service(chronyd)   #重启共享服务

chronyc sources -v   #查看共享状态

[[email protected] ~]# vim /etc/rsyslog.conf
[[email protected] ~]# date
Sat Apr 14 03:00:24 EDT 2018
[[email protected] ~]#
[[email protected] ~]# vim /etc/chrony.conf
[[email protected] ~]# systemctl restart chronyd.service
[[email protected] ~]# 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.127               10   6    77    48    -12us[  -37us] +/-  186us
[[email protected] ~]#

timedatectl #查看当前时区
timedatectl list-timezones #查看所有时区列表
timedatectl set-timezone Asia/Shanghai #设定当前时区为Asia/Shanghai
timedatectl set-local-rtc 0|1 #设定是否使用UTC时间
timedatectl set-time "2018-11-11 11:11:11" #设定时间为2018-11-11 11:11:11