**
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 | 打印 |
| 邮件 | |
| 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

如何同步客户端和服务端的时间
时间同步服务
- 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 #再次查看时间

- 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
```
菜鸟笔记