【问题标题】:Google App Engine: traffic monitoringGoogle App Engine:流量监控
【发布时间】:2012-12-15 10:23:37
【问题描述】:

监控 Google App Engine 托管网站的网站流量的最佳方法是什么?

在每个页面处理程序中放置一些代码来记录对数据存储的每个页面请求是相当简单的,现在(感谢stackoverflow)我有代码到log the referring site

another question 使用数据存储记录流量,但它不考虑其他选项(如果有的话)。

我担心数据存储很昂贵。还有其他方法吗?人们通常会实施流量监控,还是我过于热心?

如果我通过数据存储实现流量监控,建议捕获哪些字段?什么是好的和/或常见的做法?

我会选择:时间戳;页;推荐人; IP地址;用户名(如果已登录)。还有其他建议吗?

【问题讨论】:

    标签: python google-app-engine


    【解决方案1】:

    您提到的所有项目都已由内置 App Engine 记录器记录。为什么需要复制它?如果需要,您可以定期下载日志进行分析。

    【讨论】:

      【解决方案2】:

      人们通常使用谷歌分析(或类似的东西),因为它进行客户端跟踪并提供比服务器端跟踪更多的洞察力。

      如果您只需要服务器端跟踪,那么分析日志就足够了。 Log API 的问题在于它可能很昂贵,因为它不进行真正的查询:对于每次日志搜索,它都会遍历所有日志(在范围内)。

      您可能想查看Mache,这是一个将所有 GAE 日志导出到具有适当查询功能的 Google BigQuery 的工具。

      另一个选择是download logs 并使用本地工具对其进行分析。 GAE 日志是 Apache 格式,所以有plenty of tools available

      【讨论】:

        【解决方案3】:

        您可以使用带有单独配额限制的日志记录模块。

        跨越 69 天的 7 MB(保留限制的 1%)

        我不知道限制是多少,但这是我的应用程序中的一行,所以它似乎很大。

        然后您可以使用

        添加到日志中
        logging.debug("something to store")
        

        如果它还没有包含您需要的内容,请在本地阅读:

        appcfg.py --num_days=0 request_logs appname/ output.txt
        

        【讨论】:

          【解决方案4】:

          您通过System.err.println(或等效的python)写出的任何内容都将自动附加到应用引擎日志中。因此,例如,您可以创建自己的日志格式,将println 放在您的所有页面上,然后下载该格式的日志和 grep。例如,如果这是您的格式:

          MYLOG:url:userid:urlparams
          

          然后下载日志并通过grep ^MYLOG 传送它,它将为您提供网站的所有流量。

          【讨论】:

          • 有适当的日志记录机制可用。无需破解。错误应该用于错误。
          猜你喜欢
          • 1970-01-01
          • 2012-07-24
          • 2020-10-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多