Prometheus 是一个开源的监控系统,结合 Kubernetes 可实现对容器化应用的实时观测。以下是关键实践步骤:
安装与配置 🛠️
- 部署 Prometheus Server
- 使用 Helm 或 YAML 文件安装
- 配置
kubernetes_sd_configs
发现目标
- 配置 ServiceMonitor 资源
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: kube-apiserver-monitor spec: selector: matchLabels: app: kube-apiserver endpoints: - port: https-metrics path: /metrics
- 设置 Alertmanager 告警规则
- 配置阈值触发告警(如 CPU 使用率 > 80%)
监控指标清单 📋
- 📈 节点资源:
node_memory_MemTotal_bytes
、node_cpu_seconds_total
- 📈 Pod 状态:
container_status_restarts_total
、pod_start_time
- 📈 服务健康:
http_requests_total
、kubernetes_pod_status_phase
- 📈 网络流量:
container_network_transmit_bytes_total
高级功能 🔍
- 📊 通过 Grafana 可视化监控数据
- ⚠️ 设置自动发现(Auto Discovery)动态追踪服务
- 📝 创建自定义指标(如应用特定日志分析)
常见问题解答 ❓
- Q: 如何处理指标采集失败?
- A: 检查 ServiceMonitor 的
namespace
和endpoints
配置
- A: 检查 ServiceMonitor 的
- Q: 如何优化存储成本?
- A: 使用 Prometheus 的远程存储(如 Thanos 或 Cortex)
- Q: 如何确保权限安全?
- A: 通过 Kubernetes Role-Based Access Control (RBAC) 限制访问
如需深入学习,可参考 Prometheus Kubernetes 监控教程 获取完整配置案例。