Prometheus 监控 Kubernetes

发布时间: 更新时间: 总字数:537 阅读时间:2m 作者: 分享 复制网址

Prometheus 是 CNCF 的项目,云原生监控平台,与 Kubernetes 高度集成。本文介绍如何在 Kubernetes 环境中安装、部署、使用 Prometheus。

监控架构

prometheus monitor kubernetes

安装

代码见:https://github.com/kbcx/k8s-prom

部署 Prometheus

git clone https://github.com/kbcx/k8s-prom
cd k8s-prom
kubectl create namespace prom
kubectl apply ./prometheus/

# 是否部署成功,通过查看日志判断:kubectl -n prom logs -f prometheus-server-xxx-xxx出现如下提示表示安装成功:
caller=main.go:491 msg="Server is ready to receive web requests."

# 域名验证
dig prometheus.prom.svc.kb.cx @10.96.0.10 +short
10.98.29.32

# 查看 svc
$ kubectl -n prom get svc
NAME         TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
prometheus   NodePort   10.98.29.32   <none>        9090:31338/TCP   9h

访问 https://172.20.0.81:31338 就可以打开 Prometheus web 页面

部署 prometheus-adapter

  • 安装
kubectl apply -f ./prometheus-adapter/
  • 成功标识
$ kubectl -n prom get svc
NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
custom-metrics-apiserver   ClusterIP   10.110.217.166   <none>        443/TCP          1m22s
$ kubectl api-versions | grep custom.metrics.k8s.io
custom.metrics.k8s.io/v1beta1
custom.metrics.k8s.io/v1beta2

调用 custom.metrics.k8s.io

调用API示例,API 使用参考:Kubernetes API 介绍

kubectl get --raw /apis/custom.metrics.k8s.io/v1beta2/ | jq .

# 或

# 第一个窗口启动代理
$ kubectl proxy --port=8080

# 第二个窗口调用 API,有对应的返回值
$ curl http://localhost:8080/apis/custom.metrics.k8s.io/v1beta2

部署 Grafana

kubectl apply -f grafana.yaml
  • 查看
$ kubectl -n prom get svc
NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
custom-metrics-apiserver   ClusterIP   10.110.217.166   <none>        443/TCP          8m42s
grafana                    NodePort    10.110.42.140    <none>        3000:31270/TCP   99s
  • 访问 http://172.20.0.81:31270 就可以打开 Grafana web 页面,默认账号:admin/admin

  • 配置数据源

Configuration -> Data sources -> Add data source -> Prometheus -> HTTP:URL 输入 http://prometheus.prom.svc:9090 -> 点击 Save & test

  • 配置 Dashboards

在上述页面,切换到 Dashboards 标签页,在 Prometheus 2.0 Stats 后点击 Import

到 granfan 界面,点击 + -> Import 选择模板和数据源后,导入模板。

高级用法

依赖于监控,可以使用 HPA 自动水平扩展

最新评论
加载中...
Home Archives Categories Tags Statistics