linux系统日志的查看和采集

我们首先要明白,日志是程序本身产生的,那么日志储存在哪里,该如何查看呢?

一、查看日志

先来了解以下日志的类型和日志的级别。

1.日志的类型

auth                              ##pam产生的日志
suthpriv                          ##ssh,ftp等登陆信息的验证信息
cron                              ##时间任务相关
kern                              ##内核
lpr                               ##打印
mail                              ##邮件
mark(syslog)-rlog               ##服务内部的信息,时间标识
news                              ##新闻组
user                              ##用户程序产生的相关信息
uucp                              ##unix to unix copy,unix主机之间相关的通讯
local 1~7                        ##自定义的日志设备

2.日志的级别

debug       ##有调式信息的,日志信息最多
info        ##一般信息的日志,最常用
notice      ##最具有重要性的普通条件的信息
warning     ##警告级别
err         ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit        ##严重级别,阻止整个系统或软件不能正常工作的信息
alert       ##需要立刻修改的信息
emerg       ##内核崩溃等严重信息
none        ##什么都不记录

注意:从上到小,级别从低到高,记录的信息越来越少。
3.系统产生的日志在/var/log下,分类有:服务信息messages、服务认证secure、邮件服务日志maillog、定时日志cron等。

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

上条命令可以查看日志中的服务日志。

二、采集日志

查看采集到的日志

如果我们要采集一些主机里的日志信息时,需要完成以下的步骤,这里我将ip为172.25.254.130的node1作为管理日志方(以下称为接受方),将ip为172.25.254.230的node2作为发送日志的一方(以下成为发送方):

接受方:
1.使用 systemctl stop firewalld关闭火墙
2.使用vim /etc/rsyslog.conf编辑日志文件,让日志接口打开(把第15、16行的注释去掉)
在这里插入图片描述
在这里插入图片描述
3.使用systemctl restart rsyslog.service重启

发送方:
1.使用vim /etc/rsyslog.conf编辑日志文件,在RULES下面添加发送端的ip,如图
在这里插入图片描述
在这里插入图片描述
2.使用systemctl restart rsyslog.service重启
3.使用>/var/log/messages清除日志,方便等下测试
4.建立一个测试日志logger test,在接受方使用cat /var/log/messages查看
在发送端创建测试文件iii和www
在接受方查看到发送方的日志

如果出现/etc/rc.d/rc.local等文件的话,使用> /etc/rc.d/rc.local 然后reboot,然后重新连接退出的这个id:ssh @ip,重新测验:logger westos,之后使用cat查看:cat /var/log/messages,可以发现/etc/rc.d/rc.local等文件没了。

既然node1采集的是node2的日志,那么日志时间应该和node2的一致,但是在完成以上操作时,发现node1接受到的日志时间和node2是不一致的。

此时需要将采集日志的格式进行规定,同时同步时间。

  • 1 设定日志格式

    vim /etc/rsyslog.conf
    进去后在rules下一行加:
    $template WESTOS,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n",并且要在57行最后加上;WESTOS
    重启:
    systemctl restart rsyslog.service
    之后就可以使用WESTOS了
    如下图:
    在这里插入图片描述

  • 2 同步时间
    1.先在接收端编辑:
    vim /etc/chrony.conf
    在第22行修改:
    allow 172.25.254/24
    在这里插入图片描述
    重启:
    systemctl restart chronyd.service
    2.在发送端编辑:
    vim /etc/chrony.conf
    编辑第3行,改成:
    server 172.25.254.130 iburst
    在这里插入图片描述
    在这里插入图片描述
    编辑第26行 打开ocal stratum 10这一行

在这里插入图片描述
重启:
systemctl restart chronyd.service

  • 3 怎么查看发送端是否和接收端的时间同步
    在发送方使用:
    chronyc sources -v 来进行查看
    在这里插入图片描述
    发现左下角有172.25.254.130,说明时间同步了。

如果在接收端重新更改时间,需要在发送端先重启一下
此时发送端不会同步更改后的时间,也需要同步一下并稍微等待一会儿

三、手动设置时间信息timedatectl

使用date查看时间信息,有时候时间信息会和硬件时间不一致。
在这里插入图片描述
1.设置时区(本地时间)
1)先使用:
timedatectl list-timezones来查看时区
在这里插入图片描述
2)再用:
timedatectl set-timezone Asia/Shanghai设置时区
在这里插入图片描述
在这里插入图片描述
2.重新查看timedatectl
在这里插入图片描述

#bios time 硬件时间#
为了让硬件时间是本地时间
1)timedatectl set-local-rtc 0(先关闭)
timedatectl查看各个时间
2)timedatectl set-local-rtc 1(再开启)
timedatectl查看
在这里插入图片描述

更改时间
1)timedatectl set-time "2018-11-14 09:25:11"
2)使用date查看
在这里插入图片描述

四、使用journalctl采集目录

使用journalctl -n 5查看最新的5条
按时间查看日志
在这里插入图片描述

从某个时间开始 journalctl --since 09:20
在这里插入图片描述

某时刻到某时刻 journalctl --since 09:20 --until 09:01:50

错误日志 journalctl -p err
在这里插入图片描述

有时候使用systemctl status sshd 查看服务信息时,(如下图ssh的id是1213)
在这里插入图片描述
当我使用systemctl restart sshd.service重启服务后,
再使用systemctl status sshd,(如下图,发现id改变了)
在这里插入图片描述
id改变,journalctl查看的是哪一次的操作不清楚
可以查看所有日志详细参数 journalctl -o verbose

查看之后可以输入自己想看的id信息,
比如journalctl _PID=30053 _COMM=sshd

##采集目录

因为关机之后日志会被释放,所以要建一个journal目录来保存日志

1)mkdir /var/log/journal/
2)查看journal权限ll -d /var/log/journal/
3)改组名:

chgrp systemd-journal /var/log/journal/

4)列出进程并过滤:

 ps aux | grep systemd-journald

5)给组加权限,只能组员更改:

chmod g+s /var/log/journal/

6)ls -ld /var/log/journal查看journal权限

7)kill -1 361 重启
8)重启后继续查看日志在不在:
cd /var/log/journal/

9)ls 发现有一串码
在这里插入图片描述
10)bootctl查看机器码
在这里插入图片描述
11)ll 946cb0e817ea4adb916183df8c4fc817
在这里插入图片描述

  • 4
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值