kong 网关日志格式修改

kong 网关日志格式修改kong网关日志格式修改kong网关默认日志在/usr/local/kong/logs,主要有access.log,admin_access.log,error.log,access.log和nginx的access日志类似,这里会记录所所有通过kong网关的日志。有些时候这些日志并不能满足我们的需要,因此需要修改日志格式。当发现/usr/local/kong/下面有nginx-kon…

大家好,又见面了,我是你们的朋友全栈君。

kong 网关日志格式修改


kong网关默认日志在/usr/local/kong/logs,主要有access.log,admin_access.log,error.log,access.log和nginx的access日志类似,这里会记录所所有通过kong网关的日志。

有些时候这些日志并不能满足我们的需要,因此需要修改日志格式。
当发现/usr/local/kong/下面有nginx-kong.conf,nginx.conf,nginx-kong-stream.conf这些配置文件时,以为这就是日志的配置文件,结果不管怎么修改这些日志格式,重启后,配置文件都会还原。
最后查询原因才得知,这些文件时kong网关启动时通过模板渲染方式生成的,每次重启都会重新生成,而真正的配置文件却在另外一个地方。
这里要介绍下kong的安装方式:
本文的服务器环境为ubuntu,安装请参考:https://docs.konghq.com/install/ubuntu/

一、修改配置

修改路径:/usr/local/share/lua/5.1/kong/templates/nginx_kong.lua

upstream kong_upstream {
    server 0.0.0.1;
    balancer_by_lua_block {
        Kong.balancer()
    }

# injected nginx_http_upstream_* directives
> for _, el in ipairs(nginx_http_upstream_directives) do
    $(el.name) $(el.value);
> end
}
###添加log_format日志格式
log_format  main  'remote_addr=[$remote_addr] http_x_forward=[$http_x_forwarded_for] time=[$time_local] request=[$request] '
        'status=[$status] byte=[$bytes_sent] elapsed=[$request_time] upstream_connect_time=[$upstream_connect_time] upstream_header_time=[$upstream_header_time] upstream_response_time=[$upstream_response_time] ' 'refer=[$http_referer] ua=[$http_user_agent] gzip=[$gzip_ratio] ' 'msec=[$msec] http_host=[$http_host] http_accept=[$http_accept|$http_accept_encoding|$http_accept_language]';

###
server {
    server_name kong;
> for i = 1, #proxy_listeners do
    listen $(proxy_listeners[i].listener);

修改完上面的配置后,还需要在同一个配置文件中添加两处配置,见下面操作:

 #修改两处access.log文件配置
 ·····第一处配置·····
 server {
    server_name kong;
> for i = 1, #proxy_listeners do
    listen $(proxy_listeners[i].listener);
> end
    error_page 400 404 408 411 412 413 414 417 494 /kong_error_handler;
    error_page 500 502 503 504 /kong_error_handler;

    access_log ${
  
  {PROXY_ACCESS_LOG}} main;    ##此行结尾处添加main
    error_log ${
  
  {PROXY_ERROR_LOG}} ${
  
  {LOG_LEVEL}};

    client_body_buffer_size ${
  
  {CLIENT_BODY_BUFFER_SIZE}};
 ··················    
 ······第二处配置·····
  if #admin_listeners > 0 then
server {
    server_name kong_admin;
> for i = 1, #admin_listeners do
    listen $(admin_listeners[i].listener);
> end

    access_log ${
  
  {ADMIN_ACCESS_LOG}} main;      ##此行结尾处添加main
    error_log ${
  
  {ADMIN_ERROR_LOG}} ${
  
  {LOG_LEVEL}};
 ······

二、重启kong,查看access.log日志格式

执行下面命令重启kong
# kong reload /etc/kong/kong.conf
查看日志:

remote_addr=[39.96.130.100] http_x_forward=[118.74.245.171, 112.124.159.116] time=[17/Oct/2019:18:32:27 +0800] request=[GET /coach_core/api/v2/klass/node?app_version=2.5.4&coach_id=39709c50-a793-11e9-959e-49d70ecedf82&device_name=iPad%20mini%204&device_system=iOS13.1.2&device_type=2&end_date=2020-02-17&start_date=2019-10-17&time_zone=8 HTTP/1.1] status=[200] byte=[1762] elapsed=[0.018] upstream_connect_time=[0.000] upstream_header_time=[0.012] upstream_response_time=[0.012] refer=[-] ua=[KPL_teacher_appstore/2.5.4 (iPad; iOS 13.1.2; Scale/2.00)] gzip=[-] msec=[1571308347.571] http_host=[p.coach.kuaipeilian.com] http_accept=[application/vnd.lumen.v1+json|gzip, deflate|zh-Hans-CN;q=1]

接下来我们就可以对日志进行进一步处理了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135735.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cgal使用_cgal库

    cgal使用_cgal库CGAL5.3-手动:在Windows上使用CGAL(使用VisualC++)

    2022年10月23日
    0
  • knox芯片_推广代理平台

    knox芯片_推广代理平台使用knox进行正向和反向代理,并且进行一些权限认证,使用起来很方便,特别是对于NiFi的相关权限认证(ldap),所以本章节讲下我使用knox代理的服务,以及相关的一些配置选项。/gateway/san在这里面的每个xml被视为一个集群,集群中可以有多个service。topologies目录下的xml文件才会被加载,如果下面有文件夹不会继续查找。默认已经帮我们把所有的配置好了,所以只需要更改下面service的ip就行。这里创建了一个master秘钥,是给knoxgateway的秘钥。

    2025年7月25日
    0
  • 关于windos 10 恶意软件删除工具的使用[通俗易懂]

    关于windos 10 恶意软件删除工具的使用[通俗易懂]Windos系统中有很多的服务及工具,我们在使用电脑时,久而久之的电脑中就会多一些莫名其妙的恶意软件、工具甚至视频软件之类的,为了确保电脑系统的正常使用及系统安全,Windos系统就自带着一款确保安全的一款检测工具,当然微软也是不断地在更新,接下来就说说它的使用。步骤1:首先我们按下win+r,在命令窗口中输入mrt步骤2:步骤三接着我们就可以看到Windows恶意软件删除工具的窗口界面,这里点击下一页步骤3:我们可以看到这里为我们提供了三种扫描类型,下面会具体解释三种类型..

    2022年6月24日
    34
  • JavaCV开发详解之1:调用本机摄像头并预览摄像头图像画面视频(建议使用javaCV最新版本)「建议收藏」

    JavaCV开发详解之1:调用本机摄像头并预览摄像头图像画面视频(建议使用javaCV最新版本)「建议收藏」快速传送至:javacv入门指南:序章javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)j…

    2022年6月12日
    28
  • Linux 网络环境查看命令

    Linux 网络环境查看命令

    2021年9月12日
    68
  • ups不间断电源介绍_ups不间断电源设备有哪几部分组成

    ups不间断电源介绍_ups不间断电源设备有哪几部分组成本文简单介绍UPS(不间断电源)的相关知识。1概述UPS(UninterruptedPowerSupply),即不间断电源,是将蓄电池与主机相连接,通过主机逆变器等模块电路,将蓄电池中直流(DC,DirectCurrent)电转换成市电交流(AC,AlternatingCurrent)电的系统设备。UPS主要用于给单台计算机、计算机网络系统或其它电力电子设备如电磁阀、压力变送器…

    2025年7月12日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号