利用日志实现简单的业务监控
前提
系统日志按照一定格式记录并按照时间记录拆分
话不多说直接上代码(PHP)
$wf_log_path=""; $cmd_last_minute=date('m-d H:i',time()-60); $cmd_fatal='FATAL'; $cmd="tac {$wf_log_path} | grep '{$cmd_last_minute}' | grep '{$cmd_fatal}'"; exec($cmd,$res_exe);
利用上面的方法可以监控到所有的日志文件,包括PHP、Nginx、crontab;当然接口超时也可以利用这个方法
最终利用邮件发送
foreach ($data_arr as $key => $value) { if(empty($arr_valid_data)){ print_r("没有需要报警的数据\n"); continue; } foreach ($arr_valid_data as $key=>$item) { $num=$key+1; $sendcontent.='第'.$num.'条报警信息:'.$item."。<br/><br/>"; } if($sendcontent){ $res=EmailHelper::sendEmail($sendto,$sendtitle,$sendfrom,$sendcontent); }else{ echo "没有报警!"; }