Ajax 服务器日志到Dojo前端,合适的数据存储方法?

Ajax 服务器日志到Dojo前端,合适的数据存储方法?,ajax,logging,dojo,Ajax,Logging,Dojo,大家早上好,我目前正在构建一个工具,它使用AUX和Shell脚本逐分钟从几个不同服务器上的各种日志中获取大量数据。目前,我有一些脚本,它们也会逐分钟生成HTML文件,这样我就可以回顾并查看任何给定分钟的系统运行状况。从本质上讲,这些HTML文件被用作归档介质,这显然是非常奇怪的 利用这个工具,我希望在DOJO平台上构建一个前端,它将支持从日志中收集的每个不同数据集的小部件和图形。我过去很少使用DOJO,希望在这项技术方面更有经验的人能够告诉我,对于脚本每分钟产生的这些简单指标,我应该使用什么存储

大家早上好,我目前正在构建一个工具,它使用AUX和Shell脚本逐分钟从几个不同服务器上的各种日志中获取大量数据。目前,我有一些脚本,它们也会逐分钟生成HTML文件,这样我就可以回顾并查看任何给定分钟的系统运行状况。从本质上讲,这些HTML文件被用作归档介质,这显然是非常奇怪的

利用这个工具,我希望在DOJO平台上构建一个前端,它将支持从日志中收集的每个不同数据集的小部件和图形。我过去很少使用DOJO,希望在这项技术方面更有经验的人能够告诉我,对于脚本每分钟产生的这些简单指标,我应该使用什么存储介质。我听说过JSON方法,但不确定

谢谢你的时间


Jonny

只是为了跟进这一点,因为它极有可能被其他用户偶然发现。我认为JSON绝对是前进的方向。每分钟我都会有一个系统生成一个JSON文件,如下所示

{
"DataDTS"   : "2014.05.02-09:00",
"System"    : "Performance Test",
"SourceServer"  : "gb02qws122debx7",
"OldestData"    : "2014.05.02-09:00",

"MetricData" : {

    "FredHopper Direct" : {
        "Small" : "FH",
        "Type" : "ByMinute",
        "HeaderLevels" : 1,
        "Data": { "Failures":0, "Avg":"0.318", "Min":"0.306", "Max":"0.340" }
    },

    "Performance By Instance" : {
        "Small" : "RATE",
        "Type" : "ByMinute",
        "HeaderLevels" : 2,
        "Sections" : {
            "102.01" : { "Attributes" : ["(20)"], "Data": { "Req":"999", "Avg Resp":"0.254" } },
            "102.02" : { "Attributes" : ["(20)"], "Data": { "Req":"144", "Avg Resp":"0.376" } },
            "103.01" : { "Attributes" : ["(20)"], "Data": { "Req":"168", "Avg Resp":"0.199" } },
            "103.02" : { "Attributes" : ["(20)"], "Data": { "Req":"152", "Avg Resp":"0.283" } },
            "Unallocated" : { "Attributes": [], "Data": {"Req":"87", "Avg Resp":"0.154"} },
            "qws122" : { "Attributes": [], "Data": {"Tot Req":"460", "Rate PPS":"7.7"} }
        }
    },


    "HTML Status" : {
        "Small" : "HTML",
        "Type" : "Status",
        "HeaderLevels" : 1,
        "Data" : [
            { "Code":"200", "Req":447 },
            { "Code":"206", "Req":1 },
            { "Code":"301", "Req":7 },
            { "Code":"302", "Req":5 },
            { "Code":"TOT", "Req":460 }
        ]
    },

    "Page Breakdown" : {
        "Small" : "PB",
        "Type" : "Status",
        "HeaderLevels" : 2,
        "Sections" : {
            "Top 15 Average Response Times" : { 
                "Attributes": [],
                "Data" : [
                    { "URL":"men", "Req":1, "Avg Resp":"3.597", "Cached":"0.0%" },
                    { "URL":"jacques-vert", "Req":1, "Avg Resp":"3.335", "Cached":"0.0%" },
                    { "URL":"OrderOKView", "Req":1, "Avg Resp":"1.615", "Cached":"0.0%" },
                    { "URL":"warehouse", "Req":1, "Avg Resp":"1.050", "Cached":"0.0%" }
                ]
            },                  
            "Top 15 Requests" : {
                "Attributes": [],
                "Data" : [
                    { "URL":"Navigate", "Req":220, "Avg Resp":"0.372", "Cached":"26.4%" },
                    { "URL":"prod", "Req":42, "Avg Resp":"0.186", "Cached":"13.5%" },
                    { "URL":"sureroute-test-object.html", "Req":24, "Avg Resp":"0.001", "Cached":"0.0%" },
                    { "URL":"TopCategories1", "Req":8, "Avg Resp":"0.032", "Cached":"0.0%" }
                ]
            }
        }
    },

    "App server CPU" : {
        "Small" : "CPU",
        "Type" : "ByMinute",
        "HeaderLevels" : 2,
        "Sections" : {
            "qap302" : { "Attributes" : ["Ent:7.0", "Max:8.0", "Mem:32768MB", "Wgt:200"], "Data": { "usr%":"16.8", "iow%":"1.4", "phy":"1.8", "ent%":"25.1" } },
            "qap312" : { "Attributes" : ["Ent:7.0", "Max:8.0", "Mem:32768MB", "Wgt:200"], "Data": { "usr%":"8.1", "iow%":"0.1", "phy":"0.8", "ent%":"11.0" } }
        }
    }

}

JSON无疑是一种选择——如果您觉得从服务器命令行pov读取JSON更合适的话,也可以使用XML。最好的选择是一个数据库,一个简单的表,有一个字段pr值加上一个id和一个时间戳。查看
dojo.data.ItemFileReadStore
dojox.data.JsonRestStore
显示您的数据片段,告诉您的目标是哪种服务器语言/http守护进程等,以便ppl能够更好地了解