Skip to main content
Version: 2.13

server-info

Description#

server-info is a plugin that reports basic server information to etcd periodically.

The meaning of each item in server information is following:

NameTypeDescription
boot_timeintegerBootstrap time (UNIX timestamp) of the APISIX instance, value will be reset when you hot updating APISIX but is kept for intact if you just reloading APISIX.
idstringAPISIX instance id.
etcd_versionstringThe etcd cluster version that APISIX is using, value will be "unknown" if the network (to etcd) is partitioned.
versionstringAPISIX version.
hostnamestringHostname of the machine/pod that APISIX is deployed.

Attributes#

None

API#

This plugin exposes one API /v1/server_info to Control API.

How to Enable#

Just configure server-info in the plugin list of the configuration file conf/config.yaml.

plugins:                          # plugin list
- example-plugin
- limit-req
- node-status
- server-info
- jwt-auth
- zipkin
......

How to customize the server info report configurations#

We can change the report configurations in the plugin_attr section of conf/config.yaml.

NameTypeDefaultDescription
report_ttlinteger36the live time for server info in etcd (unit: second, maximum: 86400, minimum: 3).

Here is an example, which modifies the report_ttl to one minute.

plugin_attr:
server-info:
report_ttl: 60

Test Plugin#

After enabling this plugin, you can access these data through the plugin 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
}

The APISIX Dashboard will collects server info in etcd, so you may also try to check them through Dashboard.

Disable Plugin#

Remove server-info in the plugin list of configure file conf/config.yaml.

plugins:                          # plugin list
- example-plugin
- limit-req
- node-status
- jwt-auth
- zipkin
......