2.3.1 journald日志系统
1、journald日志系统基础语法
服务名称:systemd-journald.service
日志默认存放路径:/run/log
/run/log/journal/主机码/system.journal(主机生成日志文件)
journalctl命令的用法
-n 3 ##日志的最新3条 --since "2021-07-20 12:00:00"
--until "2021-07-20 14:00:00"
##显示几点到几点的日志 -o ##设定日志的显示方式 short ##经典显示日志节 verbose ##显示日志的全部字 export ##适合传出和备份的二进制格式 json ##js格式显示输出 -p
0 emerg ##系统的严重问题日志 1 alert ##系统中立即要更改的信息 2 crit ##严重级别会导致系统软件不能正常工作 3 err ##程序报错 4 warning ##程序警告 5 notice ##重要信息的普通日志 6 info ##普通信息 7 debug ##程序排错信息 -F ##查看可控日志级别 -u ##指定查看服务 --disk-usage ##查看日志大小 du -sh /run/log/journal/机器码/system.journal ##日志文件大小 --vacuum-size=1G ##设定日志存放大小 --vacuum-time=1w ##日志在系统中最长保存时间 -f ##监控日志 journalctl_PID=1243 ##查看进程号为某的日志
2、用journald服务永久存放文件
系统默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理要永久保存日志完成以下步骤:
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal ##当改变目录用户组后, systemd-journal (此用户组只能被journal程序识别,只有此用户组才能存放日志)
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service
当服务重启 日志存放路径会被存放在/var/log/journal
3、rsyslog日志管理
服务名称 :rsyslog.service
日志存放:
/var/log/messages | ##系统服务日志,常规信息,服务报错 |
/var/log/secure | ##系统认证信息日志 |
/var/log/maillog | ##系统邮件信息日志 |
/var/log/cron | ##系统定时任务信息日志 |
/var/log/boot | ##系统启动日志信息 |
/etc/rsyslog.conf | ##系统日志配置文件 |
systemctl status rsyslog.service ##查看服务状态
vim /etc/rsyslog.conf ##进入配置文件更改信息
eg:*.* ; *.* /var/log/westos ##把系统所有级别的日志存放在westos下
* . * 日志类别 日志级别
日志类别 auth ##用户认证 authpriv ##服务认证 cron ##时间任务 kern ##内核类型 ##邮件 news ##系统更新信息 user ##用户
日志级别 debug ##程序排错信息 info ##程序常规运行信息 notice ##重要信息的普通日志 waring ##程序警告 err ##程序报错 crit ##严重级别会导致系统软件不能正常工作 alert ##系统中立即要更改的信息 emerg ##系统的严重问题日志 none ##不采集
4、日志的远程同步
UDP协议(传送速率更快但安全性不高)
TCP协议(安全性更高 三次握手四次挥手)
实验环境:主机a作为发送方
主机b作为接受方
1、在主机a中设定可接受所有人的日志
systemctl stop firewalld
vim /etc/rsyslog.conf
19行 module(load=“”) ## 打开日志接受插件
21行 input() ##指定插件使用接口
systemctl restart rsyslog
netstat -anulupe | grep rsyslog
2、在主机b中设定发送日志到a
systemctl stop firewalld
vim /etc/rsyslog.conf
*.* @172.25.254. ##@@tcp传输日志,@udp传输日志
systemctl restart rsyslog
netstat -anulupe | grep rsyslog
> /var/log/messages ##清空日志
logger westosa ##测试
5、如何更改日志采集格式
实验步骤:
vim /etc/rsyslog.conf ##打开配置文件
28行左右: $template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg% \n" ##添加采集格式
47行:*.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS ##采集到某一文件,名字需一致(28行WESTOS对应47行WESTOS)
33行:module(load="builtin:omfile" Template="WESTOS")##设置全局采集格式都是28行格式
> /var/log/messages ##清空日志文件内容
systemctl restart rsyslog.service ##重启服务
WESTOS 格式名称
命令格式
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg% \n"
%FROMHOST-IP% | ##日志来源主机IP |
%timegenerated% | ##日志生成时间 |
\n | ##换行 |
%syslogtag% | ##日志生成服务 |
%msg% | ##日志内容 |
2.3.2 timedatectl命令时间同步服务
1、timedatectl命令
Local time ##当地时间 Universal time ##伦敦时间 RTC time ##硬件时间 Time zone ##时区 System clock synchronized ##同步系统时钟 NTP service ##网络同步时间 RTC in local TZ ##本地时间写到硬件
timedatectl set-time “2121-27-21 12:12:11” ##设定系统时间
timedatectl list-timezones ##显示系统的所有时间
timedatectl set-timezone "Asia/Shanghai" ##设定系统时间
timedatectl set-local-rtc 0|1 ##设定系统时间计算方式 0表示使用utc时间计算方式tips:更改时间前应停止自动获取时间服务(systemctl stop chronyd。service)
2、时间同步服务
服务名称:chronyd.service
配置文件:/etc/chrony.conf
实验步骤:
主机a 客户端
主机b 服务端(时间源)
服务端 systemctl stop firewalld.service ##关闭火墙
/etc/chrony.conf ##打开时间配置文件
23行: allow 0.0.0.0/0 ##允许所有ip或指定ip获取本地世界
26行:local stratum 10 ##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service ##重启服务
客户端 /etc/chrony.conf ##打开时间配置文件
3行:pool 172.25.254.122 iburst ##选择时间源的ip地址