作家
登录

如何快速实现一个基于Nginx网站的监控场景

作者: 来源: 2017-07-07 17:03:57 阅读 我要评论

 "0.144" "0.144" "EX866MB1-Y70JO57WM37ST3HWDVFK3-JWPNH30J-Z" 
  • 58.211.119.29 148219 - [16/Mar/2017:21:47:08 +0800] "POST http://arms.console.aliyun.com/api/query.json?action=DataQueryAction&eventSubmitDoQueryData=http://os.51cto.com/art/201707/1" 200 583 "https://arms.console.aliyun.com/" "127.0.0.1:8080" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4" "0.148" "0.148" "EX866MB1-Y70JO57WM37ST3HWDVFK3-JWPNH30J-Z" 
  • 完成上述日记设备定制今后,即可开端在 ARMS 长进行设备。以下篇幅大年夜 ARMS 数据集,报警,和交互大年夜盘,三个部分进行设备概要描述。关于数据源若何添加到ARMS可拜见文档,在此不赘述。

    2. 基于 ARMS 的 Nginx 监控 数据集实现

    在 Nginx 监控模板中,用户数据分为两类,一类是指标,相当于数据仓库中的 Measure;一类是维度,相当于数据仓库中的 Dimension。

    页面的 PV, UV

    • PV: 页面的 PV 经由过程对 access.log 中的每一条日记做 coun t来统计,
    • UV: 经由过程日记中代表用户 ID 的对应的 $cookie_id 来做 count distinct 来统计。对应的 cookie_id 须要开辟人员进论述动统计。

    页面响应时光

    • 平均页面响应时光: 在 ARMS 中经由过程对$request_time做sum操作来统计出total_request_time,然后在通国际 total_request_time / pv 来获得某维度下的瓶平均响应时光。
    • 最大年夜响应时光: 则对单条日记 request_time 进行 max 统计。

    对于 Nginx 监控,最常见的维度有以下几类:

    • 页面 URL: $request。用户可以针对特定 URL 进行拜访统计,甚至可以在不合 URL 之间进行拜访排行。
    • 页面返回状况:$status。用户可以针对不合的返回值维度进行统计,如仅统计 200 返回值的┞俘常页面拜访情况,或长短 200 返回值的缺点页面拜访情况。
    • 浏览器类型:根据 $http_user_agent 统计出的用户的浏览器客户端,如 Chrome, Sofari, IE, Firefox, 甚至 Curl 敕令,等。用户可以根据词攀类维度统计客户端的分布情况。
    • 用户 ID:根据 $cook_id 统计出的用户的应用习惯,如哪一类页面被哪一些用户经常拜访,等。

    对于 ARMS 的数据集设计,其实就是针对用户感兴趣的 Nginx 监控结不雅,进行各类维度的分列组合。

    • 例如,以页面URL维度,统计 UV, PV,页面响应时光,则可以统计出不合页面的各自的UV, PV和页面响应时光,甚至根据例如PV进行TopN排行。

    下图是一个数据集设备的例子,该数据集设备出两个维度: URL 和 Status (支撑由 URL 下钻到 Status 的萌芽方法),分别统计两个指标:PV 和 UV。如许用户可以依次下钻页面路径和返回值来萌芽 PV, UV 情况。

    undefined

    3. 基于 ARMS 的 Nginx 监控报警实现

    常见的 Nginx 报警有以下几种:

    • 某类页面的响应时光过长。
    • 某类页面的缺点率页面过高。

    应用 ARMS 的原生报警的一些特点天然支撑 Nginx 监控报警的各类场景。以下举例。

    • 支撑牟嗬龈标的维度下钻遍历

    例如检查(遍历)所有页面维度的响应时光是否跨越 100ms.

    • 支撑不合指标之间的复合计算

    典范如缺点码为 5xx 占总调用的┞芳比,经由过程不合指标复合计算而得。

    • 支撑各类其他报警高等报警设备

    包含比来 N 分钟同比,环比,最大年夜,最小值比较,等。例如,比来5分钟同比PV下跌50%这种典范的场景。

    以下例子结合以上三个特点,介绍了一种如安在 ARMS 定义”随便率性 URL 调用一分钟 500 返回占比跨越 10%”的报警定义例子,如下所示。

    4. 基于 ARMS 的 Nginx 监控大年夜盘设备

    监控大年夜盘一般有以下几个用处:

    • 挂在作战室,周全掌控运行状况。
    • 用于及时查看,并下钻分析每个具体用户或网页的网站实际应用情况。

    针对 Nginx 监控,ARMS 可以基于类似用户维度,页面维度,IP 维度,甚至地区维度,展示不合的数据。以展示用户总体UV, PV 为例,假设对应的数据集为”整站 UV PV”,则设备如下:


      推荐阅读

      如何实现模拟人类视觉注意力的循环神经网络?

    道理篇本文所用的代码在https://github.com/SquarePants1991/OpenGLESLearn.git的ARKit分支中。iOS11推出了新框架ARKit,经由过程ARKit和SceneKit可以很便利的制造AR App。苹不雅也供给了>>>详细阅读


    本文标题:如何快速实现一个基于Nginx网站的监控场景

    地址:http://www.17bianji.com/lsqh/36093.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)