日志服务

给ERP部署独立的日志服务

将日志服务从数据库存储剥离开,独立部署基于MONGODB的存储服务,提升系统整体性能及扩展性的架构。

Step 1

安装mongodb服务

Step 2

修改logsystem里的配置信息文件config.php

define('STORAGE_ENGINE','mongo');#日志存储的介质
define('SYS_API_LOGS',FALSE);#是否写文件记录接收的日志参数
define('SYS_ERROR_LOGS',FALSE);#是否写文件记录接收的错误日志参数
define('SYS_ERROR_REPORTING',E_ALL & ~E_NOTICE);#php报错级别 该配置不动即可
define('SYS_SETTIMEZONEAPICOUNTLOGS_TIME',300);#单位秒 该配置不动即可

define('SYS_LOGDATABASE_NAME','logdb');#数据库名称
define('SYS_LOGDATABASE_NUMS',1);#数据库数量

define('SYS_LOG_DOMAIN','api.log.taoex.com');#日志服务系统的域名
define('SYS_LOG_INTOQUEUE',false);#请求进来的日志内容是否进队列走一层

#具体mq链接配置信息
$GLOBALS['_MQ_LOG_CONFIG'] =  array(
    'host' => '127.0.0.1',
    'port' => '5672',
    'login' => 'erp',
    'password' => 'erp_3315',
    'vhost' => 'erp_callback',
    'routerkey' => 'tg.sys.*.*',
);

日志MQ机制可以无视,SYS_LOG_INTOQUEUE参数默认false不用去动,其他参数默认也可直接使用,非技术深究就保持默认即可。

修改logsystem里mongo服务的配置信息文件 server.inc.php 修改具体的mongo服务的 ip 和端口号,默认:

return array(
    '127.0.0.1' => array(
        '0' => '27017',
    ),
);

Step 3

修改rockmongo(mongo日志管理工具)里的配置文件config.php

$i = 0;

$MONGO["servers"][$i]["mongo_name"] = "ERP_LOG:27017";//mongo server name
$MONGO["servers"][$i]["mongo_host"] = "127.0.0.1";//mongo host
$MONGO["servers"][$i]["mongo_port"] = "27017";//mongo port
$MONGO["servers"][$i]["mongo_timeout"] = 0;//mongo connection timeout
$MONGO["servers"][$i]["mongo_auth"] = false;//enable mongo authentication?
$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false
$MONGO["servers"][$i]["control_users"]["erp"] = "erp_3315";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false
$MONGO["servers"][$i]["ui_only_dbs"] = "";//databases to display
$MONGO["servers"][$i]["ui_hide_dbs"] = "";//databases to hide
$MONGO["servers"][$i]["ui_hide_collections"] = "";//collections to hide
$MONGO["servers"][$i]["ui_hide_system_collections"] = false;//if hide the system collections

$i++;

主要配置name host port users 4个参数即可。配置好后,域名访问配置好,能正常登陆即可。

Step 4

将logsystem和rockmongo配置web访问,用二级域名。

logsystem日志服务的访问域名可以是内网,rockmongo管理地址最好是外网不然不方便管理。

两个代码可以和OMS程序代码放在一个目录同级。

Step 5

php命令行执行logsystem里script\init.php的代码,自动创建日志服务的库和表。

执行命令后使用rockmongo管理工具登陆查看检查是否创建成功。

默认的库名叫logdb0,表名为tg_apilog和tg_apilog_detail。

Step 6

使用rockmongo修改两个表的属性。

参数为:

is capped 是否固定大小 勾选。

size 最大占用存储空间 300M-500M 具体看服务器资源,按实际情况调节。

max 最多记录行数 60w 具体看服务器资源,按实际情况调节。

在右侧顶部点击更多里的属性,编辑is capped size max三个参数,设置完后,可以同样点表里的统计查看是否设置成功。

截图一

截图一

截图二

截图二

截图三

截图三

Step 7

最后,OMS程序代码config.php加两行代码日志服务器的存储方式和访问域名

(前面的部署步骤都做完,再做这步,尤其第六步修改类型,读写磁盘很厉害,如果OMS日志先链接到mongodb进来再改属性会很卡)

define('APILOG_SWITCH','api');
define('APILOG_URL','http://api.log.taoex.com/index.php');

api.log.taoex.com可以定义随意url地址,内网绑host即可,需保证内网访问通畅。

最后上面设置完,接着就可以到OMS里查看同步日志里是否空了,只出现了新的日志记录内容,如果是这样就设置ok了。


沪ICP备05002918号

© 2003-2017 ShopEx,Inc.All rights reserved.