采集日志服务 rsyslog.server
1.日志的基础知识
程序本身生成日志 采集日志
2.rsyslog的管理文件
文件 | 类型 |
---|---|
/var/log/messages | 服务信息日志 |
/var/log/secure | 系统登陆日志 |
/var/log/cron | 定时任务日志 |
/var/log/maillog | 邮件日志 |
/var/log/boot.log | 系统启动日志 |
3.指定日志采集路径
vim /etc/rsyslog.conf
格式:什么类型的日志.什么级别的日志 /var/log/file
eg: *.* /var/log/westos 把系统中所有日志采集到/var/log/westos 文件中
4.日志分类
1)日志类别:
auth pam产生的日志
authpriv ssh,ftp等登陆信息的验证信息
cron 时间任务相关日志
kern 内核相关日志
lpr 打印日志
mail 邮件日志
mark(syslog)-rsyslog 服务内部的信息,时间标识
news 用户程序产生的相关信息
uucp unix to unix copy,unix主机之间相关的通讯
local 1~7 自定义的日志设备
1)日志级别:
debug 有调试信息的,日志信息最多
info 一般信息的日志,最常用
notice 最具有重要性的普通条件的信息
warning 警告级别
err 错误级别,阻止某个功能或者模块不能正常工作的信息
crit 严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert 需要立即修改的信息
emerg 内核崩溃等严重信息
none 什么都不记录
注:从上到下,级别依次增加,记录的信息越来越少
命令man 3 syslog 可以查看详细手册
5.日志的远程传输 (应用UDP传输)
man 5 rsyslog.conf 查看传输详细手册
(1)在发送方:
1)vim /etc/rsyslog.conf
在文件中编辑发送命令*.* @[接受方主机ip]
2)systemctl restart rsyslog
(2)在接受方:
1)vim /etc/rsyslog.conf
在此文件中打开udp接口
15 $ModLoad imudp
16 $UDPServerRun514
2)systemctl restart rsyslog
3)关闭防火墙 systemctl stop firewalld
设定防火墙开机时默认关闭 systemctl disable firewalld
(3)测试
1)在发收双方都清空日志文件
> /var/log/messages
2)在发送方
loggerlogger test
cat /var/log/messages
3)在接收方查看 cat /var/log/messages
6.日志采集格式的设定(在接收方设置)
(1)vim /etc/rsyslog.conf
在文件中编辑格式设定规则 $template LOGFMT,"[参数]"
常用参数 | 作用 |
---|---|
%timegenerated% | 显示日志时间 |
%FROMHOST-IP% | 显示主机ip |
%syslogtag% | 显示日志记录目标 |
%msg% | 显示日志内 |
\n | 换行 |
(2)
*.* /var/log/westos;LOFGMT 在指定的日志中采用LOGFMT格式
$ActionFileDefaultTemplate LOFGMT 修改系统默认日志采集格式为LOGFMT
(3)systemctl restart rsyslog 重启服务
7.设置时间同步
chronyd.server 时间同步服务
步骤:
(1)在服务器方:vim /etc/chrony.conf
编辑文件
22 172.25.254.0/24
29 local stratum 10
syatemctl resart chronyd
(2)在客户方:vim /etc/chrony.conf
编辑文件只保留一个同步主机ip
设置火墙
systemctl stop firewalld
systemctl disable firewalld
(3)测试
在客户方输入命令 chronyc sources -v
或者
服务器重置时间date 在客户方查看是否同步
8.timedatectl 管理系统时间命令
命令 | 作用 |
---|---|
timedatectl status | 显示当前时间信息 |
timedatectl set-time | 设定当前时间 |
timedatectl set-timezoes | 设定当前时区 |
timedatectl list-timezones | 查看支持的所有时区 |
timedatectl set-local-rtc 0/1 | 设定是否使用UTC时间 (0为是 1为是否) |
注:cst=utc+时区
9.journal 日志文件
(1)journalctl 查看日志命令
参数 | 作用 |
---|---|
-n 3 | 查看最近3条日志 |
-p err | 查看错误日志 |
-o verbose | 查看日志的详细参数 |
–snice | 查看从什么时间开始的日志 |
–until | 查看到某一时间之前的日志 |
也可通过某重大事件的参数信息直接使用journalctl 【参数信息】查看该事件日志
(2)如何使用systemd-journald保存系统日志
系统在默认情况下systemctl-journald是不保存系统日志到硬盘的 在关机之后在此开启只能看到开机之后的日志关机之前的日志是无法查看
步骤:
1)mkdir /var/log/journal
2)
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
3)ls /var/log/journal
cd 946cb0e817ea4adb916183df8c4fc817
查看system.journal是否建立建立成功则日志会保存到硬盘