服务器状态检查

12006

学习目标

  • 学习如何查看并分析服务器日志
  • 学习如何管理服务器的进程

1. 服务器日志分析

Linux系统提供了丰富的日志记录。学会查看和分析这些日志记录,可以帮助我们更好的了解服务器的运行状态、查找并排除故障。以下是服务器中常用的一些日志介绍:

journalctl命令:

journalctl 是一个强大的日志管理工具,用于查询和显示由 systemd 系统和服务管理器收集的日志。它使管理员能够以各种格式查看系统日志,支持按时间、服务、优先级等过滤日志。journalctl 提供了对系统活动的深入洞察,是 Linux 系统维护和故障排除的关键工具。通过它,管理员可以有效地监控系统健康和安全状态。

journalctl功能强大,用法非常多:

  • 查看所有日志(默认情况下 ,只保存本次启动的日志):
    1. journalctl
  • 查看内核日志(不显示应用日志):
    1. journalctl -k
  • 查看系统本次启动的日志:
    1. journalctl -b
    2. journalctl -b -0
  • 实时滚动显示最新日志,-f参数表示实时滚动显示。
    1. journalctl -f
  • 查看指定服务的日志,例如nginx-u参数表示查看与后面的服务相关的日志):
    1. journalctl -u nginx

查看/var/log/目录中的日志:

  • auth.log
  • message
  • syslog

/var/log/ 是 Linux 系统中用于存储日志文件的标准目录。这个目录包含了系统、应用和服务生成的各种日志文件,这些文件对系统管理员进行故障排除、监控和日常维护活动至关重要。/var/log/目录中常见的一些日志文件包括:

  • syslog:这是一个全局日志文件,记录了系统的各种事件,比如启动、关机过程中的消息,以及系统运行中的各种警告和错误。
  • auth.log:存储与用户认证和授权相关的信息,包括登录尝试、sudo 命令的使用等。
  • mysql.logmysql.err:这些是 MySQL 数据库的日志,记录数据库操作和错误信息。
  • boot.log:包含系统启动过程中的信息。
  • dmesg:包含内核产生的消息,如硬件驱动和故障诊断信息。
  • messages 文件是一个重要的日志文件,通常用于存储 Linux 系统的一般信息和非错误的系统消息。这个文件包含了系统运行时的各种信息

这些日志文件对于理解系统的运行状况、诊断问题、确保安全和合规性非常重要。管理员需要定期检查这些日志文件以获取系统的健康状况和性能信息。

2. 服务器进程管理

ps,top,kill、systemctl、检查端口占用(lsof、netstat)

进程(Process)是计算机中正在运行的程序的实例。每个进程都有自己的内存空间和系统资源,并且在操作系统的管理下运行。每个正在运行的进程都被分配一个唯一的数字标识符,即 PID。使用 PID 可以区分系统中的不同进程。

在 Linux 系统中,有许多命令可以用来管理和操作进程:

  • ps:显示当前运行的进程。ps -aux 是一个常用的选项,可以显示所有运行的进程及其详细信息。
  • top:实时显示系统中进程的动态列表。它提供了关于每个进程的 CPU 和内存使用率等信息,并且可以交互式地管理进程。
  • kill:用于结束一个进程。通过传递进程的 PID(进程标识符),可以终止该进程。例如,kill 1234 会结束 PID1234 的进程。
  • killall:用于根据进程的名称终止进程。例如,killall nginx 会终止所有名为 nginx 的进程。
  • jobs:在当前会话中显示后台运行的进程列表。

这些命令是 Linux 系统管理的基础,对于管理系统资源、优化性能和维护系统健康至关重要。

3. 服务管理

systemctl 是用于管理 systemd 系统和服务管理器的命令行工具。它提供了启动、停止、重启、重新加载配置、启用或禁用服务等功能。systemd 是许多现代 Linux 发行版的初始化系统和服务管理器,负责系统的启动和管理服务。使用 systemctl, 管理员可以轻松控制系统服务的状态,检查服务的状态,以及管理系统启动时的行为。

4. 网络连接和统计

netstat(Network Statistics 的缩写)是一个网络系统监控工具,用于显示网络连接、路由表、接口统计、伪装连接和多播成员资格等信息。它对于检查系统的网络连接和诊断网络问题是非常重要的。

5. 文件和资源监控

lsof(List Open Files 的缩写)是一个显示系统中当前打开文件的实用工具。在 Linux 系统中,几乎一切都是文件,包括设备和网络连接。lsof 命令可以用来显示哪个进程打开了哪个文件,哪个进程使用了哪个端口等信息。这对于系统监控、排查文件使用冲突和网络问题非常有用。

综合运用以上这些命令,可以帮助管理员更深入的监控服务的运行状态、排除故障和进行修复。