apisix/doc/zh-cn/plugins/syslog.md

3.7 KiB
Raw Blame History

摘要

定义

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

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

属性列表

属性名称 必选项 描述
host 必要的 IP地址或主机名。
port 必要的 目标上游端口。
timeout 可选的 上游发送数据超时。
tls 可选的 布尔值用于控制是否执行SSL验证。
flush_limit 可选的 如果缓冲的消息的大小加上当前消息的大小达到(> =此限制以字节为单位则缓冲的日志消息将被写入日志服务器。默认为40964KB
drop_limit 可选的 如果缓冲的消息的大小加上当前消息的大小大于此限制以字节为单位则由于缓冲区大小有限当前的日志消息将被丢弃。默认drop_limit为10485761MB
sock_type 可选的 用于传输层的IP协议类型。可以是“ tcp”或“ udp”。默认值为“ tcp”。
max_retry_times 可选的 连接到日志服务器失败或将日志消息发送到日志服务器失败后的最大重试次数。
retry_interval 可选的 重试连接到日志服务器或重试向日志服务器发送日志消息之前的时间延迟以毫秒为单位默认为1000.1s)。
pool_size 可选的 sockkeepalive使用的Keepalive池大小。默认为10。

如何开启

  1. 下面例子展示了如何为指定路由开启 sys-logger 插件的。
curl http://127.0.0.1:9080/apisix/admin/consumers -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "username": "foo",
    "plugins": {
          "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:2379/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d value='
{
    "methods": ["GET"],
    "uri": "/hello",
    "plugins": {},
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "127.0.0.1:1980": 1
        }
    }
}'