linux cpu占用率如何看
325
2022-10-09
#yyds干货盘点# Prometheus Exporter(二十四) Kong 指标采集
本文已经收录在 Prometheus 合集 Prometheus 都可以采集那些指标?-- 常用 Exporter 合集 中。
Kong 是一个微服务网关工具,在微服务架构中,由于系统和服务的细分,导致系统结构变得非常复杂, 为了跨平台,为了统一集中管理api,同时为了不暴露后置服务。甚至有时候需要对请求进行一些安全、负载均衡、限流、熔断、灰度等中间操作,基于此类种种的客观需求一个类似综合前置的系统就产生了,这就是API网关(API Gateway)。API网关作为分散在各个业务系统微服务的API聚合点和统一接入点,外部请求通过访问这个接入点,即可访问内部所有的 REST API 服务。
Kong 的官方网站是 ,针对 Kong 的监控, Kong 提供了一个 Prometheus 的插件。这个插件是默认安装 Kong 的时候自带的,这个也可以升级。当前这个 Prometheus 的监控插件最新版本是 1.4.x ,兼容 Kong 的大部分版本。这个插件以Prometheus 公开格式公开与 Kong 和代理 Upstream 服务相关的度量,可以由 Prometheus 服务器抓取。
这个插件曾经是单独维护的,仓库地址是 ,当版本到 1.1.0 以后,这个插件维护到 Kong 的主仓库里了,不再单独维护了,地址是 。
配置
这个插件是兼容无数据库模式的。
当 Kong 处于无数据库模式时,Prometheus 采集的监控数据中对于数据库的监控指标永远是正常状态。
对于 Kong 的 Prometheus 插件可以通过 Admin API 来进行打开,执行下边这个请求来打开全局的监控
curl -X POST \ --data "name=prometheus"
另外有一些参数可以使用在插件的配置文件中使用
name:字符串类型,插件的名字,在这个例子中是 Prometheus。 service.id:字符串类型,服务的插件标记的 ID enable:布尔值,这个插件是否开启的,默认值是 true 。 config.per_consumer:布尔值,默认值是 false,它决定是否应该收集每个消费者的指标。如果启用,kong_指标将被添加到导出指标中。
在最新的 1.4.x 版本中,新增了一个 data_plane_cluster_cert_expiry_timestamp 指标,另外Upstream Target health 指标新增了一个 subsystem label 。
这个 Prometheus 插件记录并公开节点级别的指标,你的 Prometheus 服务器将需要通过服务发现机制发现所有的Kong节点,并使用每个节点的配置 /metrics 接口获取数据。
可用的指标
目前可用的指标:
Status codes :Upstream服务返回的HTTP状态码。对于每个服务、所有服务以及每个用户的路由,这些都是可用的。 Latencies Histograms: 在 Kong 延迟的直方统计数据 Request:Kong和Upstream服务提供请求所需的总时间。 Kong:Kong路由一个请求并运行所有配置的插件所花费的时间 Upstream:Upstream服务响应请求所花费的时间。 Bandwidth:通过 Kong 的总带宽(出口/进口)。该指标可用于每个服务,并作为所有服务的总和。 DB reachability:值为0或1的一种规格类型,它表示一个Kong节点是否可以到达DB。 Connections:各种Nginx连接指标,如活动的,读的,写的,和接受的连接数。 Target Health:属于给定 Upstream 的目标及其子系统(http或stream)的健康状态(healthchecks_off、健康、不健康或dns_error)。 Dataplane Status:将数据的最后一次显示的时间戳、配置哈希值、配置同步状态和证书过期时间戳导出到控制页面。 Enterprise License Information:Kong Gateway license过期日期、特性和license签名。这些指标只能在Kong Gateway上输出。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~