rsyslog
此服务是用来采集系统日志的,他不生产日志,只是起采集作用。
* rsyslog的管理
/var/log/message-------服务信息日志
/var/log/secure-------系统登陆日志
/var/log/cron--------定时任务日志
/var/log/maillog--------邮件日志
/var/log/boot.log--------系统启动日志
指定日志采集路程
什么类型的日志 。什么级别的日志 /var/log/file
- 日志类型可以分为:
类型 | 含义 |
---|---|
auth | pam产生的日志 |
authpriv | ssh,ftp等登陆信息的验证信息 |
cron | 时间任务相关 |
kern | 内核 |
lpr | 打印 |
邮件 | |
mark(syslog)-rsyslog | 服务内部的信息,时间标识 |
news | 新闻组 |
users | 用户程序产生的相关信息 |
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
进入后添加*.* /var/log/westos
systemctl restart rsyslog
- 测试:
> /var/log/westos 清空原有所有的日志
systemctl restart sshd 这条命令是为了生成日志
cat /var/log/westos 此文件中出现了日志信息
日志的远程同步
在日志发送方 client
vim /etc/rsyslog.conf
*.* @172.25.254.105
systemctl restart rsyslog
##@表示udp协议发送,@@表示tcp协议发送
在日志接受方server
vim /etc/rsyslog.conf
15 sModLoad imudp 日志接收模式
16 sUDPServerRun 514 开启接收端口
systemctl restart rsyslog
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 设定防火墙开机关闭
测试
在发送方和接收方都清空日志文件
> (空格)/var/log/messages
在日志接收方查看
cat /var/lo/messages
日志采集格式的设定
vim /etc/rsyslog.conf
在Rules下添加$tempplate LOGFMT, "%timegenarated% %FROMHOST-IP% %syslogtag% %msg%\n"
注释:
%timegenarated% 显示日志时间
%FROMHOST-IP% 显示主机ip
%syslogtag% 日志记录目标
%msg% 日志内容
\n 换行
*.* /var/log/wetsos;LOGFMT 在指定的日志中采用LOGFMT格式
$ActionFileDefaultTemplate LOGFMT 修改默认日志采集格式为LOGFMT
cat /var/log/westos
服务名称 chronyd
- 在服务端
vim /etc/chronyd.conf
22 allow 172.25.254.0/24 允许那些客户端来同步本机时间
29 local stratum 10 本机不同步任何主机的时间,本机作为时间源
systemctl restart chrony
- 在客户端
vim /etc/chrony.conf
server 172.25.254.105 ibush 立即同步105主机(服务器端)的时间
systemctl restart chronyd
- 测试
在客户端:
输入命令chronyc source -v
210 Number of source = 1
timedatectl 命令
timedatectl + 命令
命令 | 功能 |
---|---|
status | 显示当前时间信息 |
set-time+“时间(4:56)“ | 设定当前时间 |
set-timezone+“时区(Aisa/Shanghai)” | 设定当前时区 |
set-local-rtc 0/1 | 设定是否支持utc时间 |
list- timezones | 查看支持的所有时区 |
journal命令
journalctl 日志查看工具
命令 | 功能 |
---|---|
-n 3 | 查看最近3条日志 |
-p err | 查看错误日志 |
-o verbose | 查看日志的详细参数 |
–since | 查看从什么时间开始的日志 |
–until | 查看到什么时间为止的日志 |