Linux日志
此部分作为Linux系统中的主要部分,应该去了解并熟练记住如何应用。
(1)journalctl的相关命令:
-n 3//显示最新的三条日志
--since "2020-05-01 11:00:00"//显示11:00之后的日志
-until "2020-05-01 11:00:00"//显示11:00之前的日志
-o
short//经典模式显示日志
verbose//显示日志的全部字节
export//适合传出和辈份的二进制格式
json//js格式输出
-p
0//系统的严重问题日志
1//系统立即要更改的信息
2//严重级别会导致系统软件不能正常工作
3//程序包错
4//程序警告
5//重要信息的普通日志
6//普通信息
7//程序拍错信息
-F//查看可控日志级别
-u//查看指定服务
--disk-usage//查看日志大小
--vacuun-size=1G//设定日志大小
--vacuun-time=1W//设定日志在系统中最长存放时间
-f//监控日志
journalctl PID=10924 _SYSTEMD_UNIT=sshd.service //查看某一特定程序的日志
(2)日志的长时间存储
默认日志存储方式在系统重启后会被清理,要完成永久保存日志需要完成下面的操作
mkdir /var/log/journal//创建存储日志的文件夹
chgrp systemd-journal /var/log/journal//更改分组
chmod 2775 /var/log/journal//更改权限
systemctl restart systemd-journald.service//重启服务
(3)rsyslog的存储路径更改
修改配置文件:
vim tec/rsyslog.conf
在47行添加
*.* /var/log/westos并保存//修改存储路径
在terminal中输入如下命令:
systemctl restart rsyslog.service//重启服务
> /var/log/westos//清除之前的东西
cat /var/log/westos//检查路径中的文件是否存在
重新在一个ternial中打开一个进程:
cat /var/log/westos//此时有日志文件
(4)将日志同步到目的主机
有时候为了方便起见,会将多台服务器的日志同步到一台主机上进行查看,这样会大大地提升工作效率。
下面的是在Linux中使用 man - 5 rsyslog命令查看的文档,里面关于三种传输日志文件的方法,实验中采用的是UDP传输。
There are three ways to forward message:
(1)the traditional UDP transport, which is extremely lossy but standard,
(2)the plain TCP based transport,which loses messages only during certain situations but is widely available
(3)the RELP transport which does not lose messages but is currently available only as part of rsyslogd 3.15.0 and above.
发送端:
编辑的文件及内容:
vim /etc/rsyslog.confg
添加*.* @接收端ip
命令:
systemctl restart rsyslog.service
> /var/log/messages
接收端:
编辑的文件及内容:
vim /etc/rsyslog.confg
//19 20行的注释删除
命令:
systemctl restart rsyslog.service
> /var/log/messages
tail -f /var/log/messages
在发送端开启进程,然后观察监视框。
(5)日志格式的更改
接收端:
在接收端更改配置文件
vim /etc/rsyslog.conf
添加:日志生成时间–日志来源主机IP–日志生成服务–日志内容:
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%"
module(load="builtin:omfile" Template="WESTOS")
Terminal中的命令:
systemctl restart rsyslog.service
> /var/log/messages
发送端:
> /var/log/messages
logger test