You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by sy...@apache.org on 2022/08/23 08:42:22 UTC
[apisix] branch master updated: docs: refactor loggers plugin doc(1) (#7688)
This is an automated email from the ASF dual-hosted git repository.
sylviasu 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 213976354 docs: refactor loggers plugin doc(1) (#7688)
213976354 is described below
commit 213976354f6d630029d0fdaa7a5e3dc72324ad46
Author: Fei Han <97...@users.noreply.github.com>
AuthorDate: Tue Aug 23 16:42:14 2022 +0800
docs: refactor loggers plugin doc(1) (#7688)
* docs: refactor loggers plugin doc
* Update docs/zh/latest/plugins/clickhouse-logger.md
Co-authored-by: Sylvia <39...@users.noreply.github.com>
Co-authored-by: hf400159 <hf...@163.com>
Co-authored-by: Sylvia <39...@users.noreply.github.com>
---
docs/zh/latest/plugins/clickhouse-logger.md | 129 +++++++++++++++-------------
docs/zh/latest/plugins/error-log-logger.md | 115 +++++++++++++------------
docs/zh/latest/plugins/log-rotate.md | 70 ++++++++-------
docs/zh/latest/plugins/syslog.md | 55 +++++++-----
docs/zh/latest/plugins/tcp-logger.md | 6 +-
docs/zh/latest/plugins/udp-logger.md | 45 +++++-----
6 files changed, 231 insertions(+), 189 deletions(-)
diff --git a/docs/zh/latest/plugins/clickhouse-logger.md b/docs/zh/latest/plugins/clickhouse-logger.md
index c967b3d6e..45d759550 100644
--- a/docs/zh/latest/plugins/clickhouse-logger.md
+++ b/docs/zh/latest/plugins/clickhouse-logger.md
@@ -1,5 +1,11 @@
---
title: clickhouse-logger
+keywords:
+ - APISIX
+ - API 网关
+ - Plugin
+ - ClickHouse
+description: 本文介绍了 API 网关 Apache APISIX 如何使用 clickhouse-logger 插件将日志数据发送到 ClickHouse 数据库中。
---
<!--
@@ -23,72 +29,35 @@ title: clickhouse-logger
## 描述
-`clickhouse-logger` 是一个插件,可将 Log 数据请求推送到 clickhouse 服务器。
+`clickhouse-logger` 插件可用于将日志数据推送到 [ClickHouse](https://github.com/ClickHouse/ClickHouse) 数据库中。
## 属性
-| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
-| ---------------- | ------- | ------ | ------------- | ------- | ------------------------------------------------ |
-| endpoint_addr | 废弃 | 必须 | | | 推荐使用 `endpoint_addrs` 代替。`clickhouse` 服务器的 endpoints。|
-| endpoint_addrs | array | 必须 | | | `clickhouse` 服务器的 endpoints。|
-| database | string | 必须 | | | 使用的数据库。 |
-| logtable | string | 必须 | | | 写入的表名 。 |
-| user | string | 必须 | | | clickhouse 的用户。 |
-| password | string | 必须 | | | clickhouse 的密码 。 |
-| timeout | integer | 可选 | 3 | [1,...] | 发送请求后保持连接活动的时间。 |
-| name | string | 可选 | "clickhouse logger" | | 标识 logger 的唯一标识符。 |
-| ssl_verify | boolean | 可选 | true | [true,false] | 验证证书。 |
+| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
+| ---------------- | ------- | ------ | ------------------- | ----------- | -------------------------------------------------------- |
+| endpoint_addr | 废弃 | 是 | | | ClickHouse 的 `endpoints`。请使用 `endpoint_addrs` 代替。 |
+| endpoint_addrs | array | 是 | | | ClickHouse 的 `endpoints。`。 |
+| database | string | 是 | | | 使用的数据库。 |
+| logtable | string | 是 | | | 写入的表名。 |
+| user | string | 是 | | | ClickHouse 的用户。 |
+| password | string | 是 | | | ClickHouse 的密码 。 |
+| timeout | integer | 否 | 3 | [1,...] | 发送请求后保持连接活动的时间。 |
+| name | string | 否 | "clickhouse logger" | | 标识 logger 的唯一标识符。 |
+| ssl_verify | boolean | 否 | true | [true,false] | 当设置为 `true` 时,验证证书。 |
-本插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认设置情况下批处理器会每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解或自定义批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置) 配置部分。
+该插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认情况下批处理器每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置)。
-## 如何开启
+## 配置插件元数据
-如果配置多个 endpoints 将随机写入。
-这是有关如何为特定路由启用 `clickhouse-logger` 插件的示例。
-
-```shell
-curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
-{
- "plugins": {
- "clickhouse-logger": {
- "user": "default",
- "password": "a",
- "database": "default",
- "logtable": "test",
- "endpoint_addrs": ["http://127.0.0.1:8123"]
- }
- },
- "upstream": {
- "type": "roundrobin",
- "nodes": {
- "127.0.0.1:1980": 1
- }
- },
- "uri": "/hello"
-}'
-```
-
-## 测试插件
-
-> 成功:
-
-```shell
-$ curl -i http://127.0.0.1:9080/hello
-HTTP/1.1 200 OK
-...
-hello, world
-```
-
-## 插件元数据设置
+`clickhouse-logger` 也支持自定义日志格式,与 [http-logger](./http-logger.md) 插件类似。
| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
| ---------------- | ------- | ------ | ------------- | ------- | ------------------------------------------------ |
-| log_format | object | 可选 | {"host": "$host", "@timestamp": "$time_iso8601", "client_ip": "$remote_addr"} | | 以 JSON 格式的键值对来声明日志格式。对于值部分,仅支持字符串。如果是以 `$` 开头,则表明是要获取 [APISIX 变量](../../../en/latest/apisix-variable.md)或 [Nginx 内置变量](http://nginx.org/en/docs/varindex.html)。请注意,**该设置是全局生效的**,因此在指定 log_format 后,将对所有绑定 clickhouse-logger 的 Route 或 Service 生效。 |
-
-### 设置日志格式示例
+| log_format | object | 否 | {"host": "$host", "@timestamp": "$time_iso8601", "client_ip": "$remote_addr"} | | 以 JSON 格式的键值对来声明日志格式。对于值部分,仅支持字符串。如果是以 `$` 开头,则表明是要获取 [APISIX](../apisix-variable.md) 或 [NGINX](http://nginx.org/en/docs/varindex.html) 变量。该配置全局生效。如果你指定了 `log_format`,该配置就会对所有绑定 `clickhouse-logger` 的路由或服务生效。|
```shell
-curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/clickhouse-logger -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/clickhouse-logger \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"log_format": {
"host": "$host",
@@ -98,7 +67,7 @@ curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/clickhouse-logger -H 'X-
}'
```
-创建 clickhouse log table
+首先,你需要在 ClickHouse 数据库中创建一个表来存储日志:
```sql
CREATE TABLE default.test (
@@ -111,7 +80,7 @@ CREATE TABLE default.test (
) ENGINE = MergeTree()
```
-在 clickhouse 上执行`select * from default.test;`,将得到类似下面的数据:
+在 ClickHouse 中执行`select * from default.test;`,将得到类似下面的数据:
```
┌─host──────┬─client_ip─┬─route_id─┬─@timestamp────────────────┐
@@ -119,12 +88,54 @@ CREATE TABLE default.test (
└───────────┴───────────┴──────────┴───────────────────────────┘
```
+## 启用插件
+
+你可以通过以下命令在指定路由中启用该插件:
+
+```shell
+curl http://127.0.0.1:9080/apisix/admin/routes/1 \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+{
+ "plugins": {
+ "clickhouse-logger": {
+ "user": "default",
+ "password": "a",
+ "database": "default",
+ "logtable": "test",
+ "endpoint_addrs": ["http://127.0.0.1:8123"]
+ }
+ },
+ "upstream": {
+ "type": "roundrobin",
+ "nodes": {
+ "127.0.0.1:1980": 1
+ }
+ },
+ "uri": "/hello"
+}'
+```
+
+:::note 注意
+
+如果配置多个 `endpoints`,日志将会随机写入到各个 `endpoints`。
+
+:::
+
+## 测试插件
+
+现在你可以向 APISIX 发起请求:
+
+```shell
+curl -i http://127.0.0.1:9080/hello
+```
+
## 禁用插件
-在插件配置中删除相应的 json 配置以禁用 clickhouse-logger。APISIX 插件是热重载的,因此无需重新启动 APISIX:
+当你需要禁用该插件时,可通过以下命令删除相应的 JSON 配置,APISIX 将会自动重新加载相关配置,无需重启服务:
```shell
-$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/routes/1 \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"methods": ["GET"],
"uri": "/hello",
diff --git a/docs/zh/latest/plugins/error-log-logger.md b/docs/zh/latest/plugins/error-log-logger.md
index 320a3d20c..371d1e7a2 100644
--- a/docs/zh/latest/plugins/error-log-logger.md
+++ b/docs/zh/latest/plugins/error-log-logger.md
@@ -1,5 +1,11 @@
---
title: error-log-logger
+keywords:
+ - APISIX
+ - API 网关
+ - 错误日志
+ - Plugin
+description: API 网关 Apache APISIX error-log-logger 插件用于将 APISIX 的错误日志推送到 TCP、Apache SkyWalking 或 ClickHouse 服务器。
---
<!--
@@ -23,74 +29,58 @@ title: error-log-logger
## 描述
-`error-log-logger` 是用于按用户设定的 log 级别对 APISIX 的 `error.log` 进行筛选,继而将筛选的数据发送到 TCP 服务或者 [Apache SkyWalking](https://skywalking.apache.org/) 的插件。
-
-以实现将 error.log 中的数据进行筛选并发送到监控工具或其它 TCP 服务,和通过 HTTP 发送到 SkyWalking 的能力。
-
-该插件提供了将日志数据作为批处理推送到外部 TCP 服务器的功能。如果您没有收到日志数据,不用担心,它会在我们的批处理处理器中的计时器功能到期后自动发送日志。
-
-有关 Apache APISIX 中 Batch-Processor 的更多信息,请参考。
-[Batch-Processor](../batch-processor.md)
+`error-log-logger` 插件用于将 APISIX 的错误日志 (`error.log`) 推送到 TCP、Apache SkyWalking 或 ClickHouse 服务器,你还可以设置错误日志级别以将日志发送到服务器。
## 属性
-| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
-| -------------------------------- | ------- | ----- | ------------------------------ | ---------------- | -------------------------------------------------------------------------|
-| tcp.host | string | 必须 | | | TCP 服务的 IP 地址或主机名 |
-| tcp.port | integer | 必须 | | [0,...] | 目标端口 |
-| tcp.tls | boolean | 可选 | false | | 用于控制是否执行 SSL 验证 |
-| tcp.tls_server_name | string | 可选 | | | TLS 服务名称标记 |
-| skywalking.endpoint_addr | string | 可选 | http://127.0.0.1:12900/v3/logs | | Skywalking 的 HTTP endpoint 地址,例如:http://127.0.0.1:12800 |
-| skywalking.service_name | string | 可选 | APISIX | | skywalking 上报的 service 名称 |
-| skywalking.service_instance_name | String | 可选 | APISIX Instance Name | | skywalking 上报的 service 实例名,如果期望直接获取本机主机名则设置为 `$hostname` |
-| clickhouse.endpoint_addr | String | 可选 | http://127.0.0.1:8213 | | clickhouse 的 HTTP endpoint 地址,例如 http://127.0.0.1:8213 |
-| clickhouse.user | String | 可选 | default | | clickhouse 的用户名 |
-| clickhouse.password | String | 可选 | | | clickhouse 的密码 |
-| clickhouse.database | String | 可选 | | | clickhouse 的用于接收 log 的数据库 |
-| clickhouse.logtable | String | 可选 | | | clickhouse 的用于接收 log 的表 |
-| timeout | integer | 可选 | 3 | [1,...] | 连接和发送数据超时间(以秒为单位)|
-| keepalive | integer | 可选 | 30 | [1,...] | 复用连接时,连接保持的时间(以秒为单位)|
-| level | string | 可选 | WARN | | 进行错误日志筛选的级别,缺省 WARN,取值 ["STDERR", "EMERG", "ALERT", "CRIT", "ERR", "ERROR", "WARN", "NOTICE", "INFO", "DEBUG"],其中 ERR 与 ERROR 级别一致 |
+| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
+| -------------------------------- | ------- | ------ | ------------------------------ | ------------- | -------------------------------------------------------------------------------- |
+| tcp.host | string | 是 | | | TCP 服务的 IP 地址或主机名。 |
+| tcp.port | integer | 是 | | [0,...] | 目标端口。 |
+| tcp.tls | boolean | 否 | false | [false, true] | 当设置为 `true` 时执行 SSL 验证。 |
+| tcp.tls_server_name | string | 否 | | | TLS 服务名称标记。 |
+| skywalking.endpoint_addr | string | 否 | http://127.0.0.1:12900/v3/logs | | SkyWalking 的 HTTP endpoint 地址,例如:http://127.0.0.1:12800。 |
+| skywalking.service_name | string | 否 | APISIX | | SkyWalking 上报的 service 名称。 |
+| skywalking.service_instance_name | String | 否 | APISIX Instance Name | | SkyWalking 上报的 service 实例名,如果希望直接获取本机主机名请设置为 `$hostname`。 |
+| clickhouse.endpoint_addr | String | 否 | http://127.0.0.1:8213 | | ClickHouse 的 HTTP endpoint 地址,例如 `http://127.0.0.1:8213`。 |
+| clickhouse.user | String | 否 | default | | ClickHouse 的用户名。 |
+| clickhouse.password | String | 否 | | | ClickHouse 的密码。 |
+| clickhouse.database | String | 否 | | | ClickHouse 的用于接收日志的数据库。 |
+| clickhouse.logtable | String | 否 | | | ClickHouse 的用于接收日志的表。 |
+| timeout | integer | 否 | 3 | [1,...] | 连接和发送数据超时间,以秒为单位。 |
+| keepalive | integer | 否 | 30 | [1,...] | 复用连接时,连接保持的时间,以秒为单位。 |
+| level | string | 否 | WARN | | 进行错误日志筛选的级别,默认为 `WARN`,取值 ["STDERR", "EMERG", "ALERT", "CRIT", "ERR", "ERROR", "WARN", "NOTICE", "INFO", "DEBUG"],其中 `ERR` 与 `ERROR` 级别一致。 |
本插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认设置情况下批处理器会每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解或自定义批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置) 配置部分。
-## 如何开启和禁用
-
-本插件属于 APISIX 全局性插件。
+## 启用插件
-### 开启插件
+该插件默认为禁用状态,你可以在 `./conf/config.yaml` 中启用 `error-log-logger` 插件。你可以参考如下示例启用插件:
-在 `conf/config.yaml` 中启用插件 `error-log-logger` 即可,不需要在任何 route 或 service 中绑定。
-下面是一个在 `conf/config.yaml` 中添加插件信息的例子:
-
-```yaml
+```yaml title=“./conf/config.yaml”
plugins: # plugin list
- ... ...
+ ......
- request-id
- hmac-auth
- api-breaker
- error-log-logger # enable plugin `error-log-logger
```
-### 禁用插件
+完成插件配置后,你需要重新加载 APISIX,插件才会生效。
-在 `conf/config.yaml` 中删除或注释掉插件 `error-log-logger` 即可。
+:::note 注意
-```yaml
-plugins: # plugin list
- ... ...
- - request-id
- - hmac-auth
- - api-breaker
- #- error-log-logger # enable plugin `error-log-logger
-```
+该插件属于 APISIX 全局性插件,不需要在任何路由或服务中绑定。
+
+:::
-## 如何设置接收日志的 TCP 服务器
+### 配置 TCP 服务器地址
-步骤:更新插件属性
+你可以通过配置插件元数据来设置 TCP 服务器地址,如下所示:
```shell
-curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"tcp": {
"host": "127.0.0.1",
@@ -100,12 +90,13 @@ curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger -H 'X-A
}'
```
-## 如何设置接收日志的 SkyWalking OAP 服务器
+### 配置 SkyWalking OAP 服务器地址
-步骤:更新插件属性
+通过以下配置插件元数据设置 SkyWalking OAP 服务器地址,如下所示:
```shell
-curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"skywalking": {
"endpoint_addr": "http://127.0.0.1:12800/v3/logs"
@@ -114,16 +105,15 @@ curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger -H 'X-A
}'
```
-## 如何设置接收日志的 clickhouse 数据库
+### 配置 ClickHouse 数据库
-插件将 error log 作为一个字符串发送到 clickhouse 表的 `data` 字段。
+该插件支持将错误日志作为字符串发送到 ClickHouse 服务器中对应表的 `data` 字段。
-*TODO 将 error log 作为一个字符串保存到 clickhouse 数据库的 data 字段,未来我们将会增加更多的字段。*
-
-步骤:更新插件属性
+你可以按照如下方式进行配置:
```shell
-curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"clickhouse": {
"user": "default",
@@ -134,3 +124,16 @@ curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/error-log-logger -H 'X-A
}
}'
```
+
+## 禁用插件
+
+当你不再需要该插件时,只需要在 `./conf/config.yaml` 中删除或注释该插件即可。
+
+```yaml
+plugins: # plugin list
+ ... ...
+ - request-id
+ - hmac-auth
+ - api-breaker
+ #- error-log-logger # enable plugin `error-log-logger
+```
diff --git a/docs/zh/latest/plugins/log-rotate.md b/docs/zh/latest/plugins/log-rotate.md
index 71d57fb5d..58b675946 100644
--- a/docs/zh/latest/plugins/log-rotate.md
+++ b/docs/zh/latest/plugins/log-rotate.md
@@ -1,5 +1,11 @@
---
title: log-rotate
+keywords:
+ - APISIX
+ - API 网关
+ - Plugin
+ - 日志切分
+description: 云原生 API 网关 Apache APISIX log-rotate 插件用于定期切分日志目录下的访问日志和错误日志。
---
<!--
@@ -23,34 +29,26 @@ title: log-rotate
## 描述
-本插件可自动完成 logs 目录下的 access 和 error 日志的定期切分。
-通过配置参数可以设置每间隔多久切分一次日志,以及最近保留多少份日志(超过指定数量后,自动删除老文件)。
+`log-rotate` 插件用于定期切分日志目录下的访问日志和错误日志。
+
+你可以自定义日志轮换的频率以及要保留的日志数量。当日志数量超过限制时,旧的日志会被自动删除。
## 参数
-| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
-| -------- | ------- | ------ | ------- | ------ | ------------------------------------------------------ |
-| interval | integer | 必须 | 60 * 60 | | 每间隔多长时间切分一次日志,秒为单位 |
-| max_kept | integer | 必须 | 24 * 7 | | 最多保留多少份历史日志,超过指定数量后,自动删除老文件 |
-| enable_compression | boolean | 可选 | false | | 是否启用日志文件压缩(gzip)。该功能需要安装 `tar` 。 |
+| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
+| ------------------ | ------- | ------ | ------- | ------------- | ---------------------------------------------------------------------------- |
+| interval | integer | 是 | 60 * 60 | | 每间隔多长时间切分一次日志,以秒为单位。 |
+| max_kept | integer | 是 | 24 * 7 | | 最多保留多少份历史日志,超过指定数量后,自动删除老文件。 |
+| enable_compression | boolean | 否 | false | [false, true] | 当设置为 `true` 时,启用日志文件压缩。该功能需要在系统中安装 `tar` 。 |
-开启该插件后,就会按照参数自动切分日志文件了。比如下面的例子是根据 `interval: 10` 和 `max_kept: 10` 得到的样本。
+开启该插件后,就会按照参数自动切分日志文件了。比如以下示例是根据 `interval: 10` 和 `max_kept: 10` 得到的样本。
```shell
-$ ll logs
+ll logs
+```
+
+```
total 44K
--rw-r--r--. 1 resty resty 0 Mar 20 20:32 2020-03-20_20-32-40_access.log
--rw-r--r--. 1 resty resty 2.4K Mar 20 20:32 2020-03-20_20-32-40_error.log
--rw-r--r--. 1 resty resty 0 Mar 20 20:32 2020-03-20_20-32-50_access.log
--rw-r--r--. 1 resty resty 2.8K Mar 20 20:32 2020-03-20_20-32-50_error.log
--rw-r--r--. 1 resty resty 0 Mar 20 20:32 2020-03-20_20-33-00_access.log
--rw-r--r--. 1 resty resty 2.4K Mar 20 20:33 2020-03-20_20-33-00_error.log
--rw-r--r--. 1 resty resty 0 Mar 20 20:33 2020-03-20_20-33-10_access.log
--rw-r--r--. 1 resty resty 2.4K Mar 20 20:33 2020-03-20_20-33-10_error.log
--rw-r--r--. 1 resty resty 0 Mar 20 20:33 2020-03-20_20-33-20_access.log
--rw-r--r--. 1 resty resty 2.4K Mar 20 20:33 2020-03-20_20-33-20_error.log
--rw-r--r--. 1 resty resty 0 Mar 20 20:33 2020-03-20_20-33-30_access.log
--rw-r--r--. 1 resty resty 2.4K Mar 20 20:33 2020-03-20_20-33-30_error.log
-rw-r--r--. 1 resty resty 0 Mar 20 20:33 2020-03-20_20-33-40_access.log
-rw-r--r--. 1 resty resty 2.8K Mar 20 20:33 2020-03-20_20-33-40_error.log
-rw-r--r--. 1 resty resty 0 Mar 20 20:33 2020-03-20_20-33-50_access.log
@@ -63,10 +61,13 @@ total 44K
-rw-r--r--. 1 resty resty 1.5K Mar 20 21:31 error.log
```
-当开启日志文件压缩时,日志文件将如下所示。
+当开启日志文件压缩时,日志文件名称如下所示:
+
+```shell
+ll logs
+```
```shell
-$ ll logs
total 10.5K
-rw-r--r--. 1 resty resty 1.5K Mar 20 20:33 2020-03-20_20-33-50_access.log.tar.gz
-rw-r--r--. 1 resty resty 1.5K Mar 20 20:33 2020-03-20_20-33-50_error.log.tar.gz
@@ -78,13 +79,11 @@ total 10.5K
-rw-r--r--. 1 resty resty 1.5K Mar 20 21:31 error.log
```
-### 示例
+## 启用插件
-#### 开启插件
+**该插件默认为禁用状态**,你可以在 `./conf/config.yaml` 中启用 `log-rotate` 插件,不需要在任何路由或服务中绑定。
-在 `conf/config.yaml` 中启用插件 `log-rotate` 即可,不需要在任何 route 或 service 中绑定。
-
-```yaml
+```yaml title=“./conf/config.yaml”
plugins:
# the plugins you enabled
- log-rotate
@@ -96,6 +95,17 @@ plugin_attr:
enable_compression: false # enable log file compression(gzip) or not, default false
```
-#### 禁用插件
+配置完成,你需要重新加载 APISIX。
-在 `conf/config.yaml` 中删除插件 `log-rotate` 即可。
+## 禁用插件
+
+当你不再需要该插件时,只需要在 `./conf/config.yaml` 中删除或注释该插件即可。
+
+```yaml
+plugins:
+ # the plugins you enabled
+ # - log-rotate
+
+plugin_attr:
+
+```
diff --git a/docs/zh/latest/plugins/syslog.md b/docs/zh/latest/plugins/syslog.md
index a82dc4f37..5c478cafc 100644
--- a/docs/zh/latest/plugins/syslog.md
+++ b/docs/zh/latest/plugins/syslog.md
@@ -1,5 +1,11 @@
---
title: syslog
+keywords:
+ - APISIX
+ - API 网关
+ - Plugin
+ - syslog
+description: API 网关 Apache APISIX syslog 插件可用于将日志推送到 Syslog 服务器。
---
<!--
@@ -23,33 +29,36 @@ title: syslog
## 描述
-`sys` 是一个将 Log data 请求推送到 Syslog 的插件。
+`syslog` 插件可用于将日志推送到 Syslog 服务器。
-这将提供将 Log 数据请求作为 JSON 对象发送的功能。
+该插件还实现了将日志数据以 JSON 格式发送到 Syslog 服务的能力。
## 属性
-| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
+| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
| ---------------- | ------- | ------ | ------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
-| host | string | 必须 | | | IP 地址或主机名 |
-| port | integer | 必须 | | | 目标上游端口 |
-| name | string | 可选 | "sys logger" | | |
-| timeout | integer | 可选 | 3000 | [1, ...] | 上游发送数据超时(以毫秒为单位)。 |
-| tls | boolean | 可选 | false | | 用于控制是否执行 SSL 验证 |
-| flush_limit | integer | 可选 | 4096 | [1, ...] | 如果缓冲的消息的大小加上当前消息的大小达到(> =)此限制(以字节为单位),则缓冲的日志消息将被写入日志服务器。默认为 4096(4KB)|
-| drop_limit | integer | 可选 | 1048576 | | 如果缓冲的消息的大小加上当前消息的大小大于此限制(以字节为单位),则由于缓冲区大小有限,当前的日志消息将被丢弃。默认为 1048576(1MB)|
-| sock_type | string | 可选 | "tcp" | ["tcp","udp"] | 用于传输层的 IP 协议类型。 |
-| pool_size | integer | 可选 | 5 | [5, ...] | sock:keepalive 使用的 Keepalive 池大小。 |
-| include_req_body | boolean | 可选 | false | | 是否包括请求 body |
+| host | string | 是 | | | IP 地址或主机名。 |
+| port | integer | 是 | | | 目标上游端口。 |
+| name | string | 否 | "sys logger" | | syslog 服务器的标识符。 |
+| timeout | integer | 否 | 3000 | [1, ...] | 上游发送数据超时(以毫秒为单位)。 |
+| tls | boolean | 否 | false | | 当设置为 `true` 时执行 SSL 验证。 |
+| flush_limit | integer | 否 | 4096 | [1, ...] | 如果缓冲的消息的大小加上当前消息的大小达到(> =)此限制(以字节为单位),则缓冲的日志消息将被写入日志服务器,默认为 4096(4KB)。 |
+| drop_limit | integer | 否 | 1048576 | | 如果缓冲的消息的大小加上当前消息的大小大于此限制(以字节为单位),则由于缓冲区大小有限,当前的日志消息将被丢弃,默认为 1048576(1MB)。 |
+| sock_type | string | 否 | "tcp" | ["tcp","udp"] | 用于传输层的 IP 协议类型。 |
+| max_retry_count | integer | 否 | | [1, ...] | 连接到日志服务器失败或将日志消息发送到日志服务器失败后的最大重试次数。 |
+| retry_delay | integer | 否 | | [0, ...] | 重试连接到日志服务器或重试向日志服务器发送日志消息之前的时间延迟(以毫秒为单位)。 |
+| pool_size | integer | 否 | 5 | [5, ...] | `sock:keepalive` 使用的 Keepalive 池大小。 |
+| include_req_body | boolean | 否 | false | | 当设置为 `true` 时包括请求体。 |
-本插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认设置情况下批处理器会每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解或自定义批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置) 配置部分。
+该插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认情况下批处理器每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置)。
-## 如何开启
+## 启用插件
-1. 下面例子展示了如何为指定路由开启 `sys-logger` 插件的。
+你可以通过以下命令在指定路由中启用该插件:
```shell
-curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/routes/1 \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"plugins": {
"syslog": {
@@ -70,10 +79,13 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f13
## 测试插件
-* 成功的情况:
+现在你可以向 APISIX 发起请求:
```shell
-$ curl -i http://127.0.0.1:9080/hello
+curl -i http://127.0.0.1:9080/hello
+```
+
+```
HTTP/1.1 200 OK
...
hello, world
@@ -81,10 +93,11 @@ hello, world
## 禁用插件
-想要禁用“sys-logger”插件,是非常简单的,将对应的插件配置从 json 配置删除,就会立即生效,不需要重新启动服务:
+当你需要禁用该插件时,可通过以下命令删除相应的 JSON 配置,APISIX 将会自动重新加载相关配置,无需重启服务:
```shell
-$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/routes/1 \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"methods": ["GET"],
"uri": "/hello",
diff --git a/docs/zh/latest/plugins/tcp-logger.md b/docs/zh/latest/plugins/tcp-logger.md
index e5f5e044f..c48d2e9d6 100644
--- a/docs/zh/latest/plugins/tcp-logger.md
+++ b/docs/zh/latest/plugins/tcp-logger.md
@@ -2,12 +2,12 @@
title: tcp-logger
keywords:
- APISIX
+ - API 网关
- Plugin
- TCP Logger
-description: 本文介绍了 API 网关 Apache APISIX 如何启用 tcp-logger 插件,并将日志数据发送到 TCP 服务器的步骤。
+description: 本文介绍了 API 网关 Apache APISIX 如何使用 tcp-logger 插件将日志数据发送到 TCP 服务器。
---
-
<!--
#
# Licensed to the Apache Software Foundation (ASF) under one or more
@@ -42,7 +42,7 @@ description: 本文介绍了 API 网关 Apache APISIX 如何启用 tcp-logger
| timeout | integer | 否 | 1000 | [1,...] | 发送数据超时间。 |
| tls | boolean | 否 | false | | 用于控制是否执行 SSL 验证。 |
| tls_options | string | 否 | | | TLS 选项。 |
-| include_req_body | boolean | 否 | | | 当设置为 `true` 时,将请求体包含在日志中。 |
+| include_req_body | boolean | 否 | | | 当设置为 `true` 时,日志中将包含请求体。 |
该插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认情况下批处理器每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置)。
diff --git a/docs/zh/latest/plugins/udp-logger.md b/docs/zh/latest/plugins/udp-logger.md
index db91ae1a1..e254a0a2e 100644
--- a/docs/zh/latest/plugins/udp-logger.md
+++ b/docs/zh/latest/plugins/udp-logger.md
@@ -1,5 +1,11 @@
---
title: udp-logger
+keywords:
+ - APISIX
+ - API 网关
+ - Plugin
+ - UDP Logger
+description: 本文介绍了 API 网关 Apache APISIX 如何使用 udp-logger 插件将日志数据发送到 UDP 服务器。
---
<!--
@@ -23,33 +29,29 @@ title: udp-logger
## 描述
-`udp-logger` 是用于将日志数据发送到 UDP 服务的插件。
+`udp-logger` 插件可用于将日志数据发送到 UDP 服务器。
-以实现将日志数据以 JSON 格式发送到监控工具或其它 UDP 服务的能力。
-
-此插件提供了将批处理数据批量推送到外部 UDP 服务器的功能。如果您没有收到日志数据,请等待一些时间,它会在我们的批处理处理器中的计时器功能到期后自动发送日志
-
-有关 Apache APISIX 中 Batch-Processor 的更多信息,请参考:
-[Batch-Processor](../batch-processor.md)
+该插件还实现了将日志数据以 JSON 格式发送到监控工具或其它 UDP 服务的能力。
## 属性
-| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
+| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
| ---------------- | ------- | ------ | ------------ | ------- | ------------------------------------------------ |
-| host | string | 必须 | | | UDP 服务的 IP 地址或主机名 |
-| port | integer | 必须 | | [0,...] | 目标端口 |
-| timeout | integer | 可选 | 1000 | [1,...] | 发送数据超时间 |
-| name | string | 可选 | "udp logger" | | 用于识别批处理器 |
-| include_req_body | boolean | 可选 | | | 是否包括请求 body |
+| host | string | 是 | | | UDP 服务的 IP 地址或主机名。 |
+| port | integer | 是 | | [0,...] | 目标端口。 |
+| timeout | integer | 否 | 1000 | [1,...] | 发送数据超时间。 |
+| name | string | 否 | "udp logger" | | 用于识别批处理器。 |
+| include_req_body | boolean | 否 | | | 当设置为 `true` 时,日志中将包含请求体。 |
-本插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认设置情况下批处理器会每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解或自定义批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置) 配置部分。
+该插件支持使用批处理器来聚合并批量处理条目(日志和数据)。这样可以避免插件频繁地提交数据,默认情况下批处理器每 `5` 秒钟或队列中的数据达到 `1000` 条时提交数据,如需了解批处理器相关参数设置,请参考 [Batch-Processor](../batch-processor.md#配置)。
## 如何开启
-1. 下面例子展示了如何为指定路由开启 `udp-logger` 插件的。
+你可以通过如下命令在指定路由上启用 `udp-logger` 插件:
```shell
-curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/routes/5 \
+-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"plugins": {
"udp-logger": {
@@ -71,10 +73,13 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
## 测试插件
-* 成功的情况:
+现在你可以向 APISIX 发起请求:
```shell
-$ curl -i http://127.0.0.1:9080/hello
+curl -i http://127.0.0.1:9080/hello
+```
+
+```
HTTP/1.1 200 OK
...
hello, world
@@ -82,10 +87,10 @@ hello, world
## 禁用插件
-想要禁用“udp-logger”插件,是非常简单的,将对应的插件配置从 json 配置删除,就会立即生效,不需要重新启动服务:
+当你需要禁用该插件时,可通过以下命令删除相应的 JSON 配置,APISIX 将会自动重新加载相关配置,无需重启服务:
```shell
-$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
+curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"methods": ["GET"],
"uri": "/hello",