如果您使用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服务器:刮擦和存储时间序列度量数据
- Pushgateway:在发送到Prometheus Server之前的短期作业缓存指标
- 出口商:从第三方服务,如Redis, etcd和Grafana中提取指标
- 客户端库:用于使用Prometheus监控的仪器服务和应用程序
Prometheus和Kubernetes.
Prometheus在Kubernetes部署中,部分原因在于CNCF中的状态。Prometheus还支持大量开源出口商,以及这样的项目Prometheus运营商使kubernetes环境中的部署很容易。从Kubernetes主机和流程获取指标是一种经过验证的和有效的方法。
开始在Kubernetes中集成新的Relic Prometheus OpenMetrics
新的遗物的Prometheus OpenMetrics集成支持Docker.和Kubernetes,使用prometheus版本2。
安装例如,Kubernetes集群中的Prometheus OpenMetrics集成在清单中更改两个变量并在群集中部署它
- 下载集成清单YAML文件:
curl -o.https://download.newrelic.com/infrastructure_agent/intogrations/kubernetes/nri-prometheus-latest.yaml.
- 编辑
NRI-Prometheus-Lest.yaml
清单文件,并添加一个集群名称来标识Kubernetes集群(必需的)和New Relic许可密钥(必需的)。env: - 名称:License_Key值:“
”[...] config.yaml:|cluster_name:“ ” - 将集成部署到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://
。
查看和查询您的指标
收集后,您可以使用新的遗物查询语言(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
节点准备
在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.。