如果您使用Prometheus来监视您的微服务和Kubernetes环境,您现在可以直接将这些指标发送到New Relic进行存储、可视化,并使用我们的方法与您的其他遥测数据相关联普罗米修斯openmetrics.一体化

此集成从中收集遥测数据许多服务(如traefik.特使,etcd)以与Prometheus兼容的格式曝光指标。实际上,通过集成,您将能够监控Kubernetes环境的关键方面,例如ETCD性能和健康指标,Kubernetes水平吊舱自动播放器(HPA)容量和节点准备。

作为集成的一部分,新遗物存储来自Prometheus的所有指标,删除管理普通服务器的存储和可用性的开销。并且在群荨麻植物集群中进行故障排除时,该集成收集的指标可以与收集的那些集成访问新遗物APM和和集群资源管理器

关于Prometheus.

Prometheus,部分云本地计算基金会(CNCF),是一个开源工具包,提供在容器中运行的服务和应用程序的监控和警报。它广泛用于从Kubernetes环境中收集指标数据。

Prometheus与开源社区进行了大量的工作,以规范普罗米特鲁斯格式和公开指标,特别是在Kubernetes集群中。事实上,普罗米修斯的暴露度量的计划已成为事实上Kubernetes的标准。

普罗米修斯如何工作

Prometheus使用基于拉力的系统来从HTTP端点的服务中提取多维数量的指标,而不是依靠服务将指标推出到Prometheus。由于基于拉力的系统,第三方就像新的遗物一样,可以建立与Prometheus的公制出口商合作的集成,以收集存储和可视化的有价值的数据。

在部署Prometheus服务器时,普通的普罗米修斯可以在规模中管理普罗米修斯可能是组织的真正挑战。新的遗物随着时间的推移,请注意和管理度量标准的存储,并提供在这些指标上可视化和警报的工具。

Prometheus使用键值标记来组织公制数据,允许用户构建强查询以询问其数据。例如,这就是在HTTP验证时的度量看起来的样子:

myservice_requests_total {service =“catalog”,env =“生产”} 100

Prometheus的核心组件

普罗米修斯架构由少数组件创建,以下是哪个是必不可少的:

Prometheus和Kubernetes.

Prometheus在Kubernetes部署中,部分原因在于CNCF中的状态。Prometheus还支持大量开源出口商,以及这样的项目Prometheus运营商使kubernetes环境中的部署很容易。从Kubernetes主机和流程获取指标是一种经过验证的和有效的方法。

开始在Kubernetes中集成新的Relic Prometheus OpenMetrics

新的遗物的Prometheus OpenMetrics集成支持Docker.Kubernetes,使用prometheus版本2。

安装例如,Kubernetes集群中的Prometheus OpenMetrics集成在清单中更改两个变量并在群集中部署它

  1. 下载集成清单YAML文件:
    curl -o.https://download.newrelic.com/infrastructure_agent/intogrations/kubernetes/nri-prometheus-latest.yaml.
  2. 编辑NRI-Prometheus-Lest.yaml清单文件,并添加一个集群名称来标识Kubernetes集群(必需的)和New Relic许可密钥(必需的)。
    env: - 名称:License_Key值:“”[...] config.yaml:|cluster_name:“
  3. 将集成部署到Kubernetes集群中:
    kubectl apply -f nri-prometheus-latest.yaml

NRI-Prometheus-Lest.yaml清单文件包括nri-prometheus-cfg配置映射,显示示例配置。例如,您可以使用示例文件来配置,例如,如何刮掉端点过滤度量标准

一旦您安装了集成Docker.Kubernetes,您可以开始构建查询以跟踪和可视化新遗物中的ProMetheus数据。

看到New Relic的文档有关更多关于兼容性和要求,安装选项,数据限制,配置,度量查询,故障排除,度量转换等。

在New Relic中收集、查看和查询普罗米修斯度量

当您有集成到位时,您将首先收集Prometheus的指标,然后查询和查看它们。

收集指标

整合会自动发现刮擦哪些目标。默认情况下,查询度量标准/度量标准港口路径8080。但是,你可以使用prometheus.io/port.prometheus.io /路径注释标签在您的Kubernetes pod和服务中指定端口和端点路径,集成在构造目标时应该使用(但请注意,注释优先于标签)。

例如,如果您在群集中进行部署,则PODS将在端口上公开Prometheus度量标准8080在路上我的指标,设置标签prometheus.io/port.“8080”prometheus.io /路径“我的指标”在部署清单的Podspec元数据中,如图所示:

apiersion:应用程序/ v1种类:部署元数据:名称:my-deployment spec:replicas:2选择器:matchlabels:my-app模板:metadata:标签:应用程序:my-app prometheus.io/scrape:“true”prometheus.io / port:“8080”prometheus.io/path:“my-metrics”

集成将通过向pods发送请求来检索指标http:// :8080 / my-metrics

查看和查询您的指标

收集后,您可以使用新的遗物查询语言(NRQL)查询您的ProMetheus指标新的遗物见解或者是新遗迹一个图表建设者

例如,要获取特定群集的度量名称,命名空间或POD,请运行以下一个查询之一:

  • 簇:
    从度量标准选择唯一(Metricname),其中clustername =''
  • 命名空间:
    从度量标准选择uniques(metricname),其中namespacename =''
  • 荚:
    从度量标准选择uniques(metricname),其中podname =''

从那里,你可以得到一个指标的属性和属性值:

  • 从度量标准选择keyset(),其中metricname =''
  • SELECT * FROM Metric () WHERE metricName='' AND podName=''

使用您检索到的度量名称和属性,您现在可以查询Prometheus数据。

例如:

  • 获取原始度量标准值:
    从度量标准选择其中<属性> ='<值>'
  • 获取度量标准图(可能的聚合器是平均数,分钟,马克斯,和):
    从度量标准选择)其中<属性> =''timeSeries
  • 查看部署中所有POD的平均内存用法:
    从度量标准选择平均值(container_memory_usage_bytes),其中deploymentname ='my-app-deployment'和namespacename ='default'

阅读更多关于查看和查询度量数据的更多信息文件

普通遗物中普罗米修斯数据的示例用法

有任何数量的方法可以在新遗物中使用prometheus数据,但考虑以下用例:

监测ettd.

etcd是键值数据存储,对于运行Kubernetes集群是必不可少的。Prometheus从ETCD中提取指标,以确保您的集群健康,您可以使用Prometheus OpenMetrics集成来监控etcd服务器、磁盘和网络指标如:

  • etcd_server_has_leader
  • etcd_server_proposals_failed_total
  • etcd_network_peer_sent_bytes_total.
  • etcd_disk_wal_fsync_duration_seconds.

Kubernetes水平吊舱自动播放器(HPA)

HPA根据用户配置的限制自动扩展Kubernetes部署。在安装了Prometheus OpenMetrics集成之后,您可以在New Relic One chartbuilder(或New Relic Insights)中使用以下查询来构建一个监控剩余HPA容量的仪表板小部件。

select最新(kube_hpa_status_current_replicas),最新(kube_hpa_spec_max_replicas) where clusterName = '<您的集群名>' facet hpa

使用图表构建器创建仪表板小部件以监控HPA容量

节点准备

在Kubernetes中,在可以接受工作负载(POD)时,节点就会准备就绪。如果一个节点有问题,Kubernetes将标记为“未准备好”。创造一个警报条件为此,使用集成,使用以下查询:

从度量标准选择最新(kube_node_status_condition),条件='准备'和status ='true'和clustername ='<群集名称>'facet nodename

为节点准备设置设置警报条件

看看它的行动:

让新的遗物管理和扩展您的ProMetheus数据

无论您是刚开始使用普罗米修斯,还是您已经将它与像Grafana这样的仪表盘工具结合使用来监视您的Kubernetes环境,New Relic都可以帮助您开始并扩展数据,而无需管理普罗米修斯和您的仪表盘工具。新的Relic普罗米修斯OpenMetrics集成允许你在一个平台上存储和可视化那些关键的度量。使用New Relic One,您可以更容易地将度量数据与事件、跟踪和日志数据(或者,我们称之为,熔化。)从您的整个软件堆栈中的所有实体 - 从Kubernetes后端到前端浏览器UI - 用于数据和应用程序之间的关系的完全连接的视图。

促成Prometheus OpenMetrics集成

新遗迹贡献了Prometheus集成在Apache 2.0许可下的开源社区。

我们欢迎贡献对此集成或我们的任何开源出口商和适配器。如果您想贡献,请查看我们的贡献者指南。请记住,当您提交拉动请求时,您需要签署CLA。如果您想执行我们的公司CLA,或者您有任何疑问,请向我们送一封电子邮件openSource@newrelic.com.

作为新遗物的Kubernetes的产品经理,JF可帮助客户了解,故障排除,并优化其Kubernetes环境。此前,他将归档,部署,管理和自动化的全球和大规模基础设施作为电信公司的服务产品,并在开发开源网络虚拟化和分析软件中担任产品管理器。查看帖子

有兴趣为New Relic博客写作吗?亚搏体育登入网送我们一个球场!!