######1.系统日志采集######
1.rsyslog 此服务时用来采集系统日志的。他不产生日志,只是起到采集作用
2.rsyslog的管理
/var/log/messages 服务信息日志
/var/log/secure 系统登陆日志
/var/log/maillog 邮件日志
/var/log/boot.log 系统启动日志
指定日志采集路径
什么类型的日志.什么级别的日志 /var/log/file #日志采集规则
######2.日志类型######
auth ##pam产生的日志
authpriv ##ssh,ftp等登录信息的验证信息
cron ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslg ##服务内部的信息,时间标识
news 新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy,unix主机之间相关
local 1~7 ##自定义的日志设备
######3.日志级别######
debug ##有调试信息的,日志信息最多
info ##一般信息的日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
注意:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册:man 7 syslog
######4.日志的远程同步######
插件:实现功能的小程序(模块)
在日志发送方:
vim /etc/rsylog.conf
*.* @172.25.254.118 ##“@”表示udp协议发送。“@@”表示tcp协议发送
systemctl restart rsyslog
在日志接收方:
vim /etc/rsylog.conf
15 $ModLiad imudp ##日志接收模块
16 $UDPServerRun 514 ##开启接收端口
systemctl restart rsyslog
关闭火墙:
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机关闭
测试:
在发送方和接收方都清空日志文件
> /var/log/messages
在日志的发送方: logger test
在日志接收方查看:cat /var/log/messages
######5.日志采集格式的设定######
vim /etc/rsyslog.conf
$template HELLO, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n "
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##显示记录目标
%msg% ##日志内容
\n ##换行
*.info;mail.none;authpriv.none;cron.none /var/log/messages;HELLO
cat /var/log/messages
######6.时间同步服务######
服务名称:chronyd
设定时间源
local stratum 10 共享时间源
时间源的级别(优先级)
在服务端:
vim /etc/chrony,conf
22 allow 172.25.254/24 ##允许那些客户端来同步本机时间
29 local stratum 10 ##本机不同步任何主机的时进,本机作为时间源
systemctl restart chronyd.service
timedatectl set-timezone Asia/Shanghai ##更改当前时区分为东8区
systemctl stop firewalld ##关闭火墙
在客户端:
vim /etc/chrony,conf
server 172.25.254.217 iburst ##本机立即同步217主机的时间(iburst 立即更改)
systemctl restart chronyd.service
timedatectl set-timezone Asia/Shanghai ##更改当前时区分为东8区
测试:
在客户端
[root@client_ssh ~]# date 11111111 ##修改客户端时间
Mon Nov 11 11:11:00 EST 2019
[root@client_ssh ~]# chronyc sources -v
210 Number of sources = 1
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| / xxxx = adjusted offset,
|| Log2(Polling interval) -. | yyyy = measured offset,
|| \ | zzzz = estimated error.
|| | |
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 172.25.254.217 10 6 3 1 +7214h[ +7214h] +/- 155us
[root@client_ssh ~]# date
Mon Jan 14 21:38:30 EST 2019 ##同步服务端217主机的时间
utc时间计算方式:世界时间+时区
######7.timedatectl 命令######
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
timedatectl set-timezone "Asia/Shanghai" ##设置当前时区
timedatectl set-time "2019-11-11 11:11:00" ##设置当前时间
timedatectl set-local-rtc 0/1 ##设置是否使用utc时间
timedatectl list-timezones ##查看支持的时区
vim /etc/adjtime
######8.journalctl 内存中的日志######
###1.journalctl 日志查看工具###
journalctl -n 3 查看最近3条日志
journalctl -p err 查看错误日志
journalctl -o verbose 查看日志的详细参数
journalctl _PID=84 _COMM=systemd-journal
journalctl --since "05:05" 查看从5:05开始的日志
journalctl --until "05:08" 查看到5:08为止的日志
###2.如何使用systemd-journald保存系统日志###
默认systemd-journald是不保存系统日志到硬盘的
那么关机后再次开机只能看到本次开机之后的日志
上一次关机之前的日志是无法查看的
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
ls /var/log/journal ##查看
killall -l systemd-journald
[root@server_sshd ~]# ls /var/log/journal
946cb0e817ea4adb916183df8c4fc817