**
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
```![在这里插入图片描述](https://img-blog.csdnimg.cn/20190416215516928.png)