您的位置:首页 > 运维架构 > Linux

linux系统中的日志管理

2020-03-06 21:10 483 查看

两台虚拟机:

rhel7:192.168.3.109

rhel:192.168.3.209

#####1.journald#################

服务名称:systemd-journald.service

[root@rhel7 桌面]# journalctl  ##日志查看命令

[root@rhel7 桌面]# cd /run/log  ##默认日志存放路径

实验一:journalctl命令的用法

[root@rhel7 log]# journalctl -n 3  ##查看最新的三条

[root@rhel7 log]# journalctl --since "2020-02-13 22:30"   ##显示22:30后的日志

[root@rhel7 log]# journalctl --since "2020-02-13 22:30" --until "2020-02-13 22:30"  ##显示22:00-22:30的日志

注意:--unitl  "2020-02-13 22:30"    显示日志到22:30

-o  ##设定日志的显示方式

short 经典模式显示日志
verbose   显示日志全部字节
export 适合传出和备份的二进制格式
json js格式显示输出

 

 

 

 

 

[root@rhel7 log]# journalctl -o short

[root@rhel7 log]# journalctl -o verbose

[root@rhel7 log]# journalctl -o export

[root@rhel7 log]# journalctl -o json

-p  ##显示指定级别的日志

0 emerg 系统的严重日志
1 alert 系统中立即要更改的信息
2 crit 严重级别会导致系统软件不能正常工作
3 err 程序报错
4 warning 程序警告
5 notice 重要信息的普通日志
6 info 普通信息
7 debug 程序拍错信息

 

 

 

 

 

 

 

 

 

[root@rhel7 log]# journalctl -p err

[root@rhel7 log]# journalctl -p warning

-F     PRIORITY       ##查看可控日志级别

[root@rhel7 log]# journalctl -F PRIORITY

-u                          ##指定查看服务

[root@rhel7 log]# journalctl -u sshd

--disk-usage           ##查看日志大小

[root@rhel7 log]# journalctl --disk-usage

--vacumm-size=1G      ##设定日志存放大小

--vacumm-time=1W     ##日志在系统中最长存放时间

-f           ##监控日志

[root@rhel7 log]# journalctl -f

[root@rhel7 log]# journalctl _PID=10222 _SYSTEMD_UNIT=sshd.service            ##查看更详细的日志

注意:先查看main pid

实验二:用journald服务永久存放日志

重启系统

[root@rhel7 log]#  reboot    ##重启之后之前的日志没了

[root@rhel7 ~]# mkdir /var/log/journal   ##建立目录

[root@rhel7 ~]# chgrp systemd-journal /var/log/journal/       ##设定所有组

[root@rhel7 ~]# chmod 2774 /var/log/journal/               ##设定权限

[root@rhel7 ~]# systemctl restart systemd-journald.service     ##重启服务

注意:当服务重启后日志存放路径会被指定到/var/log/journal/

#####2.rsyslog##################

服务名称:rsyslog.service

[root@rhel7 ~]# systemctl status rsyslog.service 

日志路径

/var/log/messages 系统服务日志,常规信息,服务报错
/var/log/secure 系统认证信息日志
/var/log/maillog 系统邮件日志信息
/var/log/cron 系统定时任务信息
/var/log/boot.log 系统启动日志信息

 

 

 

 

 

 

配置文件:/etc/rsyslog.conf

实验一:自定义日志采集路径

[root@rhel7 ~]# ls -l /var/log/westos                    ##查看是否有westos文件 

[root@rhel7 ~]# > /var/log/messages     ##清空认证文件
[root@rhel7 ~]# cat /var/log/messages

[root@rhel7 ~]# vim /etc/rsyslog.conf

日志类型.日志文件              日志存放路径

*.*                                        /var/log/westos     ##把系统中所有级别的日志存放到westos中

[root@rhel7 ~]# systemctl restart rsyslog.service    ##重启服务

[root@rhel7 ~]# ls -l /var/log/westos   ##在次查看是否有westos文件

[root@rhel7 ~]# cat /var/log/messages   ##生成日志

[root@rhel7 ~]# cat /var/log/westos ##查看文件

日志类型.日志文件           日志存放路径

*.*;authpriv.noe                  /var/log/westos         ##把系统中所有级别的日志存放到westos中   但是authpriv不存放到westos中

 

 

日志类型

auth 用户认证
authpriv 服务认证
cron 时间任务
kern 内核类型
mail 邮件
news 系统更新信息
user 用户

 

 

 

 

 

 

 

 

[root@rhel7 ~]# rm -fr /var/log/westos   ##删除文件
[root@rhel7 ~]# ls -l /var/log/westos     ##查看文件

[root@rhel7 ~]# systemctl restart rsyslog.service   ##重启

[root@rhel7 ~]# cat /var/log/westos     ##显示文件内容   (产生文件)

 

日志级别

debug 程序拍错信息
info 普通信息
notice 重要信息的普通日志
waring 程序警告
err 程序报错
crit 严重级别会导致系统软件不能正常工作
alert 系统中立即要更改的信息
emerg 系统的严重问题日志
none 把系统中所有级别的日志存放到westos中   但是authpriv不存放到westos中

 

 

 

 

 

 

 

 

 

 

实验二:如何更改日志采集格式

1.定义日志采集格式

[root@rhel7 ~]# vim /etc/rsyslog.conf

$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

[root@rhel7 ~]# cat /var/log/messages  ##查看文件

[root@rhel7 ~]# > /var/log/messages            ##清空
[root@rhel7 ~]# systemctl restart rsyslog.service   ##重启服务

[root@rhel7 ~]# cat /var/log/messages    ##查看文件

WESTOS 格式名称
FROMHOST-IP 日志来源主机IP
timegenerated 日志生成的时间
syslogtag 日志生成的服务
msg 日志内容
\n 换行

 

 

 

 

 

 

 

2.设置日志采集格式应用

*.*;authpriv.none                                       /var/log/westos;WESTOS

实验三:日志的远程同步

rhel7:192.168.3.109           存放日志违日志接收端,所有人日志都存放到此主机

rhel8:192.168.3.209           发送日志到rhel7主机中

1.在rhel7中设定接受所有人日志

[root@rhel7 ~]# vim /etc/rsyslog.conf    ##编辑文件

 15 $ModLoad imudp              ##打开日志接受插件
 16 $UDPServerRun 514        ##指定插件使用接口

[root@rhel7 ~]# systemctl restart rsyslog.service   ##重启服务

[root@rhel7 ~]# netstat -antlupe | grep rsyslog     ##查询端口

2.在rhel8中设定发送日志到rhel7

[root@rhel8 ~]# ping 192.168.3.109   ##ping   rhel7

[root@rhel8 ~]# vim /etc/rsyslog.conf   ##编辑文件

[root@rhel8 ~]# systemctl restart rsyslog.service   ##重启服务
[root@rhel8 ~]# > /var/log/messages                     ##清空8认证日志

[root@rhel7 ~]# > /var/log/messages                      ##清空7认证日志

root@rhel7 ~]# systemctl stop firewalld    ##关闭防火墙

[root@rhel8 ~]# logger westos haha     ##测试工具
[root@rhel8 ~]# cat /var/log/messages

[root@rhel7 ~]# cat /var/log/messages  

注意:

@                              表示使用udp传输日志

@@                           表示使用tcp传输日志

@192.168.3.109         把本机日志用udp的方式传输到192.168.3.109的主机

#####3.timedatectl###############

[root@rhel7 ~]# timedatectl    ##时间查看

[root@rhel7 ~]# timedatectl set-time "2020-02-14 10:26"  ##设定系统时间

[root@rhel7 ~]# timedatectl list-timezones   ##显示系统的所有时区

[root@rhel7 ~]# timedatectl set-timezone "America/New_York"  ##设定系统时区

[root@rhel7 ~]# timedatectl set-local-rtc 0  ##使用utc时间计算方式

[root@rhel7 ~]# timedatectl set-local-rtc 1  ##设定系统时间计算方式

#####4.时间同步服务##############

服务名称:chronyd.service

配置文件:/etc/chrony.conf

rhel7作为时间同步源rhel8同步rhel7的时间

在rhel7中:

[root@rhel7 ~]# vim /etc/chrony.conf   ##更改配置文件

  ##允许192.168.3.9网段主机同步时间

             ##开启时间同步服务器功能并设定级别为10

[root@rhel7 ~]# systemctl stop firewalld        ##关闭防火墙

[root@rhel7 ~]# systemctl restart chronyd.service    ##重启服务

在rhel8中:

[root@rhel8 ~]# vim /etc/chrony.conf   ##编辑文件

   ##重启服务的时候立即同步时间到本机

[root@rhel8 ~]# systemctl restart chronyd.service   ##重启服务

[root@rhel8 ~]# chronyc sources -v    ##用chronyc命令查看时间同步效果

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
村雨626 发布了22 篇原创文章 · 获赞 0 · 访问量 442 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: