Linux系统中日志管理的两个程序:
systend-journald ——系统中的内存日志;
rsyslog ——硬盘中的内存日志
查看日志journalctl命令
服务名称:systemd-journald.service
特点是:时效性高
系统中默认日志存放路径: /run/log/journal
journalctl ##查看日志 journalctl -n 3 ##查看日志的最新3条 journalctl --since "2020-05-13 21:30:00" ##显示21:30后的日志 journalctl --until "2020-05-13 21:35:00" ##显示日志到21:35 journalctl -o short ##经典模式显示日志 verbose ##显示日志的全部字节 export ##适合传出和备份的二进制格式 json ##js格式显示输出 journalctl -p emerg ##显示系统严重问题的日志 alert ##系统中立即更改的日志 crit ##严重级别导致系统软件不能工作的日志 err ##程序报错日志 warning ##程序警告 notice ##重要信息的普通日志 info ##普通信息 debug ##程序排错信息 journalctl -F PRIORITY ##查看可控日志级别 journalctl -u sshd ##指定查看服务 journalctl --disk-usage ##查看日志大小 journalctl --vacuum-size=1G ##设定日志存放大小 journalctl --vacuum-time=1M ##日志下系统中最长存放时间 journalctl -f ##监控日志 journalctl _SYSTEMD_UNIT=sshd.service ##查看指定服务的信息
系统的默认存放日志在系统重启后日志会被清理。要永久保存日志需要将系统默认的存放路径修改。
方法如下:
mkdir /var/log/journal ##新建用于存放日志的文件夹 chgrp systemd-journal /var/log/journal ##修改日志服务默认的存放路径 chmod g+s /var/log/journal ##修改该路径下文件夹的权限 systemctl restart systemd-journald.service ##重启服务即可
重启之后,可以查看日志:重启前的日志没有被删除。
采集日志rsyslog命令
服务名称:rsyslog.service
日志存放:
/var/log/messages 系统服务日志、常规信息、服务报错 /var/log/secure 系统认证信息日志 /var/log/maillog 系统邮件日志信息 /var/log/cron 系统定时任务信息 /var/log/boot.log 系统启动日志信息 配置文件 /etc/rsyslog.conf 自定义日志采集路径
vim /etc/rsyslog.conf ## 修改配置文件 ***修改格式*** 日志类型.日志级别 日志存放路径 *.* /var/log/westos ***日志类型*** ***日志级别*** auth ##用户认证 debug ##程序排错信息 authpriv ##服务认证 info ##程序常规运行信息 cron ##时间任务 notice ##重要信息的普通日志 kern ##内核类型 waring ##程序警告 mail ##邮件 err ##程序报错 news ##系统更新 crit ##严重级别会导致系统软件不能正常工作 user ##用户 alert ##系统中要立即更改的信息 emerg ##系统的严重问题日志 none ##不采集
更改日志采集格式
WESTOS_FORMAT 格式名称 %FORMHOST-IP% 日志来源主机IP %timegenerated% 日志生成时间 %syslogtag% 日志生成服务 %msg% 日志内容 \n 换行 日志的远程同步
ending......