apisix/docs/zh/latest/plugins/syslog.md

5.7 KiB
Raw Blame History

title
syslog

摘要

定义

sys 是一个将Log data请求推送到Syslog的插件。

这将提供将Log数据请求作为JSON对象发送的功能。

属性列表

名称 类型 必选项 默认值 有效值 描述
host string 必须 IP地址或主机名
port integer 必须 目标上游端口
name string 可选 "sys logger"
timeout integer 可选 3 [1, ...] 上游发送数据超时
tls boolean 可选 false 用于控制是否执行SSL验证
flush_limit integer 可选 4096 [1, ...] 如果缓冲的消息的大小加上当前消息的大小达到(> =此限制以字节为单位则缓冲的日志消息将被写入日志服务器。默认为40964KB
drop_limit integer 可选 1048576 如果缓冲的消息的大小加上当前消息的大小大于此限制以字节为单位则由于缓冲区大小有限当前的日志消息将被丢弃。默认为10485761MB
sock_type string 可选 "tcp" ["tcp","udp"] 用于传输层的IP协议类型。
max_retry_times integer 可选 1 [1, ...] 连接到日志服务器失败或将日志消息发送到日志服务器失败后的最大重试次数。
retry_interval integer 可选 1 [0, ...] 重试连接到日志服务器或重试向日志服务器发送日志消息之前的时间延迟(以毫秒为单位)。
pool_size integer 可选 5 [5, ...] sockkeepalive使用的Keepalive池大小。
batch_max_size integer 可选 1000 [1, ...] 每批的最大大小
buffer_duration integer 可选 60 [1, ...] 必须先处理批次中最旧条目的最大期限(以秒为单位)
include_req_body boolean 可选 false 是否包括请求 body

如何开启

  1. 下面例子展示了如何为指定路由开启 sys-logger 插件的。
curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "plugins": {
        "syslog": {
            "host" : "127.0.0.1",
            "port" : 5044,
            "flush_limit" : 1
        }
    },
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "127.0.0.1:1980": 1
        }
    },
    "uri": "/hello"
}'

测试插件

  • 成功的情况:
$ curl -i http://127.0.0.1:9080/hello
HTTP/1.1 200 OK
...
hello, world

禁用插件

想要禁用“sys-logger”插件是非常简单的将对应的插件配置从json配置删除就会立即生效不需要重新启动服务

$ curl http://127.0.0.1:9080/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "methods": ["GET"],
    "uri": "/hello",
    "plugins": {},
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "127.0.0.1:1980": 1
        }
    }
}'