1

会社用に開発した角度のあるページがあります。使用統計を追跡したい。ヒット数などの非常に基本的な情報です。ここにある 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のスクリプトを調整する必要がありますが、そこに問題があります。方法私の共同。has splunk logging setup は次のとおりです。開発者は、Java アプリで必要なあらゆる種類のログを作成します。すべてのログは に送られcatalina.outます。アプリケーションは、さまざまなリモート サーバー (Dev、QA、Prod) に展開されます。開発者は、会社のドメインでホストされているエンタープライズ splunk で検索クエリを実行して、特定のボックス (開発ボックス) で特定のログ ファイル ( tomcat.logcatalina.outなど) を検索できます。

このシナリオでは、catalina.outsplunk が展開ボックスからログ ファイルを取得できるように、Angular アプリ ログをファイルに記録するにはどうすればよいでしょうか (splunk は任意のログ ファイルをクエリできるため、obv である必要はありません)。

それが不可能な場合sp.load、Angular ページがその統計を直接 Splunk に送信するように、いくつかの Splunk エンドポイントを行に配置する必要がありますか?

4

2 に答える 2

2

ここにはいくつかのオプションがあります。

会社で使用している Java アプリなどのファイルにログを記録する場合は、Angular アプリがデータを送信できるバックエンド サービスを作成する必要があります。その後、そのバックエンド サービスはファイルに書き込むことができます。

Splunk 6.3 以降を実行している場合は、HTTP イベント コレクターを使用して、HTTP経由でイベントを送信し、パフォーマンスを向上させることができます。JavaScriptライブラリ用の Splunk ロギングをbrowserifyで使用できます。詳細については、このGitHub の問題を参照してください。

于 2016-05-10T04:12:44.030 に答える