Linux-系统日志

一、系统日志的管理

日志:后台的程序(通常被称为守护进程或者服务进程)处理了你的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       #第15行 日志的接收模块
16 $UDPServerRun 514    #第16行 开启接收端口

测试:

在发送方和接收方都清空日志文件
> /var/log/message          #清空日志文件



在日志的发送方
logger test
cat /var/log/message        #查看日志是否生成



在日志的接收方
tail -f /var/loge/message   #动态监控文件的末尾信息

4、日志采集格式的设定

在日志的接收方做:
vim /etc/rsyslog.conf     #修改文件

$template LOGFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

%timegenerated%    #显示日志时间
%FROMHOST-IP%      #显示主机IP
%syslogtag%        #日志记录目标
%msg%              #日志内容

*.*                               /var/log/westos;LOGFMT

二、时间同步服务

1、服务的名称: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
3 server 172.25.254.101 iburst   #本机同步172.25.254.101主机的时间


测试:
在客户端
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.101               10   6    37     0    -17us[-47303s] +/- 1757us
#出现以上信息说明已经完成同步


2、系统时间的设定

man  date        #查看date手册


date -d +3day    #查看三天后的时间
date -d -3day    #查看三天前的时间


date +%Y%m%d     #显示时间格式
date +%Y/%m/%d  
date +%Y-%m/%d
date +%Y-%m-%d

例:

Linux-系统日志

Linux-系统日志

Linux-系统日志

管理系统的时间:timedatectl

timedatectl status            #显示当前时间的信息
timedatectl set-time "2012-10-30 18:17:16"   #设定当前时间
timedatectl set-timezone      #设定当前时区
timedatectl list-timezones    #查看支持的所有时区
timedatectl set-local-rtc 0   #设定不使用utc时间
timedatectl set-local-rtc 1   #设定使用utc时间

3、查看日志的工具:journal

journalctl           #查看日志的工具
journalctl -n 3      #查看最近3条日志
journalctl -p err    #查看错误日志

journalctl --since    #查看从什么时间开始的日志
journalctl --until    #查看从什么时间截至的日志

例:journalctl --since '2012-10-30 12:00' --until '2012-10-30 12:01'
如何使用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
#看目录的时间,这个时间之后的日志都会记录

练习题:

 

上一篇:设置centos7上的时间与网络同步


下一篇:java – Hazelcast:如何确保集群启动完成