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

Ubuntu告警规则配置完全指南(手把手教你设置Prometheus与Alertmanager实现系统监控告警)

在现代运维工作中,Ubuntu告警规则配置是保障系统稳定运行的关键环节。通过合理设置监控与告警,我们可以在服务器资源耗尽、服务宕机或异常发生前及时收到通知,从而快速响应问题。本教程将从零开始,详细讲解如何在Ubuntu系统上配置基于Prometheus和Alertmanager的告警规则,即使是Linux新手也能轻松上手。

一、准备工作:安装必要组件

在开始配置之前,我们需要确保以下软件已安装:

  • Prometheus(用于收集指标)
  • Node Exporter(用于暴露Ubuntu系统指标)
  • Alertmanager(用于处理和发送告警)

以下命令以Ubuntu 22.04为例,使用systemd管理服务:

# 更新系统sudo apt update# 创建专用用户(可选但推荐)sudo useradd --no-create-home --shell /bin/false prometheussudo useradd --no-create-home --shell /bin/false node_exporter# 下载并安装 Node Exporterwget 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.gzsudo cp node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/rm -rf node_exporter-1.7.0.linux-amd64*# 创建 Node Exporter systemd 服务sudo tee /etc/systemd/system/node_exporter.service <

二、安装并配置Prometheus

接下来安装Prometheus,并配置其抓取本地Node Exporter的数据:

# 下载 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.gzsudo cp prometheus-2.45.0.linux-amd64/prometheus /usr/local/bin/sudo cp prometheus-2.45.0.linux-amd64/promtool /usr/local/bin/# 创建配置目录sudo mkdir /etc/prometheussudo cp -r prometheus-2.45.0.linux-amd64/consoles /etc/prometheussudo cp -r prometheus-2.45.0.linux-amd64/console_libraries /etc/prometheus# 编写主配置文件sudo tee /etc/prometheus/prometheus.yml <

三、安装并配置Alertmanager

Alertmanager负责接收Prometheus发送的告警,并根据规则进行分组、抑制和通知。我们以邮件通知为例进行配置:

# 下载 Alertmanagerwget 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.gzsudo cp alertmanager-0.26.0.linux-amd64/alertmanager /usr/local/bin/# 创建配置目录sudo mkdir /etc/alertmanager# 编写 Alertmanager 配置(以Gmail为例)sudo tee /etc/alertmanager/alertmanager.yml <
Ubuntu告警规则配置完全指南(手把手教你设置Prometheus与Alertmanager实现系统监控告警) Ubuntu告警规则配置  Prometheus告警设置 Ubuntu系统监控 Alertmanager配置教程 第1张

四、编写Ubuntu告警规则

现在我们来创建具体的Ubuntu系统监控告警规则。例如:CPU使用率过高、内存不足、磁盘空间紧张等。

创建告警规则文件 /etc/prometheus/rules.yml

groups:- name: system-alerts  rules:  - alert: HighCpuUsage    expr: 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80    for: 5m    labels:      severity: warning    annotations:      summary: "High CPU usage on {{ $labels.instance }}"      description: "CPU usage is above 80% for the last 5 minutes."  - alert: LowMemory    expr: (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 < 10    for: 5m    labels:      severity: critical    annotations:      summary: "Low memory on {{ $labels.instance }}"      description: "Available memory is less than 10% of total memory."  - alert: DiskSpaceLow    expr: (node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100 < 15    for: 10m    labels:      severity: warning    annotations:      summary: "Low disk space on {{ $labels.instance }}"      description: "Available disk space on root partition is below 15%."

然后修改 /etc/prometheus/prometheus.yml,加入规则文件:

rule_files:  - "rules.yml"alerting:  alertmanagers:    - static_configs:        - targets:          - localhost:9093  # Alertmanager 默认端口

重启Prometheus使配置生效:

sudo systemctl restart prometheus

五、验证告警是否生效

访问以下地址验证各组件状态:

  • Prometheus Web UI: http://你的服务器IP:9090
  • Alertmanager UI: http://你的服务器IP:9093
  • Node Exporter 指标: http://你的服务器IP:9100/metrics

在Prometheus的“Alerts”页面中,你可以看到所有已定义的告警规则及其当前状态。当条件触发时,Alertmanager会自动发送邮件通知。

六、常见问题与优化建议

1. **防火墙设置**:确保9090、9093、9100端口对外开放(如需远程访问)。

2. **告警静默**:在Alertmanager UI中可临时静默某类告警,避免夜间被频繁打扰。

3. **多通道通知**:除了邮件,Alertmanager还支持Slack、Webhook、PagerDuty等,可根据团队需求扩展。

4. **安全加固**:生产环境中建议为Prometheus和Alertmanager配置HTTPS和基本认证。

结语

通过本教程,你已经掌握了完整的Ubuntu告警规则配置流程,包括Prometheus指标采集、Alertmanager通知设置以及自定义告警规则编写。这套方案不仅适用于个人服务器,也适合中小企业构建基础的Ubuntu系统监控体系。掌握这些技能后,你可以进一步学习更高级的Prometheus告警设置技巧,如动态标签、告警分组策略等,提升运维效率。

希望这篇Alertmanager配置教程对你有所帮助!如有疑问,欢迎在评论区留言交流。