在现代 IT 运维中,对服务器状态的实时监控和及时告警是保障业务连续性的关键。本文将面向初学者,详细讲解如何在 RockyLinux 系统上搭建基础的服务监控与告警系统。无论你是刚接触 Linux 的小白,还是有一定经验的运维人员,都能通过本教程快速上手。
当你运行一个 Web 服务、数据库或任何后台程序时,如果服务意外崩溃、CPU 使用率飙升或磁盘空间不足,而你却毫不知情,这可能导致严重的业务中断。通过部署 RockyLinux服务监控 和 系统告警设置,你可以第一时间收到通知,快速响应问题。
本教程使用以下开源工具:
这些工具组合构成了一个轻量但功能完整的 Linux服务器监控 方案。
首先,我们需要在 RockyLinux 上安装 Node Exporter 来暴露系统指标。
# 下载并解压 Node Exporter(以最新稳定版为例)cd /tmpwget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gztar xvfz node_exporter-1.7.0.linux-amd64.tar.gz# 移动到系统目录sudo mv node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/# 创建专用用户(安全最佳实践)sudo useradd -rs /bin/false node_exporter# 创建 systemd 服务文件sudo tee /etc/systemd/system/node_exporter.service << EOF[Unit]Description=Node ExporterAfter=network.target[Service]User=node_exporterGroup=node_exporterType=simpleExecStart=/usr/local/bin/node_exporter[Install]WantedBy=multi-user.targetEOF# 启动并设置开机自启sudo systemctl daemon-reloadsudo systemctl start node_exportersudo systemctl enable node_exporter
完成后,访问 http://你的服务器IP:9100/metrics,应能看到大量系统指标数据。
接下来安装 Prometheus 服务器:
# 创建 prometheus 用户和目录sudo useradd -rs /bin/false prometheussudo mkdir /etc/prometheus /var/lib/prometheus# 下载 Prometheuscd /tmpwget https://github.com/prometheus/prometheus/releases/download/v2.47.1/prometheus-2.47.1.linux-amd64.tar.gztar xvfz prometheus-2.47.1.linux-amd64.tar.gz# 复制二进制文件sudo cp prometheus-2.47.1.linux-amd64/prometheus /usr/local/bin/sudo cp prometheus-2.47.1.linux-amd64/promtool /usr/local/bin/# 设置权限sudo chown prometheus:prometheus /var/lib/prometheus
然后创建 Prometheus 配置文件 /etc/prometheus/prometheus.yml:
global: scrape_interval: 15sscrape_configs: - job_name: 'node' static_configs: - targets: ['localhost:9100']
再创建 systemd 服务:
sudo tee /etc/systemd/system/prometheus.service << EOF[Unit]Description=PrometheusWants=network-online.targetAfter=network-online.target[Service]User=prometheusGroup=prometheusType=simpleExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries[Install]WantedBy=multi-user.targetEOF# 启动服务sudo systemctl daemon-reloadsudo systemctl start prometheussudo systemctl enable prometheus 现在访问 http://你的服务器IP:9090,即可进入 Prometheus Web 界面。
在 /etc/prometheus/ 目录下创建告警规则文件 alert.rules.yml:
groups:- name: instance-down rules: - alert: InstanceDown expr: up == 0 for: 1m labels: severity: critical annotations: summary: "Instance {{ $labels.instance }} down" description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minute."- name: high-cpu-load rules: - alert: HighCpuLoad expr: 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80 for: 2m labels: severity: warning annotations: summary: "High CPU load on {{ $labels.instance }}" description: "CPU usage is above 80% for more than 2 minutes." 然后修改 prometheus.yml,加入 rule_files:
rule_files: - "alert.rules.yml"# 在 scrape_configs 下方添加 Alertmanager 地址(稍后配置)alerting: alertmanagers: - static_configs: - targets: ['localhost:9093'] Alertmanager 负责接收 Prometheus 的告警并发送通知。我们以邮件通知为例:
# 下载 Alertmanagercd /tmpwget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gztar xvfz alertmanager-0.26.0.linux-amd64.tar.gz# 安装sudo cp alertmanager-0.26.0.linux-amd64/alertmanager /usr/local/bin/sudo cp alertmanager-0.26.0.linux-amd64/amtool /usr/local/bin/# 创建配置目录sudo mkdir /etc/alertmanager
创建配置文件 /etc/alertmanager/alertmanager.yml(以 Gmail 为例,请替换为你的 SMTP 信息):
global: smtp_smarthost: 'smtp.gmail.com:587' smtp_from: 'your_email@gmail.com' smtp_auth_username: 'your_email@gmail.com' smtp_auth_password: 'your_app_password'route: receiver: 'email-notifications'receivers:- name: 'email-notifications' email_configs: - to: 'admin@example.com'
创建 systemd 服务:
sudo tee /etc/systemd/system/alertmanager.service << EOF[Unit]Description=AlertmanagerAfter=network.target[Service]User=prometheusGroup=prometheusType=simpleExecStart=/usr/local/bin/alertmanager \ --config.file /etc/alertmanager/alertmanager.yml \ --storage.path /var/lib/alertmanager[Install]WantedBy=multi-user.targetEOF# 启动sudo systemctl daemon-reloadsudo systemctl start alertmanagersudo systemctl enable alertmanager 重启 Prometheus 和 Alertmanager 服务后,故意停止 node_exporter(sudo systemctl stop node_exporter),等待 1 分钟,你应该会收到一封邮件告警。这说明你的 Prometheus告警配置 已成功运行!
通过本教程,你已经掌握了在 RockyLinux 上搭建完整监控告警系统的核心步骤。这套方案不仅适用于个人项目,也能扩展到企业级环境。建议后续学习 Grafana 可视化、多节点监控等高级功能,进一步提升你的 Linux服务器监控 能力。
祝你在 RockyLinux 运维之路上越走越稳!
本文由主机测评网于2025-12-05发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123316.html