Prometheus 是一个开源的监控系统,结合 Kubernetes 可实现对容器化应用的实时观测。以下是关键实践步骤:

安装与配置 🛠️

  1. 部署 Prometheus Server
    • 使用 Helm 或 YAML 文件安装
    • 配置 kubernetes_sd_configs 发现目标
  2. 配置 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
    
  3. 设置 Alertmanager 告警规则
    • 配置阈值触发告警(如 CPU 使用率 > 80%)

监控指标清单 📋

  • 📈 节点资源node_memory_MemTotal_bytesnode_cpu_seconds_total
  • 📈 Pod 状态container_status_restarts_totalpod_start_time
  • 📈 服务健康http_requests_totalkubernetes_pod_status_phase
  • 📈 网络流量container_network_transmit_bytes_total

高级功能 🔍

  • 📊 通过 Grafana 可视化监控数据
  • ⚠️ 设置自动发现(Auto Discovery)动态追踪服务
  • 📝 创建自定义指标(如应用特定日志分析)

常见问题解答 ❓

  • Q: 如何处理指标采集失败?
    • A: 检查 ServiceMonitor 的 namespaceendpoints 配置
  • Q: 如何优化存储成本?
    • A: 使用 Prometheus 的远程存储(如 Thanos 或 Cortex)
  • Q: 如何确保权限安全?
    • A: 通过 Kubernetes Role-Based Access Control (RBAC) 限制访问
Prometheus_Kubernetes_Architecture

如需深入学习,可参考 Prometheus Kubernetes 监控教程 获取完整配置案例。