ShareThis 正在迅速成長! 在過去4年,我在這裡工作,我們已經從一個房間公司成長為一個多房間的公司。 我們也開始得到所有典型的花哨的創業福利:免費食品,花哨的辦公室,公司活動等。
當我們創造價值時,有趣的事情就會發生,但工程在複雜性方面卻要付出代價。 現在,我們每天即時生成 TB 的數據。 我們也希望在未來一兩年內能攝錄更多的數據;將數據流翻倍或翻倍。 當我與同事交談時,告訴他們我們在做什麼,他們回答"哇",這是令人欣慰的。
問題不在於攝入——像卡夫卡、卡桑德拉、Aerospike、BigQuery等工具,使得擴大規模問題比4年前更容易。 當有人問「您如何知道其中的數據是正確的?
"它只是。 • 不夠好。
為了幫助我們回答這樣的問題,我們通過所有數據管道對一些相當免費的監視進行了加倍的監控。 謝天謝地,我們的代碼構建在一個通用框架上,因此當我們向一個庫添加監視時,它會動態地添加到使用該庫的所有應用程式。 很酷
也許技術的小故障會説明那些試圖在未來這樣做的人:
石墨:石墨是一個"基於Django的Web應用程式,用於呈現圖形和儀錶板。 它建在另外兩個專案之上,碳和Whisper(兩個專案都是石墨的一部分)。 碳充當聚合層和緩存層,使 UI 回應回應。 Whisper 是一個"固定大小的資料庫,在設計和用途上與 RRD(迴圈資料庫)類似。隨著時間的推移,它提供了快速、可靠的數位數據存儲。Whisper 允許提高最近數據的解析度(每點秒數),以降低解析度,從而長期保留歷史數據。
科達哈勒:Codahale 的庫實際上具有用於各種不同服務的連接器(如江利亞)。 為了我們的目的,我們使用JAVA石墨連接器,我們很好去。 指標物件可以動態創建,並允許您記錄基本統計資訊、直方圖和計時器。 我們將庫設置為每分鐘以每台伺服器登錄,以便批處理調用,並且流量保持較低。
塞倫:我們使用 這個碼頭專案 內部與我們的元件捆綁在裡面。 我們使用系統環境變數將其指向石墨和鬆弛。 在 UI 中,我們使用 Graphite 指標(通常使用一些記錄良好的功能)創建檢查,以警報到我們的 Slack 通道。
希望這有説明! 快樂駭客