【问题标题】:Sumologic for JavaScript applicationJavaScript 应用程序的 Sumologic
【发布时间】:2017-01-17 14:37:08
【问题描述】:

我已经在我的 EC2 上进行 sumologic 工作。我还有一个面向客户的 React 应用程序。我也想为我的客户端应用程序集成 sumologic。为此找到了两个 npm 模块

  1. https://www.npmjs.com/package/logs-to-sumologic

  2. https://www.npmjs.com/package/sumologic

但两者似乎都不起作用,我也没有看到 sumologic 客户端集成的文档。

有人在客户端使用 sumologic 吗?

【问题讨论】:

    标签: jquery logging error-logging logentries sumologic


    【解决方案1】:

    我相信您在使用 NPM 库时遇到的问题(看起来它们被设计为在服务器端工作)是它们使用对 Sumo Logic 的 POST 请求这一事实。浏览器通常会阻止从客户端向任何并非源自实际 Javascript 的域发出 POST 请求(有关血腥细节,请参阅 Wikipedia for CORS)。

    但是,HTTP 源端点也支持 GET 请求。您可以按照此处所述配置 HTTP 源:https://help.sumologic.com/Send_Data/Sources/HTTP_Source。获得 URL 后,您可以通过 Curl 发送日志行:

    curl -v https://collectors.sumologic.com/receiver/v1/http/[UniqueHTTPCollectorCode]?[message_data]
    

    (另请参阅此处的文档:https://help.sumologic.com/Send_Data/Sources/HTTP_Source/Upload_Data_to_an_HTTP_Source

    正是出于这个原因,端点支持 GET;您可以通过发出“图像”请求在客户端使用它,如下所示:

    var img = new Image();
    img.src = 'https://collectors.sumologic.com/receiver/v1/http/[UniqueHTTPCollectorCode]?[message_data]'
    

    您可以在 Github 上查找使用此技术模仿“Google Analytics”和 Sumo 的示例,查找用户 oriadam 和存储库 Sumologic-as-GA

    您现在必须手动滚动,但请随时分享您的结果!

    【讨论】:

      【解决方案2】:

      Sumo Logic 正在积极努力将 CORS 标头添加到 HTTP 数据 API(HTTP 源)响应中。我还没有确定的日期,但应该很快就会有。如果您想在可用时收到通知,请投票/订阅该想法:https://sumologic.aha.io/ideas/SL-I-2085

      干杯 布莱恩·戈莱诺 相扑逻辑,产品管理

      【讨论】:

        【解决方案3】:

        这是我们公司用来从客户端发送 SL 事件的简化版本:

        https://github.com/oriadam/Sumologic-as-GA

        随意将其用于任何目的。不需要信用。

        这是我们稍后用来显示数据的:

        http://github.com/oriadam/sumologic_google_charts

        【讨论】:

          【解决方案4】:

          我已将 Sumologic 用于客户端应用程序。 Sumologic 可以接受来自网络浏览器的 Ajax 调用,它支持JSONP。您只需在 Sumologic 创建收集器/源并使用日志记录端点进行 GET 调用。

          $.ajax({
                  crossDomain: true,
                  url : "<SUMOLOGIC.LOGGING_ENDPOINT>",
                  data : dataString,
                  dataType:"jsonp"
          });
          

          您可以在 window.onerror() 上执行此操作以捕获所有 UI/Javascript 错误。我们这样做是为了捕获行、列、源文件、位置/URL、用户代理、时区等。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-05-16
            • 1970-01-01
            • 2011-06-14
            • 2012-12-14
            • 2012-11-28
            相关资源
            最近更新 更多