当前位置:首页 > Ubuntu > 正文

Ubuntu集群监控告警设置(手把手教你搭建Prometheus+Grafana实现Linux服务器集群运维)

在现代IT基础设施中,Ubuntu集群监控是保障系统稳定运行的关键环节。对于运维人员或刚入门的小白来说,如何高效地监控多台Ubuntu服务器并在异常时及时收到告警,是一项必备技能。本文将带你从零开始,使用开源工具 PrometheusGrafana 搭建一套完整的Linux服务器集群运维监控与告警系统。

为什么选择 Prometheus + Grafana?

- Prometheus:功能强大的开源监控和告警工具,原生支持时间序列数据采集,适合动态云环境。
- Grafana:优秀的可视化平台,可将 Prometheus 的数据以图表形式展示,支持自定义仪表盘。
这套组合被广泛用于生产环境,社区活跃、文档丰富,非常适合初学者上手。

Ubuntu集群监控告警设置(手把手教你搭建Prometheus+Grafana实现Linux服务器集群运维) Ubuntu集群监控  Prometheus告警设置 Grafana可视化监控 Linux服务器集群运维 第1张

准备工作

假设你有以下环境:

  • 至少两台 Ubuntu 20.04/22.04 服务器(一台作为监控服务器,其余为被监控节点)
  • 各服务器之间网络互通,且开放必要端口(如 9090、9100、3000)
  • 具备 sudo 权限

第一步:在所有节点安装 Node Exporter

Node Exporter 用于采集 Linux 系统指标(CPU、内存、磁盘等),需在每台被监控的 Ubuntu 服务器上安装。

wget 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.gzcd node_exporter-1.7.0.linux-amd64sudo cp node_exporter /usr/local/bin/# 创建 systemd 服务sudo tee /etc/systemd/system/node_exporter.service <<EOF[Unit]Description=Node ExporterAfter=network.target[Service]User=rootExecStart=/usr/local/bin/node_exporter[Install]WantedBy=multi-user.targetEOFsudo systemctl daemon-reloadsudo systemctl start node_exportersudo systemctl enable node_exporter

完成后,在浏览器访问 http://你的节点IP:9100/metrics,能看到指标数据即表示安装成功。

第二步:在监控服务器安装 Prometheus

# 下载并解压 Prometheuswget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gztar xvfz prometheus-2.45.0.linux-amd64.tar.gzcd prometheus-2.45.0.linux-amd64# 编辑配置文件 prometheus.ymlsudo tee prometheus.yml <<EOFglobal:  scrape_interval: 15sscrape_configs:  - job_name: 'ubuntu-nodes'    static_configs:      - targets: ['192.168.1.10:9100', '192.168.1.11:9100']  # 替换为你的节点IPEOF# 启动 Prometheus./prometheus --config.file=prometheus.yml

启动后访问 http://监控服务器IP:9090,进入 Prometheus Web UI,点击 “Status” → “Targets”,应看到所有节点状态为 UP。

第三步:配置告警规则(Alertmanager)

Prometheus 本身不发送告警,需配合 Alertmanager。先创建告警规则文件 alert.rules.yml

groups:- name: instance-health  rules:  - alert: HighCpuUsage    expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80    for: 2m    labels:      severity: warning    annotations:      summary: "High CPU usage on {{ $labels.instance }}"      description: "CPU usage is above 80% for more than 2 minutes."  - alert: LowMemory    expr: (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 < 10    for: 2m    labels:      severity: critical    annotations:      summary: "Low memory on {{ $labels.instance }}"      description: "Available memory is less than 10%."

然后修改 prometheus.yml,加入 rule_files 和 alerting 配置:

rule_files:  - "alert.rules.yml"alerting:  alertmanagers:    - static_configs:        - targets: ['localhost:9093']

接着安装并启动 Alertmanager(略,可参考官方文档),即可实现邮件、Webhook 等方式告警。

第四步:安装 Grafana 实现可视化

sudo apt-get updatesudo apt-get install -y apt-transport-https software-properties-common wgetwget -q -O - https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/grafana.gpgecho "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.listsudo apt-get updatesudo apt-get install grafanasudo systemctl start grafana-serversudo systemctl enable grafana-server

访问 http://监控服务器IP:3000,默认账号密码为 admin/admin。添加 Prometheus 作为数据源(URL 填 http://localhost:9090),然后导入 Dashboard ID(如 11074)即可看到漂亮的 Ubuntu 集群监控面板。

总结

通过本教程,你已成功搭建了一套基于 Prometheus告警设置Grafana可视化监控Ubuntu集群监控系统。这套方案不仅免费开源,而且高度可扩展,适用于从小型实验室到大型生产环境的 Linux服务器集群运维场景。建议后续深入学习 PromQL 查询语言和 Grafana 自定义面板,进一步提升监控能力。

祝你运维顺利,系统稳如泰山!