-
rsyslog 此服务是采用系统日志的,不生产日志,只采集日志的信息
-
rsyslog的管理
/var/log/messages 服务信息日志 /var/log/secure 系统登陆日志 /var/log/cron 定时任务日志 /var/log/maillog 邮件日志 /var/log/boot.log 系统启动日志
指定日志采集路径
什么类型的日志。什么级别的日志 /var/log/file 日志采集规则
日志类型分:
auth pam产生的日志
authpriv ssh,ftp等登陆信息的验证信息
cron 时间任务相关
kern 内核
lpr 打印
mail 邮件
mark(syslog)-rsyslog 服务内部的信息,时间标示
news 新闻组
user 用户程序产生的相关信息
uucp unix to unix copy,unix主机之间相关的通讯
local 1-7 自定义的日志设备
日志级别分为:
debug 有调试信息的,日志信息最多
info 一般信息的日志,最常用
notice 最具重要性的普通条件的信息
warning 警告级别
err 错误级别,阻止某个功能或者模块不能正常工作的信息
crit 严重级别,阻止整个系统或者整个软件不能正常工作
alert 需要立刻修改的信息
emerg 内核崩溃等严重信息
none 什么都不记录
注:从上至下,级别从低到高,记录的信息越来越少(详细记man 3 syslog)
“*”代表所有
例:把系统中所有日志采集到/var/log/westos文件中
vim /etc/rsyslog.conf 编辑rsyslog.conf 55行左右
*.* /var/log/westos
第一个‘*‘代表所有的日志类型,第二个代表所有的日志级别
测试: systemctl restart rsyslog
systemctl restart sshd 用这条命令生成日志
cat /var/log/westos 查看日志中出现的日志信息
3. 日志的远程同步
在日志发送方:
vim /etc/rsyslog.conf
*.* @172.25.254.103
"@“表示udp协议发送,”@@"表示tcp协议发送。udp较tcp速度快,udp发送只管发不管收没有反馈,tcp发送需要接收反馈信息,确保一定能接受。
systemctl restart rsyslog 重启使设置生效
在日志接收方:
vim /etc/rsyslog.conf
15 $Modload imudp 日志接收模块
16 $UDPSereveRun 514 开启接收端口
systemctl restart rsyslog 重启日志采集文件使更改生效
systemctl stop firewalld 关闭火墙
systemctl disable firewalld 设定火墙开机关闭
测试:在发送方和接收方都清空日志文件
> /var/log/messages
在日志发送方:
logger test
cat /var/log/messages 查看日志已经生成
在日志接收方:
cat /var/log/messages
日志采集格式的设定
vim /etc/rsyslog.conf(在哪台主机看日志信息,就在哪台主机编辑)
在RULES下编辑内容(46行)
$template LOGFMT , "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% 显示日志时间
%FROMHOST-IP% 显示主机ip
%syslogtag% 日志记录目标
%msg% 日志内容
\n 换行
*.* /var/log/westos;LOGFMT 在指定日志中采用LOGFMT格式
$ActionFileDefaultTemplate LOGFMT 修改系统默认日志采集格式为LOGFMT
systemctl restart rsyslog 重启rsyslog使编辑内容生效
cat /var/log/westos
时间同步服务
服务名称 : chronyd
在服务端: vim /etc/chrony.conf
22 allow 172.25.254.0/24 允许哪些客户端来同步本机时间
29 local stratum 10 本机不同步任何主机的时间,本机作为时间源
systemctl restart chronyd 重启chronyd服务使改变生效
在客户端: vim /etc/chrony.conf
server 172.25.254.103 iburst 本机立即同步103主机的时间
systemctl restart chronyd
测试: 在客户端
date 11111111 修改当前主机时间为11月11日11点11分
chronyc sources -v 即可同步时间(先修改客户端时间不与服务端同步)
timedatectl命令
timedatectl 管理系统时间
timedatectl status(=timedatectl) 显示当前时间信息
set-time 设定当前时间
set-timezone 设定当前时区
set-local-rtc 0|1 设定是否使用utc时间
list-timezone 查看支持的所有时区
例:设定当前时区为亚洲上海
journal
1.journalctl 日志查看工具
-n 3 查看最近三条日志
-p err 查看错误日志
-o verboes 查看日志的详细参数
--since 查看从什么时间开始的日志
--until 查看到什么时间为止的日志
例:查看最近三条日志及错误日志
2.如何使用systemctl-journald保存系统日志
默认systemctl-journald是不保存系统日志到硬盘的
那么关机后再次开机只能看到本次开机之后的日志
上一次关机之前的日志是无法查看的
例:开机前的日志
reboot之后再次查看日志,只有重启以后的
mkdir /var/log/jouranl 创建一个jouranl目录
chgrp systemd-journal /var/log/jouranal 改变jouranl的所有组为 systemd-journal
chmod g+s /var/log/journal 在journal的所有组权限上加s
killall -1 systemd-journald 重新加载所有的systemd-journald进程
ls /var/log/journal
946cb0e817ea4adb916183df8c4fc817