在Kubernetes中要Prometheus和Grafana进行性能的监控和报警,需要安装以下4个部分:
- Exporter 监控工具,获取数据
- Prometheus 普罗米修斯时序数据库,用来存储和查询你的监控数据
- Grafana 仪表盘
- alertmanager 报警
现在,我们利用kube-prometheus-stack
一键安装以上工具。
1. 添加Helm仓库
首先,添加Prometheus社区的Helm仓库,以便能够使用他们的Helm Chart。
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
2. 部署Prometheus和Grafana
使用helm install
命令来部署Prometheus和Grafana。Prometheus社区提供了一个名为kube-prometheus-stack
的Helm Chart,它集成了Prometheus Operator、Prometheus、Alertmanager以及Grafana。
helm install my-kube-prometheus-stack prometheus-community/kube-prometheus-stack
这里my-kube-prometheus-stack
是你给这个release起的名字,你可以根据需要修改它。
3. 检查部署状态
部署完成后,通过以下命令检查Pods的状态,确保所有的组件都已正确部署:
kubectl get pods -l "release=my-kube-prometheus-stack"
4. 访问Grafana
部署完成后,你可以通过以下步骤访问Grafana:
- 首先,获取Grafana的admin密码:
kubectl get secret --namespace default my-kube-prometheus-stack-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
- 然后,通过端口转发访问Grafana的Web界面:
kubectl port-forward svc/my-kube-prometheus-stack-grafana 3000:80
- 在浏览器中访问
http://localhost:3000
,使用上面获取的密码登录Grafana。
5. 自定义配置
如果你需要自定义Grafana或Prometheus的配置,可以通过编辑values.yaml
文件来实现。你可以从Grafana Helm Charts repository下载默认的values.yaml
文件,并根据需要进行修改。然后,使用helm install
或helm upgrade
命令时,通过-f
参数指定你的配置文件。
6. 启用持久化存储(推荐)
为了确保Grafana的数据持久化,建议启用持久化存储。你可以在values.yaml
文件中设置persistence.enabled
为true
,并根据你的存储需求配置其他相关参数。