Kubernetes中的一个示例集装箱化应用程序无法在Prometheus中显示为用于刮取度量的目标
我的目标是重现这篇博文中的观察结果: 到目前为止,我已经能够在集群中部署示例rpc应用程序,下面显示了该应用程序的两个POD正在运行:Kubernetes中的一个示例集装箱化应用程序无法在Prometheus中显示为用于刮取度量的目标,kubernetes,monitoring,prometheus,Kubernetes,Monitoring,Prometheus,我的目标是重现这篇博文中的观察结果: 到目前为止,我已经能够在集群中部署示例rpc应用程序,下面显示了该应用程序的两个POD正在运行: NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATE
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default rpc-app-deployment-64f456b65-5m7j5 1/1 Running 0 3h23m 10.244.0.15 my-server-ip.company.com <none> <none>
default rpc-app-deployment-64f456b65-9mnfd 1/1 Running 0 3h23m 10.244.0.14 my-server-ip.company.com <none> <none>
我的普罗米修斯吊舱在同一个集群中运行。然而,我在普罗米修斯身上看不到任何放射性物质
monitoring prometheus-deployment-599bbd9457-pslwf 1/1 Running 0 30m 10.244.0.21 my-server-ip.company.com <none> <none>
监控prometheus-deployment-599bbd9457-pslwf 1/1运行0 30m 10.244.0.21 my-server-ip.company.com
在普罗米修斯的GUI中
单击状态->服务发现,我得到
服务发现
rpc指标(0/3个活动目标)
单击状态->目标不显示任何内容(0个目标)
单击状态->配置
内容可以看作:
我对普罗米修斯/库伯内特斯监控非常陌生,感谢您帮助解决此问题
更新1-我创建了服务
`
# cat rpc-app-service.yaml
apiVersion: v1
kind: Service
metadata:
name: rpc-app-service
labels:
app: rpc-app
spec:
ports:
- name: web
port: 8081
targetPort: 8081
protocol: TCP
nodePort: 32325
selector:
app: rpc-app
type: NodePort
# kubectl get service rpc-app-service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rpc-app-service NodePort 10.110.204.119 <none> 8081:32325/TCP 9h
`
#cat rpc-app-service.yaml
版本:v1
种类:服务
元数据:
名称:rpc应用程序服务
标签:
应用程序:rpc应用程序
规格:
端口:
-名称:网站
端口:8081
目标港:8081
协议:TCP
节点端口:32325
选择器:
应用程序:rpc应用程序
类型:节点端口
#kubectl获取服务rpc应用程序服务
名称类型CLUSTER-IP外部IP端口年龄
rpc应用程序服务节点端口10.110.204.119 8081:32325/TCP 9h
您是否创建了Kubernetes服务来公开部署
kubectl创建-f rpc-app-service.yam
Prometheus配置监视的是服务端点,而不是部署
看一看这张照片。它比在集群中运行普罗米修斯部署稍微复杂一些,但它代表了普罗米修斯最先进的部署,具有一些优雅的抽象,例如
PodMonitors
和ServiceMonitors
是的,我创建了服务。请参阅更新1“日志中的任何内容?”?你有一套复杂的relabel。也许可以简化配置以匹配文章,并且在工作时增加复杂性?TLS配置也值得确认。由于某些原因,最初尝试使用OP中的确切配置不起作用。现在我改回简单的配置,它似乎可以工作。我能够看到操作中描述的结果。。当前我的Prometheus部署为同一集群中的pod,现在我需要探索如何在集群外运行Prometheus服务器时重复相同的行为。如果我有问题,我会问一个新的线程。谢谢你检查这个@不客气!
`
# cat rpc-app-service.yaml
apiVersion: v1
kind: Service
metadata:
name: rpc-app-service
labels:
app: rpc-app
spec:
ports:
- name: web
port: 8081
targetPort: 8081
protocol: TCP
nodePort: 32325
selector:
app: rpc-app
type: NodePort
# kubectl get service rpc-app-service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rpc-app-service NodePort 10.110.204.119 <none> 8081:32325/TCP 9h