一、rsyslog简介
日志对于系统和服务安全来说非常重要,它记录了系统每天发生的各种各样的事情,你可以通过他来检查并排除错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。本篇会比较详细的介绍有关Linux日志管理相关的基础介绍和技巧、工具,帮助Linux系统管理员们掌握日志的使用,用好日志可以更好的进行日常的工作的处理。
C/S架构:通过TCP或UDP协议的服务完成日志记录传送, 将分布在不同主机的日志实现集中管理。
rsyslog特性:
多线程
UDP, TCP, SSL, TLS, RELP
MySQL, PGSQL, Oracle实现日志存储
强大的过滤器,可实现过滤记录日志信息中任意部分
自定义输出格式
1、日志的查看
# 清空目录内容
[root@localhost ~]# >/var/log/messages
# 查看日志
[root@localhost ~]# tail /var/log/messages
# 加载日志收集
[root@localhost ~]# systemctl restart rsyslog
# 系统登陆日志
[root@localhost ~]# tail /var/log/secure
# 定时任务日志
[root@localhost ~]# tail /var/log/cron
# 邮件日志
root@localhost ~]# tail /var/log/maillog
# 系统启动日志
[root@localhost ~]# tail /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 #自定义的日志设备
3、日志级别
debug ##有调式信息的,日志信息最多
info ##一般信息的日志,最常用
notice ##最具有重要性的普通条件信息
warning ##警告级别
err ##错误级别,组织某个功能或者模块不能正常工作的信息
crit ##严重级别,组织整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
注意 :日志级别从上到下,级别从底到高,记录的信息越来越少。
二、日志同步
发送端
1、修改发送方式
[root@localhost ~]# vi /etc/rsyslog.conf
# 发送到192.168.247.130
*.* @192.168.247.130
发送方式有两种TCP和UDP,一个@符表示发送方式是UDP,两个@@符则表示发送TCP
2、重起服务
[root@localhost ~]# systemctl restart rsyslog
3、写日志
[root@localhost ~]# logger hello
接收端
1、关闭防火墙
[root@localhost ~]# systemctl stop firewalld
2、修改接收方式
[root@localhost ~]# vi /etc/rsyslog.conf
# 发送方式为UDP则修改15行和16行
$ModLoad imudp
$UDPServerRun 514
# 发送TCP则修改19行和20行
$ModLoad imtcp
$InputTCPServerRun 514
[root@localhost ~]# systemctl restart rsyslog
3、实时监控日志
[root@localhost ~]# tail -f /var/log/messages
三、日志采集格式
- 接收方
[root@localhost ~]# vi /etc/rsyslog.conf
# 行添加:
$template WESTOS,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
# 54行输出添加:
*.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS
# 然后重起服务
[root@localhost ~]# systemctl restart rsyslog
说明:
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
四、时间同步服务
【1】作用:让多台虚拟机保持时间的一致。
【2】服务名称:chronyd
安装服务:
[root@localhost ~]# yum -y install chrony
服务端:
1、修改参数
[root@localhost ~]# vi /etc/chron.conf
# 22行改服务地址 # 允许ip为192.168.247.0、子网掩码为24的主机同步时间
allow 192.168.247.0/24
# 29行启用 表示不同步其他时间
local stratum 10
2、重起服务
[root@localhost ~]# systemctl restart chrony
3、查看当前时间
# 查看当前时间
[root@localhost ~]# date
客户端:
#2-5行留下一行,表示要同步的主机为192.168.247.130
server 192.168.247.130
测试:在客户端输入
root@localhost ~]# chronyc sources -v
时间设置timedatectl:
[root@localhost ~]# timedatectl
Local time: 日 2019-11-03 09:43:03 CST
Universal time: 日 2019-11-03 01:43:03 UTC
RTC time: 六 2019-11-02 19:22:31
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
# 列出所有时区
[root@localhost ~]# timedatectl list-timezones
修改时区:
timedatectl set-timezone 时区名
时间设定:
timedatectl set-time "2018-7-20 12:00:00"
表示使用UTC时间:
timedatectl set-local-rtc 0
表示使用LOCAL时间
timedatectl set-local-rtc 1