美文网首页
NGINX 日志分析报警

NGINX 日志分析报警

作者: 咯噔爸比 | 来源:发表于2021-02-03 14:37 被阅读0次

    利用GO实现类似tail -f 的功能用于日志实时分析

    需求:分析nginx 日志中的500系列的错误进行报警
    每次手动查看周期长了会忘记,刚好前端时间开发了企业微信发消息的功能。可以用企业微信代替接收终端来实时接收报警信息
    
    流程图

    自己实现功能 需要监听文件变化,维护之前处理的上下文
    调用已有的成熟的第三方库,这里主要是指 github.com/hpcloud/tail 这个,借鉴别人的成果。具体的代码实现等实操后再补充

    经过与实际情况分析最终妥协了,采用laravel 捕获异常的方式中间增加本身的job即可快速完工了,看一下完工的代码吧

    Handler.php 
    public function render($request, Exception $e)
        {
            if ($e instanceof ModelNotFoundException) {
                $e = new NotFoundHttpException($e->getMessage(), $e);
            }
            //500 报警监控
            if( !config('app.debug')) {
                //增加 事件
                SendMessage::dispatch(1,['title'=>'看什么看,又有500错误了','userid'=>[2711], 'description'=>'o(╥﹏╥)o 起来改BUG了 =>'.$request->url().'==>'.$e->getMessage(),
                    'url'=>'','picurl'=>'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1210376098,2005201110&fm=26&gp=0.jpg'])
                    ->onQueue('{sendWeWorkMsg}');
            }
            return parent::render($request, $e);
        }
    

    相关文章

      网友评论

          本文标题:NGINX 日志分析报警

          本文链接:https://www.haomeiwen.com/subject/ntaptltx.html