You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2020/11/06 02:51:37 UTC

[apisix] branch master updated: docs: node-status.md (#2615)

This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix.git


The following commit(s) were added to refs/heads/master by this push:
     new 3ab580f  docs: node-status.md (#2615)
3ab580f is described below

commit 3ab580fa7150736735c7dec67f6a3f4d2987b597
Author: HelloBug0 <73...@users.noreply.github.com>
AuthorDate: Fri Nov 6 10:51:28 2020 +0800

    docs: node-status.md (#2615)
    
    * Create node-status.md
    
    * Update node-status.md
    
    * Update node-status.md
    
    * Update node-status.md
    
    1. add a blank line after #目录
    2. remove some unnecessary lines
    
    * Update node-status.md
    
    1. add language type in code
    2. change '插件属性为空' to ‘无’
    3. change '接口插件' to '插件接口' which could add link to directory '插件接口'
---
 doc/zh-cn/plugins/node-status.md | 142 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 142 insertions(+)

diff --git a/doc/zh-cn/plugins/node-status.md b/doc/zh-cn/plugins/node-status.md
new file mode 100644
index 0000000..e0886b1
--- /dev/null
+++ b/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/config.yaml` 的 plugin list 中配置 `node-status`
+
+```
+plugins:                          # plugin list
+  - example-plugin
+  - limit-req
+  - node-status
+  - jwt-auth
+  - zipkin
+  ......
+```
+
+启动 `APISIX` 之后,即可访问该插件提供的接口,获得基本的状态信息。
+
+2. 在创建 route 时添加插件 `node-status`
+
+```sh
+$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
+{
+    "uri": "/route1",
+    "upstream": {
+        "type": "roundrobin",
+        "nodes": {
+            "192.168.1.100:80:": 1
+        }
+    },
+    "plugins": {
+        "node-status":{}
+    }
+}'
+```
+
+发送该请求的前提是 `apisix/conf/config.yaml` 中已经配置 `node-status`,此时 `node-status` 插件对该请求处理无影响,所以一般不会将 `node-status` 插件设置到路由中。
+
+
+## 测试插件
+
+1. 发送请求
+
+```sh
+$ 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/config.yaml` 的 plugin list 中删除 `node-status`
+
+```
+plugins:                          # plugin list
+  - example-plugin
+  - limit-req
+  - jwt-auth
+  - zipkin
+  ......
+```
+
+2. 删除 route 中的 `node-status` 插件信息
+
+```sh
+$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
+{
+    "uri": "/route1",
+    "upstream": {
+        "type": "roundrobin",
+        "nodes": {
+            "192.168.1.100:80": 1
+        }
+    },
+    "plugins": {}
+}'
+```