server-info
#
描述server-info
插件可以定期将服务基本信息上报至 etcd。
服务信息中每一项的含义如下:
名称 | 类型 | 描述 |
---|---|---|
boot_time | integer | APISIX 服务实例的启动时间(UNIX 时间戳),如果对 APISIX 进行热更新操作,该值将被重置。普通的 reload 操作不会影响该值。 |
id | string | APISIX 服务实例 id。 |
etcd_version | string | etcd 集群的版本信息,如果 APISIX 和 etcd 集群之间存在网络分区,该值将设置为 "unknown" 。 |
version | string | APISIX 版本信息。 |
hostname | string | 部署 APISIX 的主机或 Pod 的主机名信息。 |
#
属性无。
#
插件接口该插件在 Control API 下暴露了一个 API 接口 /v1/server_info
。
#
启用插件该插件默认是禁用状态,你可以在配置文件(./conf/config.yaml
)中添加如下配置启用 server-info
插件。
conf/config.yaml
plugins: # plugin list
- ...
- server-info
#
自定义服务信息上报配置我们可以在 ./conf/config.yaml
文件的 plugin_attr
部分修改上报配置。
下表是可以自定义配置的参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
report_ttl | integer | 36 | etcd 中服务信息保存的 TTL(单位:秒,最大值:86400,最小值:3)。 |
以下是示例是通过修改配置文件(conf/config.yaml
)中的 plugin_attr
部分将 report_ttl
设置为 1 分钟:
conf/config.yaml
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 后即可生效。
conf/config.yaml
plugins: # plugin list
- ...