1

我有几个运行 dev 命名空间的 nodejs 微服务,我公开指标并能够通过http://localhost:9187/metrics访问。

但是,当我部署运行监视命名空间的 prometheus 服务器时,我在 Targets 页面中收到以下错误。

获取http://1.../metrics:超出上下文期限

我假设这些都不允许从命名空间监视访问,因此需要在命名空间 dev 中添加一个额外的,以允许命名空间监视中的 prometheus pod 抓取下面的 pod,或者这个错误的原因可能是什么?

将 netpol 添加到我的应用程序以允许 prometheus 进行命名空间监控的最佳方法是什么?


kubectl 获取 netpol -n dev

myapp-api-dev       app.kubernetes.io/instance=myapp-api-dev,app.kubernetes.io/name=oneapihub-api           5h33m
myapp-auth-dev      app.kubernetes.io/instance=myapp-auth-dev,app.kubernetes.io/name=oneapihub-auth         56m
myapp-backend-dev   app.kubernetes.io/instance=myapp-backend-dev,app.kubernetes.io/name=oneapihub-backend   5h42m
redis               app=redis,release=redis                                                                     33d

kubectl 获取 pods -n 监控

NAME                                            READY   STATUS    RESTARTS   AGE
monitoring-prometheus-server-6cc796c4db-hp4rg   2/2     Running   0          2d4h
4

1 回答 1

2

我猜你已经安装了 kube-prometheus。在这种情况下,您需要创建自定义角色和角色绑定以让 Prometheus 监控其他命名空间,请参见此处

于 2020-04-08T13:20:18.863 回答