术语
- plugin:在请求被代理到上游API之前或之后,在Kong内部执行操作的插件。
- Service:表示外部上游 API或微服务的Kong实体。
- Route:Kong实体,表示将下游请求映射到上游服务的方法。
- Consumer:表示使用API的开发人员或计算机的Kong实体。当使用Kong时,消费者仅与Kong通信,其代理对所述上游API的每次调用。
- Credential:与Consumer关联的唯一字符串,也称为API密钥。
- upstream service:这是指位于Kong后面的您自己的API /服务,转发客户端请求。
永久链接
组态
此插件与具有以下协议的请求兼容:
- http
- https
此插件与无DB模式兼容。
永久链接
在服务上启用插件
有了数据库
通过发出以下请求在服务上配置此插件:
$ curl -X POST http://kong:8001/services/{service}/plugins --data "name=file-log" --data "config.path=/tmp/file.log"
没有数据库
通过添加此部分在服务上配置此插件执行声明性配置文件:
plugins:- name: file-log service: {service} config: path: /tmp/file.log
在这两种情况下,{service}是id或name,此插件的配置将针对服务的。
永久链接
在路由上启用插件
有了数据库
在Route上配置此插件:
$ curl -X POST http://kong:8001/routes/{route}/plugins --data "name=file-log" --data "config.path=/tmp/file.log"
没有数据库
通过添加此部分在路由上配置此插件执行声明性配置文件:
plugins:- name: file-log route: {route} config: path: /tmp/file.log
在这两种情况下,{route}是id或name路径的,此插件的配置将目标。
永久链接
在Consumer上启用插件
有了数据库
您可以使用http://localhost:8001/plugins端点在特定的使用者上启用此插件:
$ curl -X POST http://kong:8001/consumers/{consumer}/plugins --data "name=file-log" --data "config.path=/tmp/file.log"
没有数据库
通过添加此部分在Consumer上配置此插件执行声明性配置文件:
plugins:- name: file-log consumer: {consumer} config: path: /tmp/file.log
在这两种情况下,{consumer}是id和username这个插件的配置将针对消费者的。
您可以结合consumer_id和 service_id
在同一个请求中,进一步缩小插件的范围。
永久链接
全球插件
- 使用数据库,可以使用http://kong:8001/plugins/端点配置所有插件。
- 没有数据库,可以通过plugins:声明性配置文件中的条目配置所有插件。
与任何服务,路由或消费者(或API,如果您使用旧版本的Kong)无关的插件被视为“全局”,并将在每个请求上运行。有关更多信息,请阅读插件参考和 插件优先级部分。
永久链接
参数
以下是可在此插件配置中使用的所有参数的列表:
表格参数描述name在这种情况下,要使用的插件的名称 file-logservice_id此插件将定位的服务的ID。route_id此插件将定位的路由的ID。enabled
默认值: true是否将应用此插件。consumer_id此插件将定位的Consumer的id。config.path输出日志文件的文件路径。如果该文件尚不存在,该插件将创建该文件。确保Kong对此文件具有写入权限。
config.reopen
可选的
默认值:
false
介绍在香港0.10.2。确定是否关闭日志文件并在每个请求时重新打开。如果文件未重新打开,并且已被删除/旋转,则插件将继续写入过时的文件描述符,从而丢失信息。
永久链接
日志格式
每个请求将分别记录在由新行分隔的JSON对象中,格式如下:
{ "request": { "method": "GET