Firstsawyou commented on a change in pull request #2615: URL: https://github.com/apache/apisix/pull/2615#discussion_r517045677
########## File path: doc/zh-cn/plugins/node-status.md ########## @@ -0,0 +1,142 @@ +<!-- +# +# 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. +# +--> + + +# 目录 +- [**插件简介**](#插件简介) +- [**插件属性**](#插件属性) +- [**插件接口**](#接口插件) +- [**启用插件**](#启用插件) +- [**测试插件**](#测试插件) +- [**禁用插件**](#禁用插件) + + +## 插件简介 + +`node-status` 是APISIX的请求状态查询插件,返回基本的状态信息。 + + +## 插件属性 + +插件属性为空。 + + +## 插件接口 + +插件增加接口`/apisix/status`,可通过 [interceptors](plugin-interceptors.md)保护该接口。 + + +## 启用插件 + +1. 配置文件apisix/conf/conf.yaml的plugins list中配置node-status + +``` +plugins: # plugin list + - example-plugin + - limit-req + - node-status + - jwt-auth + - zipkin + ...... +``` + +启动APISIX之后,即可访问该插件提供的接口,获得基本的状态信息。 + +2. 在创建route时添加插件node-status + +``` +$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d ' +{ + "uri": "/route1", + "methods": ["PUT", "GET"], + "upstream": { + "type": "roundrobin", + "nodes": { + "39.97.63.215:80:": 1 + } + }, + "plugins": { + "node-status":{} + } +}' +``` + +发送该请求的前提是apisix/conf/conf.yaml中已经配置node-status,此时node-status插件对该请求处理无影响,所以一般不会将node-status插件设置到路由中。 Review comment: The file name of conf.yaml is incorrect, it should be config.yaml. ########## File path: doc/zh-cn/plugins/node-status.md ########## @@ -0,0 +1,142 @@ +<!-- +# +# 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. +# +--> + + +# 目录 +- [**插件简介**](#插件简介) +- [**插件属性**](#插件属性) +- [**插件接口**](#接口插件) +- [**启用插件**](#启用插件) +- [**测试插件**](#测试插件) +- [**禁用插件**](#禁用插件) + + +## 插件简介 + +`node-status` 是APISIX的请求状态查询插件,返回基本的状态信息。 + + +## 插件属性 + +插件属性为空。 + + +## 插件接口 + +插件增加接口`/apisix/status`,可通过 [interceptors](plugin-interceptors.md)保护该接口。 + + +## 启用插件 + +1. 配置文件apisix/conf/conf.yaml的plugins list中配置node-status + +``` +plugins: # plugin list + - example-plugin + - limit-req + - node-status + - jwt-auth + - zipkin + ...... +``` + +启动APISIX之后,即可访问该插件提供的接口,获得基本的状态信息。 + +2. 在创建route时添加插件node-status + +``` +$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d ' +{ + "uri": "/route1", + "methods": ["PUT", "GET"], + "upstream": { + "type": "roundrobin", + "nodes": { + "39.97.63.215:80:": 1 + } + }, + "plugins": { + "node-status":{} + } +}' +``` + +发送该请求的前提是apisix/conf/conf.yaml中已经配置node-status,此时node-status插件对该请求处理无影响,所以一般不会将node-status插件设置到路由中。 + + +## 测试插件 + +1. 发送请求 + +``` +$ curl localhost:9080/apisix/status -i +HTTP/1.1 200 OK +Date: Tue, 03 Nov 2020 11:12:55 GMT +Content-Type: text/plain; charset=utf-8 +Transfer-Encoding: chunked +Connection: keep-alive +Server: APISIX web server + +{"status":{"total":"23","waiting":"0","accepted":"22","writing":"1","handled":"22","active":"1","reading":"0"},"id":"6790a064-8f61-44ba-a6d3-5df42f2b1bb3"} +``` + +2. 参数说明 + +| 参数 | 说明 | +| ------------ | -------------------------------------------- | +| status | 状态信息 | +| total | 客户端请求总数 | +| waiting | 当前等待客户端请求的空闲连接数 | +| accepted | 已经接受的客户端连接总数 | +| writing | 当前正在写给客户端响应的连接数 | +| handled | 已经处理的连接总数,通常等于accepted | +| active | 当前活跃的客户端连接数 | +| reading | 当前正在读取请求头的连接数 | +| id | APISIX uid信息,保存在apisix/conf/apisix.uid | + + +## 禁用插件 + +1. 配置文件apisix/conf/conf.yaml的plugins list中删除node-status Review comment: ditto. ########## File path: doc/zh-cn/plugins/node-status.md ########## @@ -0,0 +1,142 @@ +<!-- +# +# 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. +# +--> + + +# 目录 +- [**插件简介**](#插件简介) +- [**插件属性**](#插件属性) +- [**插件接口**](#接口插件) +- [**启用插件**](#启用插件) +- [**测试插件**](#测试插件) +- [**禁用插件**](#禁用插件) + + +## 插件简介 + +`node-status` 是APISIX的请求状态查询插件,返回基本的状态信息。 + + +## 插件属性 + +插件属性为空。 + + +## 插件接口 + +插件增加接口`/apisix/status`,可通过 [interceptors](plugin-interceptors.md)保护该接口。 + + +## 启用插件 + +1. 配置文件apisix/conf/conf.yaml的plugins list中配置node-status Review comment: The file name of `conf.yaml` is incorrect, it should be `config.yaml`, right? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
