mongodbLog Service器方案

來源:互聯網
上載者:User

標籤:

描述

目前要做的是多台伺服器上的程式日誌(如訂購日誌,交易日誌,介面是否成功等)匯總到1個mongodb伺服器,每日大約1億的量,然後有圖表即時展現,和報表展現日誌資訊

 

注意:

            沒有把所有日誌放入1張表裡面,因為日誌插入很頻繁會導致鎖表,二是量大了影響查詢速度。沒有考慮用分區,因為針對我們的業務查詢,分區沒得分表效率高。用上了mongodb的複本集來保證伺服器穩定運行 和 主從庫讀寫分離來提高效率。

 

方案

 1:簡化入庫,使用log4j配置把log4j日誌以統一的json格式直接存入到mogodb

 2:建立4張表

   a:總表(全部日誌)【單獨建個庫來儲存,這樣防止寫入全域鎖影響查詢】

   b:小時暫存資料表:

                 格式:2013122106 註:2013年12月21日6時log4j寫入的日誌匯總

         小時表:(crontab或者quartz定時統計前一小時暫存資料表的業務所需資料,如某小時交易總量,成功率,各種彙總值等)

 

   c:建立固定集合來存放最近2小時的資料。大小固定,效率高,自動會替換老的資料【隨時在插入資料,所以會影響查詢,建議放到mongodb的記憶體資料庫和固定集合,提升效率】

   d:天表(小時表的匯總)

 

 業務處理

      1小時內表徵圖即時展現(固定集合能滿足)

      當天圖表即時展現(小時表+固定集合能滿足)

     表報統計(小時表或者天表,有需求+月表或者年表)


遇到問題

   mongodb使用import匯入資料速度不穩定,所以如果匯入資料有時間要求的話,建議使用程式批匯入,

   mongodb對插入會出現鎖表,locked集合,影響集合查詢, 不要把log4j的日誌直接寫入總表,在統計小時業務彙總資訊,因為總表數量大了,效率很慢。建議log4j按小時寫入的臨時集合,在臨時集合中統計小時業務資料到小時表

   


mongodbLog Service器方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.