知识库 使用 Profitserver 服务的简单说明

如何阅读 Linux 日志以及在哪里找到它


当你遇到服务器性能问题时,你要做的第一件事就是 检查你的 Linux 日志。在系统日志中,您可以找到来自操作系统不同组件(如内核或各种服务)的一些有用的诊断消息,因此您很可能会在那里找到故障原因。

日志中的每条消息都是操作系统中某些事件的结果:来自用户、授权、服务关闭或应用程序故障。这些事件根据其严重程度具有不同的优先级。Linux 中有以下类型的事件:

  1. emerg - 失败,最高优先级;
  2. alert - 紧急警告;
  3. crit - 关键事件;
  4. err - 一般错误;
  5. warn - 普通警告;
  6. notice - 通知;
  7. info - 信息消息;
  8. debug - 调试信息;

目前,Linux 中主要的日志收集服务有 系统日志系统日志。它们与大多数现代发行版软件包兼容并能独立运行。

系统日志

该服务的日志位于“/ var / log /”文件夹中以普通文本文件的形式保存日志信息。日志信息根据事件类型保存在不同文件中。例如,“/var/log/auth.log”包含用户在系统中的授权信息,“/var/log/kern.log” 包含内核消息。文件名在不同的发行包中可能有所不同,因此我们来看一下配置文件,了解其中的内容。/etc/rsyslog.d/50-default.conf“。

Linux 上的 rsyslog

这些规则显示哪个文件包含每种类型的日志消息。左侧部分以以下形式显示消息类型“[来源].[优先]”右侧显示日志文件的名称。在写入消息类型时“*”字符可以添加。它表示空值或“没有” 将其从列表中删除。让我们仔细看看前两个规则。

“auth,authpriv.* /var/log/auth.log” “*.*;auth,authpriv.none -/var/log/syslog”

第一条规则意味着从授权机制收到的所有消息都将被记录到“/var/log/auth.log”文件。所有授权尝试(无论成功与否)都将记录在此文件中。第二条规则表示,除与授权相关的消息外,所有消息都将记录到“在/ var / log / syslog的”文件。这两个文件通常是最受欢迎的。以下规则定义了存储内核日志的路径“字距。*”和邮件服务日志“邮件。*=

日志文件可以借助任何文本编辑器打开,例如 , , 尾巴。让我们打开“/var/log/auth.log“ 文件

less /var/log/auth.log
Запись в лог-файле Линукс о неудачной попытке авторизации SSH

该文件的每一行都是从应用程序或服务收到的一条单独消息。所有消息(无论其来源如何)都具有相同的格式,并由 5 个部分组成。让我们以屏幕截图中突出显示的消息为例。

  1. 消息时间戳 - “12 月 06 日 18:33:XNUMX”
  2. 发送消息的计算机的名称 - “vds”
  3. 发送消息的应用程序或服务的名称 - “sshd”
  4. 进程 ID — [653]
  5. 消息文本 - “已接受来自 188.19.42.165 端口 2849 ssh2 的 mihail 密码”

这是成功连接 SSH 的示例。

失败的登录尝试如下所示:

Linux 逻辑

此文件还记录具有高级权限的命令

Linux 上的应用程序

让我们打开 在/ var / log / syslog的 文件

屏幕截图上突出显示的消息是关于网络接口关闭的消息。

Утилита logorotate

要通过长文本文件搜索信息,请使用 grep的 实用程序。您可以找到从以下位置收到的所有消息 PPTP 服务于“在/ var / log / syslog的“档案。

grep 'pptpd' /var/log/syslog
файл “/etc/logrotate.d/rsyslog”

在诊断过程中,您可以使用 尾巴 可以显示文件最后几行的实用程序。命令“尾-f / var / log / syslog”将让您实时观看日志记录。

该服务 系统日志 非常灵活和强大。它可用于收集本地系统以及企业级的日志。您可以在官方网站上找到完整的文档 https://www.rsyslog.com/

Linux 中的日志轮换

日志记录不断发生,因此文件大小不断增长。轮换机制可确保自动归档旧日志并创建新文件。根据规则,轮换可以每天、每周、每月或按大小限制进行。创建新日志时,可以删除旧日志或通过电子邮件发送旧日志。日志轮换由以下方式执行: 实现 实用程序。您可以在“/etc/logrotate.conf”文件中。文件内容也在“/etc/logrotate.d/”文件夹

新规则可以记录到主配置文件中。但是,最好在“/etc/logrotate.d/”默认情况下,此目录中有几个文件

Настраиваем ротацию логов в Линукс

让我们看一下文件“/etc/logrotate.d/rsyslog“包含日志轮换规则 系统日志 服务。

Пример вывода всех ошибок pptpd в лог-файлах

首先,规则应该包含日志文件的路径,然后包含所有在括号中的指导方针。

  • 旋转7 - 要保留的文件数量 - 7
  • 每天 - 每天创建一个新文件
  • 压缩 - 压缩并存档旧文件
Учимся читать логи Линукс

您可以在屏幕截图中看到“/ var / log /”文件夹中有主日志“系统日志”等7个档案,与配置文件中的规则相对应。

您可以在手册中找到有关 logrotate 的更详细描述,执行“人logrotate”命令

收集 Linux 日志 - journald

原木采伐服务 系统日志 是初始化系统的一部分 systemd.Linux 日志文件存储在“/var/log/日志/” 以特殊格式保存,可以使用 日记 实用程序。记录格式与 系统日志.

命令 日记 不带任何属性会显示所有记录,但不适合较大的日志。让我们看看这个实用程序的一些选项。

  • journalctl -b - 显示自上次启动以来的所有记录
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - 显示特定时间段内的记录
  • journalctl -u pptpd - 显示特定服务的记录
  • journalctl -k - 显示内核消息
  • journalctl -p err - 显示特定优先级的消息,在这种情况下显示更高优先级的消息(crit、alert、emerg)
  • journalctl -f - 实时显示消息

为了获得更好的灵活性,您可以组合这些选项。让我们显示 PPTP 服务

journalctl -u pptpd -p err
上次

如果您将可执行文件的路径指定为属性,该实用程序将显示此文件发送的所有消息。让我们显示文件“/usr/bin/sudo” 自04年15月18日2020:XNUMX起。实际上,它会显示所有以更高权限执行的命令。

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
柯曼多伊 lastb

要了解日志文件占用了多少磁盘空间,请执行以下命令

journalctl --disk-usage

为了将日志文件限制为 1Gb,请执行以下命令

journalctl --vacuum-size=1G

打开二进制文件

现在让我们看看“/ var / log /”文件夹,其中存储了所有登录尝试。这些文件是二进制文件,只能使用特殊程序打开。

/var/日志/wtmp 包含有关成功登录尝试的信息。使用 last 实用程序打开它。

使用 lastlog

/var/日志/btmp - 包含所有失败的登录尝试。可以使用 lastb 以高级权限打开。属性 -n 定义从文件末尾显示的行数。

/var/log/loadlog - 包含每个帐户记录的上次登录操作的时间。可以使用 最后记录

⮜ 上一篇文章 如何在 CentOS 中配置网络接口
下一篇文章⮞ Linux 文本编辑器

向我们咨询有关 VPS 的问题

无论白天还是黑夜,我们随时准备解答您的问题。