菜鸟笔记
提升您的技术认知

Linux下的日志服务

**

Linux下的日志服务

**
rsyslog:是用于采集日志的,它不产生日志,只起到采集作用

1.rsyslog的管理

  • var/log/messages 服务信息日志
  • /var/log/secure 系统登录日志
  • /var/log/cron 定时任务日志
  • /var/log/maillog 邮件日志
  • /var/log/boot.log 系统启动日志
    2.指定日志的采集路径
    日志的类型
日志 类型
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 内核崩溃等严重信息

尝试更改日志的储存目录
1.先打开文件目录

vim  /etc/rsyslog.conf         #日志的配置文件

2.设置所有文件都保存在/var/log/westos下

*.*                           /var/log/westos

3.重启服务

systemctl restart rsyslog      #重启日志服务




2.日志的远程同步
首先将日志信息清空(接受方和发送方都需要清空)

将/var/log/messages清空,仍存在许多日志信息,这些/etc/rc.d/rc.local信息将会影响我们的实验效果,我们需要将其清理掉

之后在发送方更改日志的配置文件

vim /etc/log/rsyslog.conf
*.*     @172.25.254.155     
systemctl restart rsyslog


在日志的接受方

vim /etc/rsyslog.conf
systemctl restart rsyslog 

开启日志接受模块

通过netstat -antlupe | grep rsyslog命令,可以检查端口是否已经打开

在服务端关闭防火墙

systemctl stop firewalld         ##关闭火墙
systemctl disable firewalld      ##设定火墙开机关闭


同时打开接受方和发送方窗口,看看日志是不是同时生成

日志的发送方
> /var/log/messages       ##清空日志信息
logger test               ##生产日志信息
cat /var/log/messages     ##查看日志是否已经生成

日志的接受方
> /var/log/messages       ##清空日志信息
cat /var/log/messages     ##查看日志是否同步



日志采集格式的设定
在下方所示文件中设定采集的格式

vim /etc/rsyslog.conf

在文件中输入设定的模式

$template WESTOS,  "%timegenerated% %FROMHOST-IP% %msg\n%"
*.*                                         /var/log/all_messages;WESTOS



重启日志服务,查看日志内容

systemctl restart rsyslog.service
cat /var/log/westos


如何同步客户端和服务端的时间

时间同步服务

  1. chrony命令

服务端:
更改服务端的时间管理配置服务

vim /etc/chrony.conf

在文件中添加如下命令:

allow 172.25.36.134/24     #允许网络位相同的客户端来同步本机时间
local stratum 10           #本机不同步任何主机的时进,本机作为时间源 (时间源的优先级为10)



重启时间管理服务,关闭防火墙

systemctl restart chronyd.service       #重启服务
systemctl stop firewalld                #关闭防火墙


客户端:
在客户端同样访问日志配置文件

vim /etc/chrony.conf

在文件中添加

server 172.25.36.234 iburst         #本机立即同步234主机的时间


重启客户端时间管理服务
进行测试观察时间是否符合标准
在客户端更改时间

date 11111111             #更改时间
chronyc sources -v        #更新日期时间
date                      #再次查看时间

  1. timedatectl命令
timedatectl            #管理系统时间
timedatectl status      #显示当前时间信息


timedatectl 命令

timedatectl             #管理系统时间
timedatectl status      #显示当前时间信息

timedatectl set-timezone Asia/Shanghai     #更改时区为东八区

timedatectl set-time "2019-03-26 5:20" #设置当前时间

timedatectl set-local-rtc 0/1 #设置是否使用utc时间
timedatectl list-timezone      #查看支持的时区


查看内存中的日志

  • 日志查看工具:journalctl命令
journalctl -n 5       #查看最近5条日志

journalctl -p err        #查看错误日志

journalctl -o verbose       #查看日志的详细参数

journalctl --since "**.**"              #查看从什么时候开始的日志
journalctl --until "**.**"            #查看到什么时候结束的日志


如何使用systemctl-journald保存系统日志
默认systemd-journald是不保存系统日志到硬盘,那么如果关机后再次开机只能看到本次开机以后的日志,上次的日志是无法查看的

mkdir /var/log/journal                  # 创建一个目录用于存放日志
chgrp systemd-journal /var/log/journal   #归到日志组
chmod g+s /var/log/journal                      
killall -l systemd-journald
```![在这里插入图片描述](https://img-blog.csdnimg.cn/20190416215516928.png)