Linux rsyslogd服务以及日志文件「建议收藏」

Linux rsyslogd服务以及日志文件「建议收藏」命令名称:ln命令英文原意:link命令所在路径:/bin/link执行权限:所有用户语法:ln-s[源文件][目标文件]-s创建软链接功能描述:产生链接文件有两种文件类型,软链接文件和硬链接文件,产生这样两种链接文件命令就是ln,产生硬链接不需要加任何的选项,直接ln[源文件][目标文件],目标文件就是要生成的硬链接文件名。软链接需要加上…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

rsyslogd


在 CentOS 6.x 中,日志服务已经由 rsyslogd 取代了原先的 syslogd。Red Hat 公司认为 syslogd 已经不能满足工作中的需求,rsyslogd 相比 syslogd 具有一些新的特点:

  • 基于TCP网络协议传输日志信息。
  • 更安全的网络传输方式。
  • 有日志信息的即时分析框架。
  • 后台数据库。
  • 在配置文件中可以写简单的逻辑判断。
  • 与syslog配置文件相兼容。

rsyslogd 日志服务更加先进,功能更多。但是,不论是该服务的使用,还是日志文件的格式,其实都是和 syslogd 服务相兼容的,所以学习起来基本和 syslogd 服务一致。

我们如何知道 Linux 中的 rsyslogd 服务是否启动了呢?如何查询 rsyslogd 服务的自启动状态呢?命令如下:

[root@localhost ~]# ps aux | grep "rsyslog" | grep -v "grep"
root 1139 0.0 0.2 35948 1500 ? Sl 09:40 0:00 /sbin/rsyslogd -i/var/run/syslogd.pid -c 5
#有rsyslogd服务的进程,所以这个服务已经启动了
[root@localhost ~]# chkconfig --list | grep rsyslog
rsyslog 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
#rsyslog服务在2、3、4、5运行级别上是开机自启动的

系统中的绝大多数日志文件是由 rsyslogd 服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按照特定的格式记录到不同的日志文件中。也就是说,采用 rsyslogd 服务管理的日志文件,它们的格式应该是统一的。

在 Linux 系统中有一部分日志不是由 rsyslogd 服务来管理的,比如 apache 服务,它的日志是由 Apache 软件自己产生并记录的,并没有调用 rsyslogd 服务。但是为了便于读取,apache 日志文件的格式和系统默认日志的格式是一致的。

 

Linux日志文件(常见)及其功能


日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。这些信息有些非常敏感,所以在 Linux 中这些日志文件只有 root 用户可以读取。

那么,系统日志文件保存在什么地方呢?还记得 /var/ 目录吗?它是用来保存系统动态数据的目录,那么 /var/log/ 目录就是系统日志文件的保存位置。我们通过表 1 来说明一下系统中的重要日志文件。
 

表 1 系统中的重要日志文件
日志文件 说 明
/var/log/cron 记录与系统定时任务相关的曰志
/var/log/cups/ 记录打印信息的曰志
/var/log/dmesg 记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp 记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。命令如下:
[root@localhost log]#lastb
root tty1 Tue Jun 4 22:38 – 22:38 (00:00)
#有人在6月4 日 22:38便用root用户在本地终端 1 登陆错误
/var/log/lasllog 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/Iog/mailog 记录邮件信息的曰志
/var/log/messages 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已经用户自定义安装软件的日志,也会在这里列出。
/var/log/secure 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp 永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/tun/ulmp 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

除系统默认的日志之外,采用 RPM 包方式安装的系统服务也会默认把日志记录在 /var/log/ 目录中(源码包安装的服务日志存放在源码包指定的目录中)。不过这些日志不是由 rsyslogd 服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身的日志。以下介绍的日志目录在你的 Linux 上不一定存在,只有安装了相应的服务,日志才会出现。服务日志如表 2 所示。
 

表 2 服务日志
日志文件 说明
/var/log/httpd/ RPM包安装的apache取务的默认日志目录
/var/log/mail/ RPM包安装的邮件服务的额外日志因录
/var/log/samba/ RPM色安装的Samba服务的日志目录
/var/log/sssd/ 守护进程安全服务目录

 

Linux日志文件格式分析 


只要是由日志服务 rsyslogd 记录的日志文件,它们的格式就都是一样的。所以我们只要了解了日志文件的格式,就可以很轻松地看懂日志文件。

日志文件的格式包含以下 4 列:

  • 事件产生的时间。
  • 产生事件的服务器的主机名。
  • 产生事件的服务名或程序名。
  • 事件的具体信息。

我们查看一下 /var/log/secure 日志,这个日志中主要记录的是用户验证和授权方面的信息,更加容易理解。命令如下:

[root@localhost ~]# vi /var/log/secure
Jun 5 03:20:46 localhost sshd[1630]:Accepted password for root from 192.168.0.104 port 4229 ssh2
# 6月5日 03:20:46 本地主机 sshd服务产生消息:接收从192.168.0.104主机的4229端口发起的ssh连接的密码
Jun 5 03:20:46 localhost sshd[1630]:pam_unix(sshd:session):session opened for user root by (uid=0)
#时间 本地主机 sshd服务中pam_unix模块产生消息:打开用户root的会话(UID为0)
Jun 5 03:25:04 localhost useradd[1661]:new group:name=bb, GID=501
#时间 本地主机 useradd命令产生消息:新建立bb组,GID为501
Jun 5 03:25:04 localhost useradd[1661]:new user:name=bb, UID=501, GID=501, home=/home/bb, shell=/bin/bash
Jun 5 03:25:09 localhost passwd:pam_unix(passwd:chauthtok):password changed for bb

我截取了一段日志的内容,其实分析日志既是重要的系统维护工作,也是一项非常枯燥和烦琐的工作。如果我们的服务器出现了一些问题,比如系统不正常重启或关机、用户非正常登录、服务无法正常使用等,则都应该先查询日志。

实际上,只要感觉到服务器不是很正常就应该查看日志,甚至在服务器没有什么问题时也要养成定时查看系统日志的习惯。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170606.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月15日 上午6:36
下一篇 2022年8月15日 上午6:46


相关推荐

  • nginx简单配置多个server

    nginx简单配置多个server1:安装nginx步骤就不说了,自行百度。2:打开nginx的配置文件nginx.conf这是项目1的配置,现在需要再开个同域名不同端口的项目,如下图:注意:LZ一直出现访问不了,折腾了许久,是因为服务器www.pigaudio.com或120.77.223.7只开了默认的80端口,而8088端口并未开,所以只需要登陆你的服务账号添加一个8088即可,比如你的服务器是阿里云购买的,则需要登陆阿里…

    2025年6月16日
    5
  • 萌新,C++、Java、Python 选择哪个好?

    萌新,C++、Java、Python 选择哪个好?大学那会也被这个问题被困惑了大半年 直到毕业拿了几个大厂 offer 才发现语言的选择也就那一回事 我猜不少人刚入门的人依然被这个问题困扰着 所以决定认真分享一波我的经历 如果你还处于大一 大二 或者刚刚入门阶段 那么我认为 语言的选择并不重要 更重要的是底层 通用基础的学习 例如数据结构 算法 计算机网络这些 因为这些语言 是存在很多相同的特性的 例如你学习了 C 后面要转 Java 那么其实还是可以很快就上手的 而且 等到了差不多毕业去应聘校招的时候 其实公司并不会对语言有严格的要求 例如你要面

    2026年3月19日
    1
  • Z—score模型公式计算_Prim算法

    Z—score模型公式计算_Prim算法算法介绍:zbar算法是现在网上开源的条形码,二维码检测算法,算法可识别大部分种类的一维码(条形码),比如I25,CODE39,CODE128,不过大家更关心的应该是现在很火的QR码的解码效率,随着现在生活中QR码的普及,扫码支付等行为越来越多的被人们接受,关于QR码是什么,QR码的解码流程是什么样的。本篇文章就互联网上的一个开源解码算法zbar进行简单剖析。源码可以在网上搜到,或者去gi

    2025年7月21日
    5
  • pycharm F8调试按键无效

    pycharm F8调试按键无效F8 按键无效 很可能是和当前打开的其它软件的热键冲突 例如有道词典的热键解决的办法也很简单 取消其它软件的热键即可了可以通过关闭当前打开的其它软件来判断到底是何哪个软件的热键相冲突

    2026年3月27日
    3
  • JSON数组转Java List

    JSON数组转Java List本文使用alibaba开源项目fastjson与SourceForge开源项目JSON-lib两种方法转换json。现有json文件user.json如下:[{“userid”:”309BCCE3-8525-4D33-9856-5084E24FD96F”,”username”:”林梦”,”password”:”19bdec7440acd44c669

    2022年8月23日
    5
  • 什么叫买单报关_代理报关和买单报关费用是一样的吗

    什么叫买单报关_代理报关和买单报关费用是一样的吗报关是指货物、行李和邮递物品、运输工具等在进出关境或国境时由所有人或其代理人向海关申报,交验规定的单据、证件,请求海关办理进出口的有关手续。我国海关规定报关时应交纳的单据、证件。有:进出口货物报关单、进出口货物许可证、商品检验证书、动植物检疫证书、食品卫生检验证书以及提货单、装货单、运单、发票、装箱单等。买单出口,其实就是没有出口权的工厂或SOHO通过买别的进出口公司的核销单,以该公司的名义进行外贸出口。买单出口所买的“单”主要是指核销单,但是卖单出口服务的公司除了提供核销单之外还需要提供与核销单抬头一

    2026年2月6日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号