clickhouse-logger

    属性

    本插件支持使用批处理器来聚合并批量处理条目(日志/数据)。这样可以避免插件频繁地提交数据,默认设置情况下批处理器会每 5 秒钟或队列中的数据达到 1000 条时提交数据,如需了解或自定义批处理器相关参数设置,请参考 Batch-Processor 配置部分。

    测试插件

    1. $ curl -i http://127.0.0.1:9080/hello
    2. HTTP/1.1 200 OK
    3. hello, world
    名称类型必选项默认值有效值描述
    log_formatobject可选{“host”: “$host”, “@timestamp”: “$time_iso8601”, “client_ip”: “$remote_addr”}以 JSON 格式的键值对来声明日志格式。对于值部分,仅支持字符串。如果是以 $ 开头,则表明是要获取 APISIX 变量或 。请注意,该设置是全局生效的,因此在指定 log_format 后,将对所有绑定 clickhouse-logger 的 Route 或 Service 生效。
    1. `host` String,
    2. `client_ip` String,
    3. `route_id` String,
    4. `service_id` String,
    5. `@timestamp` String,
    6. PRIMARY KEY(`@timestamp`)
    7. ) ENGINE = MergeTree()

    在 clickhouse 上执行select * from default.test;,将得到类似下面的数据:

    禁用插件

    1. "methods": ["GET"],
    2. "uri": "/hello",
    3. "plugins": {},
    4. "upstream": {
    5. "type": "roundrobin",
    6. "nodes": {
    7. "127.0.0.1:1980": 1
    8. }