用户中心-第三方日志

背景

“日志系统”在项目开发、运维中扮演着非常重要的角色,完善的日志记录可以方便问题的追溯、系统的监控、行为的分析等等。“用户中心”要做的不仅是自身的日志记录,还要对各个子系统进行日志的上传,这样子系统就不需要再去编写日志模块,所有日志都打入用户中心也有利于资源的统一管理监控。

设计

日志需要记录的字段信息很多,正如前一篇所描述的user_id用户ID, title操作行为, data操作数据, ip来源IP, created_at操作时间,type操作类型,sql操作语句等等。而且有的日志需要依赖具体的业务,这样做一个通用的日志系统考虑的方面就更多了。

字段 类型 说明
id bigint 日志ID
app_id int 应用ID
user_id int 用户ID
request_method varchar 请求方式
request_url varchar 请求地址
request_params text 请求参数
response_code int 返回码
response_message varchar 返回消息
response_data text 返回数据
user_ip varchar 用户IP
user_client varchar 用户客户端类型
user_agent varchar user agent
server_ip varchar 服务器IP
request_at double 请求时间
pushed_at double 响应时间
poped_at double 发送给用户中心时间
created_at double 用户中心写库时间
request_time timestamp 请求时间
  • 1、request_methodrequest_urlrequest_paramsresponse_coderesponse_messageresponse_data为请求和返回的一些信息;
  • 2、user_iduser_ipuser_clientuser_agent为用户的一些信息;
  • 3、request_atpushed_atpoped_atcreated_at为时间节点信息:
    • request_atpushed_at之间的差值为服务器从接收到返回之间的处理时间,如果时间较长的话则需要分析对应的代码逻辑、执行效率;
    • pushed_atpoped_at之间的差值为日志队列里的等待时间,如果时间较长表明队列中的任务较多,并不影响业务;
    • poped_atcreated_at之间的差值为“用户中心”写入日志的时间,如果时间较长则表明“用户中心”处理过慢;

实现

api

发送给“用户中心”需要携带access_token,通过创建应用时的client_id、client_secret获取。具体api参见开放平台8.1 记录日志

显示


字段较多,列表只显示部分,点击“详细”查看全部

Just a beginner.<br /><a href='https://github.com/yaoshanliang/about' target='_blank'>profile</a>