虽然阿里云日志有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博客