系统日志的采集

日志是由进程生成

1.rsyslog 服务
此服务是用来采集系统日志的,他不产生日志,只是起到采集作用
2.rsyslog服务的管理

/var/log/messages

该文件储存服务信息日志

/var/log/secure

该文件储存登陆日志

/var/log/cron

该文件储存定时任务日志

/var/log/maillog

该文件储存邮件日志

/var/log/boot.log

该文件储存系统启动日志

3.指定日志采集路径

/etc/rsyslog.conf    ##编辑 rsyslog 服务的配置文件
什么类型的日志 . 什么级别的日志      /var/log/filename   ##日志的采集规则

日志类型分为:

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 7 rsyslog

操作示例:
目的:
把系统中所有日志采集到/var/log/westos文件中
操作:

vim /etc/rsyslog.conf
       *.*                              /var/log/westos  ##文件第57行左右
        systemctl  restart  rsyslog    ##重启服务

编辑日志采集文件 将所有日志采集到/var/log/westos

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集

测试:

systemctl restart  sshd    ##此命令为了生成日志
        cat  /var/log/westos  ##此文件中出现日志信息

4.日志的远程同步
在日志的发送方:

vim /etc/rsyslog.conf   ##更改日志管理的配置文件
 *.*     @172.25.254.202 ##@表示使用udp协议的发送 @@表示使用tcp协议的发送 后面跟日志的接受方ip 第57行左右
 systemctl restart rsyslog ##重新j加载

在日志发送方编辑配置文件 发送日志

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_02

日志的接收方:

vim /etc/rsyslog.conf  
15 $MODLOAD Imudp  ##开启日志的接收模块
16 $UDPSereverRun 514  ##开启日志接收端口
systemctl restart rsyslog 
systemctl stop firewalld  ##关闭防火墙,当防火墙打开时,日志不能传输过来
systemctl disable firewalld  ##设定防火墙开机关闭

在日志接收方编辑配置文件 打开接收端口

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_03


在日志接收方关闭防火墙并重新加载服务

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_配置文件_04

测试:
在发送方和接受方都清空日志:

> /var/log/messages

在日志的发送方:

logger test     ##  j建立日志
  cat    /var/log/messages  ##查看日志是否生成

发送方建立日志

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_05

在日志的接收方查看:

cat  /var/log/messages

可以在接收方查看到建立的test日志

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_06

注意:在编辑好配置文件后需要重新加载服务 在关闭防火墙之后也需要加载服务
5.日志采集格式的设定

vim  /etc/rsyslog .conf  
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"  ##设定日志采集格式

%timegenerated%

显示日志时间

%FROMHOST-IP%

显示主机ip

%syslogtag%

日志记录目标

%msg%

日志内容

\n

换行

编辑日志的采集格式

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_07


当编辑配置文件出现语法错误时会出现以下内容

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_配置文件_08

*.*              /var/log/westos;WESTOS   ##在指定的日志中采用WESTOS格式
  $ActionFileDefultTemlate  WESTOS    ##修改系统默认日志采集格式为WESTOS
  cat /var/log/westos  ##可以观察到该文件内容在设定后日志的采集格式为WESTOS格式

修改系统默认日志的采集格式为WESTOS

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_09


指定某个文件的日志采集格式

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_10

6.日志时间同步设定(主机时间的同步)
服务名称:chronyd
在服务端:

vim     /etc/chrony.conf   ##编辑该服务的配置文件
22 allow172.25.254.0/24   ##允许那些客户端来同步本机时间    网络号与172.25.254相同的可以同步本机时间
29  local stratum 10##本机不同步任何主机的时间,本纪作为时间源
systemctl   restar   chronyd

在服务端编辑配置文件 允许相应主机的ip连接

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_11


在客户端:

vim  /etc/chrony.conf
server172.25.254.102    ##本机立刻同步102主机时间
systemctl  restart  chronyd

执行命令后如图所示 与远程主机时间同步

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_12


测试:

在客户端执行:

chronyc   sources   -v

执行该命令后 如图所示 ^ * 表示建立了同步关系

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_配置文件_13

timedatectl 命令
管理系统时间命令 :timedatectl

timedatectl  status  ##显示当前时间信息 (可以加也可以不加status 不加表示默认)
timedatectl   set-time   09:11  ##设定当前时间为09:11
timedatectl   set-timezone  Asia/Shanghai  ##设定当前时区为亚洲上海
timedatectl   list-timezones   ##查看支持的所有时区
timedatectl   set-local-rtc  0|1 ##设定是否使用utc时间 使用utc国际时间则本机时间为utc加时区差

设定当前时区为上海

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_14

设定当前时间为09:11

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_15

查看支持的时区 使用分页浏览

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_16


utc 与rtc

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_配置文件_17

日志查看

  1. journalctl 日志的查看工具
journalctl  -n  3  ##查看最近的三条日志  
  journalctl   -p err  ##查看错误日志
  journalctl  -o  verbose  ##查看日志的详细参数
   journalctl  --since   ##查看从什么时间开始的日志
   journalctl   --until  ##查看到什么时间为止的日志

查看最近三条命令

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_配置文件_18

查看错误日志

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_19


查看从2019-07-17 04:39:25开始的日志

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_20


查看从2019-04:39:25到04:39:27的日志

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_配置文件_21

2.如何使用systemd-journald 保存系统日志
默认systend-journald是不保存系统日志到硬盘的,关机后再次开机只能看到本次开机之后的日志,上次关机之前的日志是无法查看的

保存系统日志到硬盘:

mkdir/var/log/journal  
chgrp  systemd-journal  /var/log/journal
chmod  g+s /var/log/journal 
killall  -1 systemd-journald
ls  /var/log/journal
946cb0e817ea4ad916183df8c4fc817   ##产生的数据文件 日志信息

在设定配置文件之前 查看系统日志为

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_配置文件_22


重启系统后 之前的日志丢失

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_日志采集_23

设定相应可以储存系统日志地文件

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_24

再次重启系统 可以发现日志没有丢失

采用daemonset方式采集容器日志会出现日志丢失 日志文件采集_系统日志_25