error-log-logger
注意:schema 中还定义了 encrypt_fields = {"clickhouse.password"}
,这意味着该字段将会被加密存储在 etcd 中。具体参考 。
本插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认设置情况下批处理器会每 5
秒钟或队列中的数据达到 条时提交数据,如需了解或自定义批处理器相关参数设置,请参考 Batch-Processor 配置部分。
该插件默认为禁用状态,你可以在 ./conf/config.yaml
中启用 error-log-logger
插件。你可以参考如下示例启用插件:
完成插件配置后,你需要重新加载 APISIX,插件才会生效。
注意
该插件属于 APISIX 全局性插件,不需要在任何路由或服务中绑定。
你可以通过配置插件元数据来设置 TCP 服务器地址,如下所示:
curl http://127.0.0.1:9180/apisix/admin/plugin_metadata/error-log-logger \
-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
"tcp": {
"host": "127.0.0.1",
"port": 1999
},
"inactive_timeout": 1
}'
该插件支持将错误日志作为字符串发送到 ClickHouse 服务器中对应表的 data
字段。
你可以按照如下方式进行配置:
curl http://127.0.0.1:9180/apisix/admin/plugin_metadata/error-log-logger \
-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
"clickhouse": {
"user": "default",
"database": "error_log",
"logtable": "t",
"endpoint_addr": "http://127.0.0.1:8123"
}
}'
该插件支持将错误日志发送到 Kafka,你可以按照如下方式进行配置:
plugins: # plugin list
... ...
- request-id
- hmac-auth
- api-breaker