利用 Shell 脚本和 systemd 服务实现 Proxmox VE 日志监控与推送

利用 Shell 脚本和 systemd 服务实现 Proxmox VE 日志监控与推送
type
status
date
slug
summary
tags
category
icon
password
💡
现代 IT 基础设施越来越复杂,其中日志管理和监控更成为运维人员的重要任务之一。本文将介绍如何通过 Shell 脚本实时监控 Proxmox VE 系统日志,并将监控结果推送到 Bark 应用。同时,我们会利用 systemd 服务确保脚本在系统启动时自动运行,一旦出现异常自动重启,确保服务的稳定运行。

场景描述

在 Proxmox VE 环境中,系统日志中可能会出现一些异常信息需要及时处理。为了保证系统运行稳定,我们需要一种实时监控日志,并在检测到关键字时立即通知或报警的机制。通过 Shell 脚本和 Bark 推送,我们可以高效地实现这一目标。

步骤概览

  1. 编写 Shell 脚本 monitor_pve_logs.sh,实时监控系统日志。
  1. 创建符号链接,将脚本链接到 /usr/local/bin/ 目录。
  1. 创建 systemd 服务单元文件,以确保脚本在系统启动时自动运行。
  1. 启用并启动 systemd 服务。

编写 Shell 脚本 monitor_pve_logs.sh

以下是完整的 Shell 脚本,用于监听 Proxmox VE 的系统日志文件 /var/log/syslog。一旦检测到预定义的关键字,将截取该日志行的前后若干行,并通过 Bark API 推送通知。

创建符号链接

将脚本文件链接到 /usr/local/bin/ 目录,以便 systemd 服务可以方便地找到脚本:

创建 systemd 服务单元文件

为了使脚本作为服务运行,并在系统启动时自动运行,我们需要创建 systemd 服务单元文件。
创建服务单元文件 monitor_pve_logs.service 并放置在 /etc/systemd/system/ 目录下:
在文件中添加以下内容:

启用并启动服务

按照以下步骤启用并启动 systemd 服务:
  1. 重新加载 systemd 配置:
    1. 启用服务,使其在启动时自动运行:
      1. 启动服务:
        1. 检查服务的状态,确保其正常运行:
          你应该看到类似如下的输出,显示服务正在运行:

          手动停止和禁用服务

          • 手动停止服务
          • 手动禁用服务

          调试和日志信息

          如果需要查看服务的日志信息,可以使用 journalctl 命令:

          总结

          通过上述步骤,您可以为 Proxmox VE 配置一个实时监控日志的 Shell 脚本,并结合 systemd 服务确保脚本在系统启动时自动运行及异常恢复。这一方案不仅适用于 Proxmox VE,也适用于其他需要实时监控日志并及时通知的系统环境。希望这篇文章能为您的运维工作提供帮助和参考。
          上一篇
          使用 Uptime Kuma 和 Shell 脚本监控家庭 WiFi 网络状态并通过 Bark 推送通知
          下一篇
          工具|高性能Zed编辑器开源,响应速度超快、干掉VS Code?
          Loading...