title: server-info keywords:

  • APISIX
  • Plugin
  • Server info
  • server-info description: 本文介绍了关于 Apache APISIX server-info 插件的基本信息及使用方法。

描述

server-info 插件可以定期将服务基本信息上报至 etcd。

服务信息中每一项的含义如下:

名称类型描述
boot_timeintegerAPISIX 服务实例的启动时间(UNIX 时间戳),如果对 APISIX 进行热更新操作,该值将被重置。普通的 reload 操作不会影响该值。
idstringAPISIX 服务实例 id。
etcd_versionstringetcd 集群的版本信息,如果 APISIX 和 etcd 集群之间存在网络分区,该值将设置为 "unknown"
versionstringAPISIX 版本信息。
hostnamestring部署 APISIX 的主机或 Pod 的主机名信息。

属性

无。

插件接口

该插件在 Control API 下暴露了一个 API 接口 /v1/server_info

启用插件

该插件默认是禁用状态,你可以在配置文件(./conf/config.yaml)中添加如下配置启用 server-info 插件。

plugins:                          # plugin list
  - ...
  - server-info

自定义服务信息上报配置

我们可以在 ./conf/config.yaml 文件的 plugin_attr 部分修改上报配置。

下表是可以自定义配置的参数:

名称类型默认值描述
report_ttlinteger36etcd 中服务信息保存的 TTL(单位:秒,最大值:86400,最小值:3)。

以下是示例是通过修改配置文件(conf/config.yaml)中的 plugin_attr 部分将 report_ttl 设置为 1 分钟:

plugin_attr:
  server-info:
    report_ttl: 60

测试插件

在启用 server-info 插件后,可以通过插件的 Control API 来访问到这些数据:

curl http://127.0.0.1:9090/v1/server_info -s | jq .
{
  "etcd_version": "3.5.0",
  "id": "b7ce1c5c-b1aa-4df7-888a-cbe403f3e948",
  "hostname": "fedora32",
  "version": "2.1",
  "boot_time": 1608522102
}

:::tip

你可以通过 APISIX Dashboard 查看服务信息报告。

:::

禁用插件

如果你想禁用插件,可以将 server-info 从配置文件中的插件列表删除,重新加载 APISIX 后即可生效。

plugins:    # plugin list
  - ...