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": {}
+}'
+```