Prometheus监控实战:从安装配置到告警规则的完整指南

文章最后更新时间:2026-04-12 09:30:17

【免责声明:本文由AI辅助生成,内容仅供参考,不构成专业建议。】

Prometheus监控实战:从安装配置到告警规则的完整指南

Prometheus是云原生时代最流行的监控系统。本文分享Prometheus的完整监控实战经验。

Prometheus概述

核心特点:pull模式采集、多维度数据模型、强大的PromQL查询语言、不依赖分布式存储。

架构组成:Prometheus Server(采集和存储)、Alertmanager(告警)、Pushgateway(短期任务推送)、Exporters(指标导出)。

安装与部署

二进制安装:下载prometheus-{version}.linux-amd64.tar.gz,解压运行prometheus。配置prometheus.yml。

Docker安装:docker run -d -p 9090:9090 -v /etc/prometheus:/etc/prometheus prom/prometheus。

Kubernetes部署:使用kube-prometheus-stack一键部署。包含Prometheus+Grafana+Alertmanager。

配置文件:global(全局配置)、alerting(告警配置)、rule_files(规则文件)、scrape_configs(采集配置)。

核心配置

scrape_configs:定义采集目标。每个job_name是一个采集任务。

static_configs:静态目标配置。targets指定目标地址。

relabel_configs:标签重写。用于服务发现、标签修改。

服务发现:支持Kubernetes、Consul、EC2等服务发现。

常用Exporter

node_exporter:采集主机指标(CPU、内存、磁盘、网络)。prometheus/node_exporter。

cadvisor:采集Docker容器指标。prometheus/cadvisor。

mysqld_exporter:采集MySQL指标。prometheus/mysqld_exporter。

redis_exporter:采集Redis指标。oliver006/redis_exporter。

blackbox_exporter:黑盒探测(HTTP/TCP/ICMP)。prometheus/blackbox_exporter。

PromQL查询

即时向量查询:prometheus_http_requests_total{job=”api”}。返回最新采样值。

范围向量查询:prometheus_http_requests_total{job=”api”}[5m]。返回时间范围内的采样值。

聚合运算:sum()、avg()、max()、min()、count()。按标签聚合计算。

速率计算:rate()计算每秒平均增长率。increase()计算增长量。

标签过滤:{job=~”api|web”}使用正则匹配。{job!=”test”}排除匹配。

告警规则

告警规则定义:groups定义告警组。alert定义单个告警。expr定义告警条件。for定义持续时间。labels定义告警标签。annotations定义告警描述。

告警示例:CPU使用率>80%持续5分钟、内存使用率>90%、服务不可用>1分钟。

Alertmanager配置:route定义告警路由。match/match_re定义告警匹配规则。receivers定义接收者。

告警接收:Email、企业微信、钉钉、Slack、PagerDuty。支持webhook自定义。

最佳实践

标签设计:合理的标签设计是监控的基础。避免高基数标签。告警优化:告警要精准,避免告警疲劳。服务注册:使用服务发现自动发现目标。数据保留:合理设置数据保留周期,平衡存储和历史分析需求。


更多技术文章:https://blog.hanyucloud.com | 客服:400-880-3980

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容