在现代运维工作中,Ubuntu告警规则配置是保障系统稳定运行的关键环节。通过合理设置监控与告警,我们可以在服务器资源耗尽、服务宕机或异常发生前及时收到通知,从而快速响应问题。本教程将从零开始,详细讲解如何在Ubuntu系统上配置基于Prometheus和Alertmanager的告警规则,即使是Linux新手也能轻松上手。
在开始配置之前,我们需要确保以下软件已安装:
以下命令以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,并配置其抓取本地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负责接收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系统监控告警规则。例如: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访问以下地址验证各组件状态:
http://你的服务器IP:9090http://你的服务器IP:9093http://你的服务器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配置教程对你有所帮助!如有疑问,欢迎在评论区留言交流。
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125583.html