prometheus监控k8s教程
时间: 2024-10-18 21:01:39 浏览: 23
Prometheus 是一个开源的监控系统,常用于 Kubernetes 环境中收集和存储服务的度量数据。以下是使用 Prometheus 监控 Kubernetes 的一个简要教程:
1. **安装Prometheus**:
- 在Kubernetes集群上安装Prometheus,可以使用 Helm 图谱仓库部署 `prometheus-community/helm-charts` 中的 Prometheus chart。
```bash
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install my-prometheus prometheus-community/prometheus-kubernetes-stack
```
2. **配置 Scrape Targets**:
- 配置 Prometheus 以从 Kubernetes Service Monitor (ServiceMonitor) 获取目标资源列表,比如 Pod、Deployment 或 StatefulSet。
```yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: my-app-svc-monitor
spec:
selector:
matchLabels:
app: my-app
endpoints:
- port: http
path: /metrics
```
3. **设置 Alertmanager**:
Prometheus 结合 Alertmanager 来发送警报通知。Alertmanager 通常会作为 Prometheus 的一部分部署,并通过 Service Discovery 自动发现 Prometheus 实例。
4. **查看指标**:
- 使用 Prometheus UI 访问 `http://<your-cluster-ip>:9090/graph` 查看实时监控数据。
5. **配置告警规则**:
- 编辑 Prometheus 的配置文件 `prometheus.yml` 或者单独创建 AlertRule CRD 来定义何时触发告警。
```yaml
groups:
- name: 'my-app-alert-rules'
rules:
- alert: MyAppDown
expr: up{app="my-app"} < 0.5
for: 5m
labels:
severity: page
annotations:
summary: "My App is down"
description: "The service {{ $labels.app }} has been unavailable for more than 5 minutes."
```
阅读全文