Back to Apisix

server-info

docs/en/latest/plugins/server-info.md

3.16.03.8 KB
Original Source
<!-- # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # -->

Description

The server-info Plugin periodically reports basic server information to etcd.

:::warning

The server-info Plugin is deprecated and will be removed in a future release. For more details about the deprecation and removal plan, please refer to this discussion.

:::

The information reported by the Plugin is explained below:

NameTypeDescription
boot_timeintegerBootstrap time (UNIX timestamp) of the APISIX instance. Resets when hot updating but not when APISIX is just reloaded.
idstringAPISIX instance ID.
etcd_versionstringVersion of the etcd cluster used by APISIX. Will be unknown if the network to etcd is partitioned.
versionstringVersion of APISIX instance.
hostnamestringHostname of the machine/pod APISIX is deployed to.

Attributes

None.

API

This Plugin exposes the endpoint /v1/server_info to the Control API

Enable Plugin

Add server-info to the Plugin list in your configuration file (conf/config.yaml):

yaml
plugins:
  - ...
  - server-info

Customizing server info report configuration

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

The following configurations of the server info report can be customized:

NameTypeDefaultDescription
report_ttlinteger36Time in seconds after which the report is deleted from etcd (maximum: 86400, minimum: 3).

To customize, you can modify the plugin_attr attribute in your configuration file (conf/config.yaml):

yaml
plugin_attr:
  server-info:
    report_ttl: 60

Example usage

After you enable the Plugin as mentioned above, you can access the server info report through the Control API:

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

:::tip

You can also view the server info report through the APISIX Dashboard.

:::

Delete Plugin

To remove the Plugin, you can remove server-info from the list of Plugins in your configuration file:

yaml
plugins:
  - ...