exit('Cli only.'); } if (!function_exists('pcntl_fork')) { exit('Need PCNTL support.'); } //载入文件 include_once 'include/init.php'; include_once PATH_BASEKIT_SERVER; include_once PATH_BASEKIT_DT; include_once PATH_BASEKIT_DB; include_once PATH_BASEKIT_DBER; //设定错误控制 Baserror::set('CLI', PATH_LOG, 'deamon.log', DEAMON_LOG_SHOW, DEAMON_LOG_FILE); Baserror::loger("守护进程正在运行."); //开始创建对象maxfs $obj_dt = new Bkex_Dt(); //获取所有可用服务器列表 $arr_servers = $obj_dt->getservers(); if ($arr_servers === false) { exit('No data.'); } //创建新进程用于采集信息 $arr_pids = array(); //创建任务组 foreach ($arr_servers as $server) { //创建新进程用于采集数据 $int_pid = pcntl_fork(); if ($int_pid === false) { //进程创建失败 Baserror::loger("任务子进程[{$server['name']}]创建失败."); } elseif ($int_pid != 0) {
//设定错误控制 Baserror::set('CLI', PATH_LOG, 'api.log', true, true); //创建对象 $obj_server = new Bkex_server(); $arr_server = $obj_server->getservers($get_host); //结果集 $arr_json = array('data' => array(), 'status' => false); //获取目标服务器 if ($arr_server !== false) { $arr_system = $obj_server->system_get($arr_server); $obj_charts = new Bkex_charts(); //判断模式 if ($get_realtime) { //实时模式,采集数据并入库 $obj_dber = new Bkex_Dber($arr_server, $get_realtime, $get_realkeep); $obj_dt = new Bkex_Dt(); $obj_dt->fetch($arr_server['url']); $arr_cpu = $obj_dt->cpu(); $arr_mem = $obj_dt->mem(); $arr_disk = $obj_dt->disk(); $arr_load = $obj_dt->load(); $arr_network = $obj_dt->network(); $obj_dber->log_cpu($arr_cpu); $obj_dber->log_mem($arr_mem); $obj_dber->log_disk($arr_disk); $obj_dber->log_load($arr_load); $obj_dber->log_network($arr_network); //重新定义时间段 $get_time_end = time(); $get_time_start = time() - $get_lay_time * 60; //获取目标数据