在前文中完成了api网关kong、konga面板的部署,在将后端应用发布到网关之后,就需要对应用的日志进行统一管理。由于我们生产环境选择将kong部署进K8S环境,因此选型之后,决定采用http-log插件的方式实现日志的统一收集,并将日志发送到logstash服务,然后对接elasticsearch,最终由kibana面板来展示和查询。

添加全局日志插件

访问konga面板,添加http-log插件
API网关日志统一管理
填写logstash服务端的ip和端口

API网关日志统一管理

配置logstash服务端

yum -y install logstash
cat /etc/logstash/conf.d/http_log.conf 
 input {
  http {
    host => "0.0.0.0"
    port => 9000
    ssl => false 
    threads => 2 
  }
}
filter {
  mutate {
    remove_field => ["headers"]
  }
}
output {                
  elasticsearch {
      hosts => ["192.168.223.235:9200"]
      index => "kong_log_%{+YYYY-MM-dd}"
  }
}
 /usr/share/logstash/bin/logstash -f /etc/logstash/http_log.conf &

通过kibana查看es数据

API网关日志统一管理