虽然阿里云日志有7层负载,但是阿里云日志只是看到参数不全,所以需要在项目中拦截并写入access.log中,并通过filebeat+es+kibana完整查看,对es数据进行一定时间删除
说明:这里说的不是info.log,error.log,debug.log? waring.log等日志,而是访问日志(access.log)
环境:springcloud项目,gateway服务中处理
具体过程 将数据按照特定格式写入access.log中,通过filebeat进行采集指定路径下的日志并写入到es中,最后通过kibana展示
?
仿照 logback-access ,定义要收集的字段,开发过滤器收集字段,自定义 logstash.yml。
收集到的字段: “User-Agent” : 请求头字段 “server_ip” :服务器ip “Content-Length” : 请求参数长度 “request_uri” :请求路径(网关转发的路径) “host” :本机ip “client_ip” :请求ip “method” :get/post “Host” : 请求头字段 “params” :请求参数 “request_url” :请求全路径 “thread_name” :当前线程 “level” :日志级别 “cost_time” : 请求耗时 “logger_name” :日志类 “Protocol” : 请求头字段
最后access.log日志,实现效果如下:
? 可参考地址如下:springcloud gateway 自定义 accesslog elk_烤鸭的世界我们不懂的博客-CSDN博客
|