収集ログ - ログ収集遠位埋没

原理分析

分析:
埋没ページ上のデータを収集するための(準備JSが動的に短いタグIMGを生成するために使用される、タグ・サーバへのパラメータ要求を使用することにより、DOMのページを追加しました)
クロスドメインのimg src属性タグによって問題を解決することができますデータは、バックエンドサーバーに渡される
実行するバックエンドサーバのステップ:

  1. 要求を受け付け、応答画像(log.gif)
  2. 解像度パラメータは、データを保存します
  3. 設定されたCookie

設計と実装

情報を収集する必要性を決定します

名前 リマーク
アクセスタイム Webサーバ nginxの$ミリ秒
IP Webサーバ nginxの$ remote_add
ドメイン名 JavaScriptを document.domainを
URL JavaScriptを document.URL
ページタイトル JavaScriptを ドキュメントのタイトル
View Clientの Webサーバ nginxの$ HTTP_USER_AGENT
パラメータ1 JavaScriptを K1
パラメータ2 JavaScriptを K2

埋没遠位操作

//通过组装params的参数为url请求到指定IP的log.gif地址
function logOperate(params){
    var args = ''; 
    for(var i in params) {
        if(args != '') {
            args += '&';
        }   
        args += i + '=' + encodeURIComponent(params[i]);
    }
     var img = new Image(1, 1); 
    img.src = 'http://127.0.0.1/log.gif?' + args;
}

nginxのシンプルな構成のバックエンドのログ収集

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #日志采用|分隔符
    log_format  main  '$remote_addr|$msec|$http_user_agent|$k1|$k2';
    access_log off;
    sendfile        on;
    #连接持有时间
    keepalive_timeout  5;
    #gzip  on;
    server {
        listen       80;
        server_name  127.0.0.1;
                #拦截/log.gif路径,并且只针对这个路径才采集日志
        location /log.gif {
                        #日志记录位置且采用main格式
            access_log /var/log/nginx/access.log main;
                        #返回类型
            default_type image/gif;
                        #获取请求参数值格式为[$arg_argname],以便于日志格式解析。
            set $k1 $arg_k1;
            set $k2 $arg_k2;
                        #设置返回前端时不需要缓存
            add_header Expires "Fri, 01 Jan 1980 00:00:00 GMT";
            add_header Pragma "no-cache";
            add_header Cache-Control "no-cache, max-age=0, must-revalidate";
            #返回一个1×1的空gif图片
            empty_gif;
        }
        #拦截其他所有路径,统一返回空图片。
        location / {
            default_type image/gif;
            empty_gif;
        }
    }
}

追伸

URLパラメータの後端部に対応するフロントエンドによってIMG URL要求を送信し、切片nginxのに解析され|垂直列デリミタは/var/log/nginx/access.log内のログファイルに追加されます。

またはPOST水路logstat送信分析用のデータに対応する対応するログ分析サーバによって。

おすすめ

転載: www.cnblogs.com/cjunn/p/12236877.html