APISIX 的 http-logger 插件支持将日志数据推送到 HTTP 或者 HTTPS 服务器,它的主要运行原理是当客户端发起请求时,APISIX 处理请求并生成访问日志,在请求结束后 http-logger 插件以异步的方式将请求的上下文信息按照指定的日志格式组合后,通过 POST 请求将日志数据作为 JSON 对象放到请求体中发送给我们配置的接收日志的...
http-logger: 将请求记录到 HTTP 服务器。 tcp-logger: 将请求记录到 TCP 服务器。 kafka-logger: 将请求记录到外部 Kafka 服务器。 udp-logger: 将请求记录到 UDP 服务器。 sys-log: 将请求记录到 syslog 服务。 log-rotate: 日志文件定期切分。
# - error-log-logger # - example-plugin -fault-injection -grpc-transcode -hmac-auth -http-logger -ip-restriction -jwt-auth -kafka-logger -key-auth -limit-conn -limit-count -limit-req # - log-rotate # - node-status -openid-connect -prometheus -proxy-cache...
2.15 版本中引入了插件配置级别的过滤器,由过滤器的执行结果控制插件执行与否。 下方配置中,只有变量$status大于或等于 400 时,才会执行http-logger插件。这么一来,只有 4xx 和 5xx 的请求才会被报告到远端的 HTTP 日志服务器上。 {"http-logger": {"_meta": {"filter": { {"status","!","<","400"}...
curl -i -X GET "http://127.0.0.1:9090/v1/plugin/example-plugin/hello" 查看更多有关 control API 介绍 注册自定义变量# 我们可以在 APISIX 的许多地方使用变量。例如,在 http-logger 中自定义日志格式,用它作为 limit-* 插件的键。在某些情况下,内置的变量是不够的。因此,APISIX 允许开发者在全局范围...
记录access log,然后定期上报,比如http-logger插件。 如果你感兴趣的话,可以看看这两个插件的log方法是怎么实现的: prometheus插件文档:https://apisix.apache.org/zh/docs/apisix/plugins/prometheus/ http-logger插件文档:https://apisix.apache.org/zh/docs/apisix/plugins/http-logger/ ...
#- dubbo-proxy-echo#- error-log-logger #- example-plugin- fault-injection- grpc-transcode- hmac-auth- http-logger- ip-restriction- jwt-auth- kafka-logger- key-auth- limit-conn- limit-count- limit-req #- log-rotate #- node-status- openid-connect-prometheus- proxy-cache- proxy-mirror- ...
curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "plugins": { "file-logger": { "path": "logs/file.log" } }, "upstream": { "type": "roundrobin",
curl http://127.0.0.1:9080/apisix/admin/routes/1 \ -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "plugins": { "http-logger": { "uri": "http://mockbin.org/bin/:ID" } }, "upstream": { "type": "roundrobin", "nodes": { "127.0.0.1:1980": 1 } ...
在我们的例子中,它是 http://etcd-headless.apisix.svc.cluster.local:2379。 在该配置中,我们在 apisix.admin_key部分的下方定义具有 admin名称的访问密钥。该密钥是我们的 API 密钥,以后将用于控制 APISIX。该密钥是 APISIX 的默认密钥,在生产环境中,应该修改它。 将其保存为 config.yaml,然后运行 kubectl -n...