aws的k8s搭建promuthus和grafana
时间: 2025-01-08 12:01:21 浏览: 5
### 如何在 AWS EKS 上部署 Prometheus 和 Grafana 实现监控
#### 准备环境
为了确保顺利部署,在开始之前需确认已安装并配置好 `kubectl` 及 Helm 客户端,并且拥有一个运行正常的 Amazon EKS 集群。此外,还需具备足够的权限来进行资源创建操作。
#### 创建命名空间
建议为 Prometheus 和 Grafana 的组件单独划分一个新的命名空间以便管理和隔离其他应用:
```bash
kubectl create namespace monitoring
```
#### 添加稳定仓库源
由于官方推荐使用 Helm 进行自动化部署,因此先要添加稳定的 Helm Chart 仓库:
```bash
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
```
#### 使用 Helm 部署 Prometheus
执行如下命令可以基于默认设置快速完成 Prometheus Server 的安装:
```bash
helm install prometheus prometheus-community/prometheus \
--set alertmanager.persistentVolume.storageClass="gp2",server.persistentVolume.storageClass="gp2"
```
此过程会自动拉取所需镜像并在指定命名空间内启动相应 Pod[^4]。
#### 访问 Prometheus UI
对于本地测试而言,可以通过 kubectl 提供的端口转发功能轻松访问 Prometheus Web 界面:
```bash
kubectl port-forward -n monitoring svc/prometheus-server 9090:80
```
打开浏览器输入 http://localhost:9090 即可浏览到 Prometheus 控制台页面。
#### 使用 Helm 部署 Grafana
紧接着继续利用 Helm 来简化 Grafana 的安装流程:
```bash
helm install grafana prometheus-community/grafana \
--namespace monitoring \
--set persistence.enabled=true,persistence.storageClassName=gp2,service.type=LoadBalancer
```
上述指令同样指定了持久化卷以及暴露外部 IP 地址的方式让 Grafana 更加易于访问[^1]。
#### 获取初始管理员密码
新装完成后可通过以下方式获取 Grafana 默认登录凭证:
```bash
export POD_NAME=$(kubectl get pods --namespace monitoring -l "app.kubernetes.io/name=grafana" -o jsonpath="{.items[0].metadata.name}")
kubectl exec $POD_NAME --namespace monitoring -- /bin/sh -c 'cat /etc/grafana/provisioning/dashboards/admin-password'
```
#### 设置数据源连接
进入 Grafana 后应当立即修改账户安全信息;随后前往“Configuration -> Data Sources”,新增一条指向同一网络内的 Prometheus 数据源记录,通常情况下 URL 应设为 `http://prometheus-server.monitoring.svc.cluster.local` 或者依据实际部署情况调整。
#### 测试与验证
最后一步就是构建一些基础仪表板来直观展示集群健康状况和其他重要性能指标了。可以从 Grafana 官方库中挑选合适的模板导入,也可以自定义开发满足特定需求的画面布局[^2]。
阅读全文