Angular Analytics Splunk日志记录



我为我的公司开发了一个有角度的页面,我想跟踪它的使用统计信息。只是一些非常基本的信息,比如点击次数。我正在尝试使用这里的angulartics插件。到目前为止,这是我从git-examples文件夹复制的角度页面中的内容:

HTML:

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Topic Tester</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="static/js/angular.min.js"></script>
    <script src="static/js/angulartics.min.js"></script>
    <script src="static/js/angulartics-splunk.min.js"></script>
    <script src="static/js/controller.js"></script>
    <script type="text/javascript">
        var sp=sp||[];
        (function(){var e=["init","identify","track","trackLink","pageview"], t=function(e){return function(){sp.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
            for(var n=0;n<e.length;n++)sp[e[n]]=t(e[n])})(), sp.load=function(e,o){sp._endpoint=e;
            if(o){sp.init(o)};
            var t=document.createElement("script");
            t.type="text/javascript",t.async=!0,t.src=("https:"===document.location.protocol?"https://":"http://")+"d21ey8j28ejz92.cloudfront.net/analytics/v1/sp.min.js";
            var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n)};
        sp.load("http://localhost:9000/api/log");
    </script>
</head>

JS-

var app = angular.module('myApp',['angulartics', 
                                    'angulartics.splunk']);

当然,由于端点的原因,html中的脚本需要调整,但我有一个问题。我的公司挥霍日志设置的方式是:开发人员在java应用程序中执行他们想要的任何类型的日志记录。所有日志记录都转到catalina.out。应用程序被部署到各种远程服务器(开发、QA、生产)。开发人员可以在公司域上托管的企业splink中运行搜索查询,以便在特定的框(dev框)中搜索特定的日志文件(tomcat.logcatalina.out等)。

在这种情况下,我如何将angular应用程序记录到一个文件中(不必是catalina.outobv,因为splink可以查询任何日志文件),从而splink能够从其部署框中提取它?

如果这不可能,我是否需要在sp.load行中放置一些splink端点,从而使角度页面将其统计数据直接发送给splink?

这里有几个选项。

如果你想登录到像你公司使用的Java应用程序一样的文件,你需要创建一个后端服务,你的Angular应用程序可以将数据发送到该服务。然后该后端服务可以写入文件。

如果您运行的是Splunk 6.3或更新版本,则可以使用HTTP事件收集器通过HTTP发送性能更好的事件。您可以将我们的Splunk日志记录JavaScript库与browserfy一起使用,有关更多详细信息,请参阅本期GitHub。

我一直在做一个更插件&播放基于Angular loggly记录器的Angular(1.5)解决方案,该解决方案可能更易于使用:https://github.com/mer10z/angular-splunk-logger

它使用$http发布到Splunk http事件收集器,因此您不需要浏览或任何其他外部依赖项。

最新更新