Kong官网:The Platform Powering the API World | Kong Inc.
Kong Gateway:Kong Gateway | Kong Docs
Kong Admin API:Admin API - Kong Gateway - v3.4.x | Kong Docs
Kong 企业版社区:API Community for Developers and Industry Leaders | Kong Inc.
Kong 社区版源码:GitHub - Kong/kong: 🦍 The Cloud-Native API Gateway and AI Gateway.
kong开源软件日志级别调整
这边不说kong,就单说下kong日志
有些场景,我们可能需要对kong进行调试,kong的默认日志级别是notice的,如果我们要查看info和debug级别的日志,可能就需要自己进行处理了。
这个实际上在kong-nginx.conf中有个选项。
在Nginx中,error_log指令用于配置错误日志的输出。通过调整error_log的配置,你可以控制错误日志的记录级别、日志文件的位置以及日志文件的滚动方式。
下面是error_log指令的基本语法:
error_log file | stderr | off;
file
:指定一个日志文件的路径,用于记录错误日志。你可以使用绝对路径或相对路径来指定日志文件的存储位置。stderr
:将错误日志输出到标准错误输出(stderr)。这对于调试和开发阶段可能很有用,但在生产环境中不推荐使用。off
:关闭错误日志记录。
除了指定日志文件或标准错误输出之外,你还可以使用error_log指令的附加选项来进一步定制错误日志的行为。一些常用的选项包括:
debug
:记录调试信息。这对于故障排查和排查问题可能很有用,但可能会产生大量的日志数据。info
:记录一般信息。这是默认的日志级别,通常用于记录服务器的运行状态和操作。notice
:记录重要的运行状态信息。warn
:记录警告信息,表示可能出现的问题或潜在的风险。error
:记录错误信息,表示发生了问题或错误。crit
:记录严重错误信息,表示发生了严重的问题或故障。alert
:记录需要立即采取行动的错误信息。emerg
:记录紧急错误信息,表示系统不可用或面临严重风险。
你可以根据需要设置适当的日志级别来过滤和记录所需的错误信息。例如,要将错误日志记录到文件/var/log/nginx/error.log中,并将日志级别设置为警告(warn),你可以在Nginx配置中使用以下指令:
error_log /var/log/nginx/error.log warn;
注意:这里的设置也是作用于nginx的,如果要查看nginx的debug日志,可以参考下面的配置
nginx的debug级别日志
首先,要在kong里面把debug级别日志打开,如下:
error_log /var/log/nginx/error.log debug;
其次,在nginx中,打开NGX_DEBUG
编译宏。一般编译kong用的是kong-build-tools
系列的编译工具。
可以在编译的时候增加--debug
参数,如下:
kong-build-tools/openresty-build-tools/kong-ngx-build --prefix /usr1/mep/apigw/kong --debug --openresty 1.19.3.2 --openssl 1.1.1n --luarocks 3.8.0 --pcre 8.45
当然,这个参数可能会引入其他的事情,我们可以对构建工具改造下。
只保留这部分就行,其他的都给去掉。
这样在运行的时候,debug级别日志就能打出来了。对着nginx、openresty、openssl的代码,进行问题的定位和分析,会很方便。