1、日志采集服务端设计一、主体设计思路:主要采用 redis 队列的方式,将各应用传递的 data 同过 l_push() 推送进 redis 队列,后端使用 python 脚本进行 redis 队列数据的 pop 采集和 mysql-insert 操作二、参数设计Socket 发送方式 data 格式为:appname:game101, err_code: 10001,error_type: app_error, error_msg: some error message here,time:2013/03/11 16:58:43各参数说明:appname 区别应用名称如(game101 等)e
2、rror_code 错误代码(应用中区别的)error_type 错误类型 (由应用自行设定)error_msg 错误信息(详细信息)time 时间对应的 appname、error_code、error_type 等会在数据采集的后台数据库设计中进行配置设计,如 gs_error_log_type_gamegs_error_log_type_gplatform 等其中中文字符一律使用编码格式 utf8 进行编码三、表结构设计gs_log_err_appname_cfg appname 配置表,在表中的才会被 python 写入脚本执行插入 mysql 数据操作CREATE TABLE IF
3、NOT EXISTS gs_log_err_appname_cfg (id int(10) NOT NULL AUTO_INCREMENT COMMENT id,appname varchar(20) NOT NULL COMMENT appname 不能重复,app_desc varchar(50) NOT NULL COMMENT app 描述,create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 创建时间,app_type int(20) NOT NULL COMMENT app 类型 1 游戏 2 平台,PRIMARY KEY (id),UNIQUE KEY appname (appname),KEY create_time (create_time,app_type) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=gs_err_log appname 配置表 AUTO_INCREMENT=1 ;