linux系统日志的查看和采集

news/2024/11/17 10:39:03/

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

一、查看日志

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

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
在这里插入图片描述


http://www.ppmy.cn/news/363443.html

相关文章

Linux 系统日志分析与管理

Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去,完成这个过程的程序就是syslog,syslog可以根据日志的类别和优先级将日志保存到不同的文件中. 关于Linux常见的日志文件…

查看Windows系统日志

我的计算机-右键-管理

系统日志清理

windows下清理 winr eventvwr 两种方法: 1 、meterpreter> clearev 2、meterpreter > shell C:\Windows/system32>del %WINDIR%\*.log /a/s/q/f linux清理 history -c 使系统不再保存历史命令 vi /etc/profile 找到 HISTSIZE这个值…

系统操作日志

1、 我想实现: 我想设置一个JSP程序,只要有用户登陆网站(管理员或非法的),不管登录成功或失败都把登陆的用户名(登陆信息,执行页面)记录到数据库中,还有登陆后台后对网站的修改也要做个记录,比如修改过新闻,删除留言,修改过网站配置等都有记录,不要求可恢复,能记录…

系统日志文件

系统日志默认保存在/var/log目录下 messages: 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。dmesg: 包含内核缓冲…

Win10查看系统日志

最简单的方法右键开始,点击事件查看器。 效果如下。 之后研究一下系统日志的格式。 Windows事件日志中共有五种事件类型,所有的事件必须拥有五种事件类型中的一种,且只可以有一种。五种事件类型分为: 信息(Informa…

系统日志开关

1.系统native日志打印不出来需要添加下面标签 在c文件最开始加,即在#include之前: #define LOG_NDEBUG 0 #define LOG_TAG "SoundPool" 或者 #ifdef LOG_TAG #undef LOG_TAG #define LOG_TAG "SoundPool" #endif #ifdef LOG_NDEBU…

系统日志的了解

一、什么是系统日志? 系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。 系统…