有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

本文介绍如何使用 Prometheus 获取云原生 API 网关 Kong 的监控数据。TSE 支持关联腾讯云 Prometheus 和配置自建 Prometheus 两种方式。
关联腾讯云 Prometheus:关联 Prometheus 实例后,Kong 将自动上报监控数据到已关联的 Prometheus。
配置自建 Prometheus:将 Kong 节点信息配置在您的 Prometheus Server 上,进行数据采集。

前置条件

已购买 Kong 网关实例,详情请参见 操作文档
已拥有腾讯云 Prometheus 实例 或自建 Prometheus 实例。

方式1:关联腾讯云 Prometheus

2. 在左侧导航栏单击云原生 API 网关 > 可观测性,在页面上方选择好网关实例。
3. 点击 Prometheus 页签,在关联腾讯云 Prometheus 模块点击编辑按钮。
4. 选择您要关联的腾讯云 Prometheus 实例(仅支持关联与实例在同一 VPC 下的 Prometheus 实例)。
5. 单击确认,完成关联。

方式2:配置自建 Prometheus

步骤1:开启 Prometheus 插件

使用 Prometheus 监控,需要在 Kong 云原生 API 网关开启普罗米修斯(Prometheus)插件,您可以根据需要选择以下两种特性场景:

场景1: 针对指定 API 开启 Prometheus 插件

1. 登录 TSE 控制台,进入需要配置 Prometheus 插件的 Kong 网关实例详情页,在 Konga 控制台页面查看管理控制台登录方式。



2. 登录 Konga 管理控制台,进入需要添加 Prometheus 插件的 Route 详情页,单击 Add Plugin 按钮添加插件,在 Analytics & Monitoring 分组下选择 Prometheus 插件。


3. 添加 Prometheus 插件配置中,若您不需要区分 consumer ,请直接用默认配置。




场景2:开启全局 Prometheus 插件

1. 进入左侧导航栏的 PLUGINS 页面,单击 ADD GLOBAL PLUGINS 按钮,在 Analytics & Monitoring 分组下选择 Prometheus 插件。



2. 登录 TSE 控制台,进入需要配置限流插件的 Kong 网关实例详情页,在配置管理页查看管理控制台登录方式。

步骤2:配置数据拉取地址

1. 准备好腾讯云自建的 Prometheus 实例。该步骤的 Prometheus 实例用于拉取云原生 API 网关 kong 的监控数据。
说明
关于如何购买腾讯云 Prometheus 实例,以及开通配套的 Grafana 实例,可以参见 Prometheus 监控服务 相关文档。
2. 登录 TSE 控制台,在可观测性 > Prometheus 页面查看 Kong 实例的内网节点地址。



3. 若您使用 Prometheus agent,可以在 prometheus.yml 配置文件中的 scrape_configs.static_configs.targets 添加内网节点地址列表,注意端口需配置为 2100(2023年4月18日前创建的实例请配置端口为8100)。例如对于上图的内网地址列表,可以参照以下参数进行配置:
job_name: kong
honor_timestamps: true
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- 172.27.0.35:2100
- 172.27.0.133:2100
- 172.27.0.79:2100
labels:
instance: gateway-f3bdaaa7
relabel_configs:
- source_labels: [__address__]
target_label: node
注意
1. 请配置 relabel_configs 信息,以保证指标上报准确。
2. 请确保 Prometheus Agent 与网关实例在相同 VPC,以保证网络连通性。
3. 请确保 Prometheus Agent Egress安全组放通 2100 端口(2023年4月18日前创建的实例请放通端口8100),以允许网关进行数据采集。
4. 若您使用自定义程序的拉取方式,可以通过云原生 API 网关 DescribeCloudNativeAPINodes 接口自动获取节点 IP 列表。

步骤3:在 Grafana 配置 Kong 模板的 Dashboard(可选)

该步骤指导您在 Grafana 实例展示 Prometheus 采集到的 Kong 监控数据。
1. 前往 Grafana-Kong 官网,下载 Dashboard 配置 JSON 文件。



2. 在您的 Grafana 上导入 Kong 的 Dashboard 模板。



3. 导入 Kong 的 Dashboard 模板后,如果有数据上报到 Prometheus ,则 Grafana 上会展示类似下图的视图。




注意事项

开启 Prometheus 插件对于 Kong 的数据流性能有影响,建议只为需要监控的特定的 API(Route) 开启 Prometheus 插件。
在腾讯云上购买云监控 Prometheus 将产生费用,需要您自行承担。
为简单起见,上述操作依赖 Konga 控制台演示。您也可以调用 kong admin api 来绑定 Prometheus 插件,具体可以参见 Kong-Prometheus 插件文档。关于如何开启 kong admin api ,请参见 开启admin-api并配置安全认证

参考

更多相关说明请参见 Kong Prometheus 插件官方文档