$ActionFileDefaultTemplate WESTOS
系统日志类型
(1) 系统的日志一般存在于/var/log 目录中
rsyslog服务 #此服务是用来采集系统日志的,它不产生日志,只是起到采集作用
rsyslog的管理:
/var/log/messages | 大多数系统日志信息记录在此处 |
---|---|
/var/log/secure | 安全和身份认证相关的信息的日志 |
/var/log/maillog | 系统邮件服务信息的日志 |
/var/log/cron | 系统定时任务信息的日志 |
/var/log/boot.log | 系统启动的日志 |
(2) 指定日志采集路径
/var/log/file 根据日志采集规则,可以指定日志的类型,类别
日志类型分为:
auth | pam 产生的日志 |
---|---|
authpriv | ssh,ftp 等登录信息的验证信息 |
cron | 时间任务相关 |
kern | 内核 |
lpr | 打印 |
邮件 | |
mark(syslog)-rsyslog | 服务内部的信息,时间标识 |
news | 新闻组 |
user | 用户程序产生的相关信息 |
uucp | unix to unix copy,unix 主机之间相关的通讯 |
local 1~7 | 自定义的日志设备 |
日志级别分为:
debug | 有调试信息的,日志信息最多 |
---|---|
info | 一般信息的日志,最常用 |
notice | 最具有重要性的普通条件的信息 |
warning | 警告级别 |
err | 错误级别,阻止某个功能或者模块不能正常工作的信息 |
crit | 严重级别,阻止整个系统或者整个软件不能工作的信息 |
alert | 需要立刻修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 什么都不记录 |
注意:从上到下,级别从低到高,记录的信息越来越少。
(3)rsyslog 服务
rsyslog 是一个开源工具,被广泛用于Linux系统以 TCP/UDP 协议转发或接收日志消息
此服务是用来采集系统日志的,它不产生日志,只是起到采集作用
主配置文件为 /etc/rsyslog.conf ,指定日志保存位置修改配置文件,修改后重启 rsyslog 服务生效
日志远程同步
日志发送方:
vim /etc/rsyslog.conf
*.* @日志接受方ip ##(“@”表示udp协议发送 “@@”表示tcp协议发送)
systemctl restart rsyslog ##重启服务
日志接收方:
vim /etc/rsylog.conf
15 $ModLoad imudp ##加载日志接收功能模块
16 $UDPServerRun 514 ##加载日志接收接口
systemctl restsrt rsyslog ##重启服务
systemctl stop firewalld ##关闭火墙
测试:
在发送方和接受方都清空日志文件
> /var/log/messages
[root@client Desktop]# > /var/log/messages
[root@client Desktop]#
[root@server ~]# > /var/log/messages
[root@server ~]#
在日志发送方:
logger test
cat /var/log/messages ##查看日志已经生成
[root@client Desktop]# logger test
[root@client Desktop]# cat /var/log/messages
Oct 16 03:19:47 client root: test
[root@client Desktop]#
在日志接受方查看
cat /var/log/messages
Oct 16 03:19:47 client root: test
Oct 16 03:19:50 server rc.local: /etc/rc.d/rc.local: connect: No route to host
Oct 16 03:19:50 server rc.local: /etc/rc.d/rc.local: line 18: /dev/tcp/content.e
日志固定采集格式
vim /etc/rsyslog.conf
$template WESTOS, "%FROMHOST-IP% %timegenerated% %syslogtag% %msg%\n"
备注:在哪里看日志就在哪里设定格式
%timegenerated% | 显示日志时间 |
---|---|
%FROMHOST-IP% | 显示主机IP |
%syslogtag% | 日志记录目标 |
%msg% | 日志内容 |
\n | 换行 |
在指定的日志中采用WESTOS格式
重启服务 并进行查看
让所有的日志都用此采集格式
$ActionFileDefaultTemplate WESTOS
之前已经采集的日志格式不会发生变化
用ssh登陆后新采集的日志格式发生变化
cat /var/log/secure
系统时间调整工具timedatectl
timedatectl
Local time 本地时间
Universal time 国际时间
RTC time 硬件时间
Timezone 时区
timedatectl 管理系统时间
timedatectl status(可加可不加) 显示当前时间信息
timedatectl set-time 设定当前时间
timedatectl set-timezone 设定当前时区
timedatectl set-local-rtc 0或1 设定是否使用utc时间 vim /etc/adjtime
timedatectl list-timezones 查看支持的所有时区
(1)查看支持的所有时区 timedatectl list-timezones
(2) 设定时区 timedatectl set-timezone 设定当前时区
(3) timedatectl set-local-rtc 0或1 设定是否使用utc时间
(4) timedatectl set-ntp true/false 是否同步网络时间
(5) 修改本地时间 timedatectl set-time “2019-10-23 14:58:23”
时间同步服务
服务名称:chronyd
步骤一:在时间服务端: vim /etc/chrony.conf
22行: allow 172.25.254.0/24 允许哪些客户端来同步本机时间
29行: local stratum 10 本机不同步任何主机的时间,本机作为时间源
systemctl restart chronyd
步骤二:在客户端:vim /etc/chrony.conf
server 172.25.254.200(服务端的ip) iburst(删除其他的) 本机立即同步200主机的时间
systemctl restart chronyd
步骤三:测试
在客户端输入:chronyc sources -v
出现* ip 就说明成功
journalctl命令
rsyslog采集日志,从磁盘读取,速度慢,reboot 重启系统之后系统之前的日志会被清除
journal 不采集日志,直接从内存查看日志 ,速度更快,reboot 重启系统之后系统之前的日志会被清除
(1) journalctl
(2) journalctl -n 查看最近10条日志
(3) journalctl -n 3 查看最近的三条日志
(4)journalctl --since 11:30 --until 15:00 查看11:30至15:00之间的日志
(5) journalctl -o verbose 查看日志的详细参数
可以指定id和进程名称精确查看
(6) journalctl -p err 查看错误日志
利用systemd-journal采集日志
(1) 建立日志采集路径 并且将目录的组修改为systemd-journal
(2)保证journal目录下新建的文件都属于systemd-journal组
chmod g+s /var/log/journal/
在进程不关闭的情况下刷新进程 killall -1 systemd-journald
(3) 查看journal目录中是否有主机的机器码(该文件生成后才可以采集日志)
(4)reboot 查看是否可以采集该时间点之前的日志 若能查看到说明采集成功