2012-08-07 25 views
0

早上好,我目前正在構建一個工具,它可以根據分鐘和每分鐘的基礎使用AUX和Shell腳本從幾個不同的服務器上的各種日誌中抓取大量數字。目前,我的腳本也可以逐分鐘生成HTML文件,以便我可以回顧並查看任何給定分鐘的系統運行狀況。所以基本上這些HTML文件被用作存檔介質,這顯然很奇怪。服務器日誌到Dojo前端,適當的數據存儲方法?

將此工具向前推進我期望在DOJO平臺上構建一個前端,該平臺將支持從日誌中收集的每個不同數據集的窗口小部件和圖形。我過去並沒有使用DOJO,並希望有人在技術方面有更多的經驗能夠告訴我,我應該使用哪種存儲介質來實現這些由腳本每分鐘生成的簡單指標。我聽說過JSON方法,但我不確定。

謝謝你的時間!

強尼

+1

JSON絕對是要走的路 - 或者XML也許如果你發現這個更適合從服務器命令行pov讀取。最好的選擇恕我直言將是一個數據庫,但一個簡單的表,一個字段pr值加上一個id和一個時間戳。看看'dojo.data.ItemFileReadStore'或'dojox.data.JsonRestStore' – mschr 2012-08-07 11:55:30

+0

顯示你的數據片段,告訴哪個服務器的語言/ http守護進程的目標等等,所以人工智能可以得到更好的主意 – mschr 2012-08-07 11:59:07

回答

0

只是跟進這難得的機會,可能在被其他用戶絆倒。我決定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" } } 
     } 
    } 

} 
相關問題