我有一个具有不同端点(休息服务)的应用程序,它运行在kubernetes pods中的docker容器中。
可以访问这些端点,如:
localhost:8080/myapp/status/health
或
localhost:8080/myapp/status/version
我想在prometheus指标中添加一些这些端点(如健康和版本)。我是否需要编写出口商或建议在本次会议中使用哪些出口商?
答案 0 :(得分:0)
我认为这里最好的方法是刮掉应用程序本身而不是Kubernetes本身的指标。
您需要instrument your application使用Prometheus客户端库导出有关您感兴趣的端点的指标,并配置Prometheus来抓取应用程序。
答案 1 :(得分:0)
听起来你正在寻找关键词和一个地方开始配置在Kubernetes集群中运行的Prometheus可以从指标终点抓取数据。
我建议将两个路径myapp/status/version
和myapp/status/health
的job_name添加到prometheus Configmap scrape_config部分,并根据kube-dns分配使目标成为应用程序名称的调用。实际的域名很可能是app_name附加到它所在的命名空间:<app_name>.<k8s_namespace>.svc.cluster.local>
Localhost通常只能解析你的直接系统(即笔记本电脑或pod本身),并且它与127.0.0.1绑定,这通常不是由kube-dns在网络内路由,因为所有的pod和&amp;节点在技术上具有该接口,并且无法区分它们。
您可以通过进入K8s窗格并在组合上发出nslookup来验证FQDN是否已解决。 FQDN不会在群集外部解析,因为它可以在群集中路由 - 除非您以其他方式构建它。
HTH和配置好运。