Linux日志管理

来源:互联网 发布:弓箭女王升级数据 编辑:程序博客网 时间:2024/05/29 18:02

一.日志分类

1.系统日志默认分类

/var/log/messages ##系统服务及日志,包括服务的信息,报错等等
/var/log/secure ##系统认证信息日志
/var/log/maillog ##系统邮件服务信息
/var/log/cron ##系统定时任务信息
/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 ##什么都不记录

注意:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册: man 3 syslog

二.日志采集

1.日志采集服务

rsyslog.service ##日志采集服务
/etc/rsyslog.conf ##日志采集服务配置文件
编辑日志采集服务配置文件,在适当位置添加

*.* /var/log/yu
采集什么样的程序.日志的级别 /日志存放位置(绝对路径)

2.日志采集格式

编辑日志采集服务配置文件,在适当位置添加
/etc/rsyslog.conf ##日志采集服务配置文件

$template YU, “%FROMHOST-IP% %timegenerated% %msg%\n”
*.* /var/log/yu;YU
采集什么样的程序.日志的级别 /日志存放位置;日志采集格式

%FROMHOST-IP% ##产生日志的IP
%timegenerated% ##时间戳
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行

3.连接符号

.xxx: 表示大于等于xxx级别的信息
.=xxx:表示等于xxx级别的信息
.!xxx:表示在xxx之外的等级的信息

三.日志同步

systemctl stop firewalld ##关闭两台主机的火墙

1.日志发送方

*.* @172.25.0.11 ##通过udp协议把日志发送到11主机,@udp,@@tcp
这里写图片描述

2.日志接受方

15 $ModLoad imudp ##日志接收插件
16 $UDPServerRun 514 ##日志接收插件使用端口

这里写图片描述
[root@client ~]# netstat -anulpe |grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:* 0 19917 478/rsyslogd
udp6 0 0 :::514 :::* 0 19918 478/rsyslogd

测试
> /var/log/yu ##清理日志文件
logger test ##日志发送方,产生测试日志

tail -f /var/log/yu ##日志接收方,实时监控日志变化
这里写图片描述

四.时间同步

1.本机内部同步时间

clock -s ##将软件时间同步成硬件时间
clock -w ##将硬件时间同步成软件时间

2.c/s模型同步时间

前期准备关闭服务器火墙
chrony.service ##时间同步服务
/etc/chrony.conf ##时间同步服务配置文件
server端:

21 # Allow NTP client access from local network.
22 allow 172.25.254.0/24 ##允许那个网段同步时间

28 # Serve time even if not synchronized to any NTP server.
29 local stratum 10 ##这个同步时间的优先级

client端:

3 server 172.25.254.10 iburst ##需要同步哪一个ip的时间

修改后重启服务
chronyc cources -v ##查看时间同步信息
这里写图片描述
3)timedatectl命令
timedatectl ##直接执行,显示当前时间信息
set-time “2017-11-11 11:11:11” ##设定当前时间
set-list-timezones ##显示系统中存在的时区信息
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间

五.日志分析工具

systemd-journald ##进程名

journalctl ##直接执行显示所有日志信息
-n 5 ##显示最近5条日志
-p err ##显示错误日志
-f ##监控日志
-o verbose ##显示日志使用的进程的详细参数
##journalctl -o verbose _SYSTEMD_UNIT=sshd.service _PID=1079
##_SYSTEMD_UNIT=sshd.service服务名称
##_PID=1079进程PID
这里写图片描述
journald默认情况下只记录开机后的日志文件
要永久记录日志:
mkdir /var/log/journal ##创建记录journald目录名字不可更改
chgrp systemd-journal /var/log/journal##改变目录所有组
chmod 2755 /var/log/journal ##给所有组权限加s即以所有组的身份在目录中建立文件
killall -1 systemd-journald ##重启systemd-journald进程
ls /var/log/journal/946cb0e817ea4adb916183df8c4fc817
system.journal user-42.journal
##多出的两个日志记录文件不可直接查看可通过journalctl命令查看

0 0