1】.rsyslog
此服务用于采集系统日志,但他不产生日志 只是起到采集了作用
2】rsyslog的管理
指定日志采集路径写入 /etc/rsyslog.conf(配置文件)
日志文件目录:
/var/log/messages ##信息服务日志
/var/log/secure ##系统登陆日志
/var/log/cron ##定时任务日志
/var/log/maillog ##邮件日志
/var/log/boot.log ##系统启动日志
3】日志采集规则(格式)
什么类型的日志.什么级别的日志 /var/log/file
日志的类型分类
类型名称 | 代表类型 |
---|---|
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 ##需要立刻修改的信息
emery ##内核崩溃等严重信息
none ##什么都不记录
##注意:从上到下,级别从低到高,记录的信息越来越少
##详细的可以查看手册:man 3 syslog
退出保存后需要重启服务
systemctl restart rsyslog.service
3.日志的远程同步
在日志发送方:
vim /etc/rsyslog.conf
* . * @ip ##"@"表示udp协议发送,“@@”表示tcp协议发送
2)在日志的接受方:
vim /etc/rsyslog.conf
15 $ModLoad imudp //日志接受模块
16 $UDPServerRun 514 //开启接受端口
systemctl restart rsyslog
systemctl stop firewalld //关闭火墙
systemctl disable firewalld //设定火墙开机关闭
测试::
在发送方和接受方都清空日志文件
/var/log/messages
在日志的发送方
logger test
cat /var/log/messages
4.日志采集格式的设定
vim /etc/rsyslog.conf
$template WESTOS, “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n” //设置WESTOS的日志采集格式
%timegenerated%/ 显示日志时间
%FROMHOST-IP% 显示主机IP
%syslogtag% 日志记录目标
%msg% 日志内容
\n 换行
注意:* . * /var/log/messages;TEST //在这个日志下使用TEST的日志采集格式
cat /var/log/messages //查看该文件下的日志是否为TEST的显示格式
5.时间同步服务
服务名称
chronyd
##在服务端##
vim /etc/chrony.conf
22行 allow 172.25.254/24 //允许哪些来同步本机时间
29行 local stratum 10 //本机不同不任何主机的时间,本机作为时间源
允许指定ip或者网络位相同的客户端来同步本机时间
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
在客户端
vim /etc/chrony.conf
server 172.25.254.202 iburst ##本机立即同步202主机的时间
systemctl restart chronyd 重起服务
##测试##
#在客户端
chronyc sources -v
6.timedatectl命令
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间(默认为0)
list-timezone ##查看支持的所有时区
[root@server_sshd ~]# timedatectl status
Local time: Tue 2019-01-15 11:30:03 CST ##本地时间
Universal time: Tue 2019-01-15 03:30:03 UTC ##世界协调时间
RTC time: Tue 2019-01-15 03:30:03 ##主板硬件时间
Timezone: Asia/Shanghai (CST, +0800) ##时区
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
journalctl
journalctl所看的日志都保存在内存里,重启之后会消失
7.journal
(1).journalctl //日志查看工具
journalctl -n 3 //查看最近三条日志
journalctl -p err //查看错误日志
journalctl -o verbose //查看日志的详细参数
journalctl -since ##查看从什么时间开始的日志
journalctl --until ##查看到什么时间为止的日志
2.如何使用systemd-journald保存系统日志
默认systemd-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
在reboot虚拟机的时候然后会看到上一次的日志是存在的