天天看点

日志管理、配置日志服务器 、配置时间同步

日志管理程序:rsyslog

程序包:rsyslog ,端口默认514,加密日志,端口是 6514

配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/.conf  库文件: /lib64/rsyslog/.so

配置文件格式:由三部分组成:

——MODULES:相关模块配置

——GLOBAL DIRECTIVES:全局配置

——RULES:日志记录相关的规则配置

systemctl start rsyslog.service ##加载日志收集

  • /var/log/messages ##清空目录内容
  • 实时监控日志 #tail -f /var/log/messages (Ctrl+Z结束)

定义日志采集格式: vim /etc/rsyslog.conf (RULES日志记录相关的规则配置 下面配置)

$template 格式名称,“日志采集格式”

$template xupt,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

%timegenerated% ##日志生成时间

%FROMHOST-IP% ##日志来源主机的IP

%syslogtag% ##日志生成程序

%msg% ##日志内容

\n ##换行

Systemd 统一管理所有 Unit 的启动日志。日志分析工具journal(内核日志和 应用日志)。

systemd-journald 进程名称

journalctl ##日志查看,直接查看内存中的日志

配置文件 :/etc/systemd/journald.conf

journalctl:在root下运行,默认打印日志。

-n:默认显示最后十条日志。

-n 数字:显示后数字行的日志。

-p 级别名称:显示级别为该级别的日志信息。

-f:实时监控刷新日志。 ctrl+c结束监控

-o verbose:查看日志的详细字段。

XXX:过滤出和XXX 相关的日志信息。

journalctl --since --until 从什么时间到什么时间的日志

默认情况下,systemd日志保存在/run/log/journal中,系统重启时会被清除

  1. 常见的日志文件:

    /var/log/messages ##系统中大部分的信息

    /var/log/secure ##系统安装日志,文本格式,应周期性分析

    /var/log/cron ##定时任务日志

    /var/log/maillog ##邮件日志

    /var/log/boot.log ##系统启动日志

    /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看

    /var/log/wtmp:当前系统上,用户正常登录系统的相关日志 信息,二进制格式,last命令可以查看

    /var/log/lastlog:每一个用户最近一次的登录信息,二进制格 式,lastlog命令可以查看

    /var/log/dmesg:系统引导过程中的日志信息,文本格式文本,可用查看工具查看或专用命令dmesg查看

    /var/log/anaconda : anaconda的日志

2) 日志级别:–man 3 syslog

debug ##有调式信息的,日志信息最多

info ##一般信息的日志,最常用

notice ##最具有重要性的普通条件信息

warning ##警告级别

err ##错误级别,组织某个功能或者模块不能正常工作的信息

crit ##严重级别,组织整个系统或者整个软件不能正常工作的信息

alert ##需要立刻修改的信息

emerg ##内核崩溃等严重信息

none ##什么都不记录

注意:日志级别从上到下,级别从底到高,记录的信息越来越少,

3)日志的类型分为:

auth ##pam产生的日志

authpriv ##ssh,ftp等登陆服务的验证信息

cron ##时间任务相关

kern ##内核

lpr ##打印

mail ##邮件

mark(syslog)-rsyslog ##服务内部的信息,时间标示

news ##新闻组

user ##用户程序产生的相关信息

uucp ##unix to unix copy,unix主机之间相关的通讯

local 1~7 #自定义的日志设备

日志轮替:

logrotate是Linux自带的日志轮替工具,其配置文件路径为/etc/logrotate.conf

语法:vim /etc/logrotate.conf添加日志路径(如/usr/local/apache/logs/access_log) {[options]}即可

daily/weekly/monthly 按天/周/月轮替

rotate 数字,保留日志文件的个数

create mode owner group,新建日志,指定权限,所有者,所属组

size 大小,日志大于指定大小才轮替而不是按照时间

dateext

语法:logrotate [-vf] 配置文件名

无选项 按照配置文件中的条件进行轮替

-v 显示日志轮替过程

-f 强制进行日志轮替

查看日志的工具:tail 、 more 、 less 、 cat 、 who 、 w 、 users 、last 、ac

管理日志的几方面:日志备份和归档 、延长日志保存期限、控制日志访问权限、集中管理日志

1、日志备份和归档

语法:dump [选项] 备份后的文件名 原文件或目录

-level(0-9) 备份级别,0代表完全备份,1-9代表增量备份

-f 文件名,指定备份之后的文件名

-u 备份成功后将备份时间记录在/etc/dumpdates文件中

-v 显示详细信息

-j 将备份文件压缩为.bz2格式

-W 显示被备份的分区的 备份等级及备份时间

例子:dump -0uj -f /root/boot.bak.bz2 /boot/

注意:dump命令只有在备份分区的时候才可以执行增量备份,目录文件只能进行完全备份

语法:restore [-C|i|t|r] [-f]

-C 比较备份数据与实际数据的变化

-i 进入交互模式,手工选择需要恢复的文件

-t 查看模式,查看备份文件中拥有哪些数据

-r 还原模式,用于数据还原

-f 指定备份文件的文件名

注意:C,i,t,r 四种模式不能混用

2、延长日志保存期限

把systemd-journal保存日志到硬盘中

mkdir /var/log/journal

chgrp systemd-journal /var/log/journal

chmod g+s /var/log.journal

killall -1 systemd-journald

journalctl -n 3

reboot

journalctl

3、控制日志访问权限

4、集中管理日志

——————————————————————————————————————————

一、配置日志远程同步(把172.25.0.250的日志同步到172.25.0.11)

1)日志发送方:

vim /etc/rsyslog.conf

. @172.25.0.11 ## @表示udp协议发送 @@表示tcp协议发送

]# systemctl restart rsyslog

2) 日志接收方:

vim /etc/rsyslog.conf

15 $ModLoad imudp ##日志接受模块

16 ¥UDPServerRun 514 ##开启接受端口

关闭防火墙和放开selinux

systemctl restart rsyslog

systemctl stop firewalld

systemctl disable firewalld

3) 测试 :在发送方和接受方都清空日志文件

  • /var/log/messages ##方便查看结果

    4)在日志接受方查看

    cat /var/log/messages

二、同时在主机上配置时间同步、服务名称:chronyd

1、配置NTP服务 (服务端:172.25.0.250)

vim /etc/chrony.conf

6 server 118.24.4.66 iburst //指定网络的NTP服务IP

22 allow 172.25.0.0/24 //允许同步本机的IP网段

29 local stratum 10 //开启时间共享功能并设定共享级别,这个参数开启后本机不同步别人的时间到本机

]# systemctl restart chronyd

]# chronyc sources -v

^* 118.24.4.66 //出现说明同步成功

]# timedatectl //显示当前时间信息

2、 客户端验证(172.25.0.11):

vim /etc/chrony.conf

server 172.25.0.250 iburst

注意:** NTP enabled 修改为yes时,表示开启自动同步时间,为No时,表示关闭自动同步时间。手动修改时间时,必须把NTP enabled 设置为no.**

]# systemctl restart chronyd

]# chronyc sources -v (时间同步需要等一会时间)

^ 172.25.0.250

]# timedatectl

]# timedatectl --help

选项:set-time ##设定当前时间

set-timezone ##设定当前时区

set-local-rtc 0|1 ##设定是否使用utc时间

set-ntp yes ##表示开启自动同步时间

延迟命令 at at 时间

例子:]# at now+5min

at> touch /mnt/file{1…10}

at> (ctrl+d 结束)

job 1 at Mon May 27 20:18:00 2019 //5分钟之后执行命令

]# cd /mnt/

]# ls

file1 file10 file2 file3 file4 file5 file6 file7 file8 file9

+++++++++++++++++++++++++++++++++++++++++++++++

修改虚拟机时间同步:

安装时间同步插件:#yum install ntpdate

开启时间同步 # systemctl restart ntpdate

与已知时间服务器同步:ntpdate 118.24.4.66

rm -rf /etc/localtime 删除本地时间

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 设置时区为上海

修改虚拟机时区

通过tzselect命令来修改时区:

1)执行tzselect命令 --> 选择Asia --> 选择China --> 选择Beijing — 选择yes (输入选项对应的数字)

2)执行完tzselect命令选择时区后,在命令最后提示你可以执行TZ=‘Asia/Shanghai’ ; export TZ。

3)把TZ=‘Asia/Shanghai’ ; export TZ 添加到/etc/profile中

重启机器

4)查看当前时区 #date -R

5)查看当前时间 # date

修改虚拟机硬件时钟:

使用hwclock或clock命令查看和设置硬件时钟:

查看硬件时钟:# hwclock --show 或 # clock --show

设置硬件时钟:# hwclock --set --date=“09/17/2003 13:26:00” 或 # clock --set --date=“09/17/2003 13:26:00”

通用的设置格式:hwclock/clock --set --date=“月/日/年 时:分:秒”。(格式很重要)

设置系统时钟:# date [选项] [MMDDhhmm[[CC]YY][.ss]]

硬件时钟与系统时钟同步:# hwclock --hctosys 或 # clock --hctosys

系统时钟和硬件时钟同步: # hwclock --systohc 或 # clock --systohc

继续阅读