01 滴滴夜鶯簡介
滴滴夜鶯是一套分佈式高可用的運維監控系統,最大的特色是混合雲支持,既能夠支持傳統物理機虛擬機的場景,也能夠支持K8S容器的場景。同時,滴滴夜鶯也不僅是監控,還有一部分CMDB的能力、自動化運維的能力,不少公司都基於夜鶯開發本身公司的運維平臺。開源的這部分功能模塊也是商業版本的一部分,因此可靠性有保障、會持續維護,諸君可放心使用。
02 滴滴夜鶯主要功能
本節闡述滴滴夜鶯的核心功能模塊,你們能夠重點關注用戶資源中心和監控告警部分。
》用戶資源中心
這是一個平臺底座,全部的運維繫統,都須要依賴此係統,內置用戶、權限、角色、組織、資源的管理。最核心的是一棵組織資源樹,樹節點的類別和擴展字段能夠自定義,組織資源樹的層級結構最簡單的組織方式是:
租戶--->項目--->模塊
,複雜一點的組織方式:
租戶--->組織--->項目--->模塊--->集羣
,組織是能夠嵌套的。
節點上掛兩類對象,一個是人員權限,一個是資源,資源能夠是各種資源,除了主機設備、網絡設備,也能夠是rds實例,redis實例,固然,這就須要rds、redis的管控系統和
RDB
打通了。滴滴在作一些大的中後臺商業化解決方案的時候,
RDB
就是扮演了這麼一個底座的角色。
》資產管理系統
這裏的資產管理系統,是偏硬件資產的管理,這個系統的使用者通常是系統部的人,資產管理類人員,應用運維相對不太關注這個系統。開源版本開放了一個主機設備的管理,你們能夠二次開源,增長一些網絡設備管理、機櫃機架位的管理、配件耗材的管理等等,有了底座,上面再長出一些其餘系統都相對容易。
agent安裝完成以後,會自動註冊到資產管理系統,自動採集到機器的sn、ip、cpu、mem、disk等信息,這些信息爲了靈活性考慮,都是用shell採集的,上文安裝步驟一章有提到,其中最重要的是 ip,系統中有不少設備,ip是須要全局惟一,其餘的sn、ip、cpu、mem、disk等,若是沒法採集成功,能夠寫爲固定值,shell裏直接寫echo一個假數據便可。
每一條資產,都有一個租戶的字段,表明資產歸屬,須要管理員去分配資產歸屬(修改資產的所屬租戶),各個租戶才能使用對應的資產,分配完了以後,會出如今用戶資源中心的「遊離資源」菜單中,各個租戶就能夠把遊離資源掛到資產樹上去分門別類的管理使用。樹節點的建立是在樹上右鍵哈。
》任務執行中心
用於批量跑腳本,相似
pssh
、
ansible
、
saltstack
,不過不支持playbook,大道至簡,就用腳本擼吧,shell、python、perl、ruby,都行,只要機器上有解析器。由於是內置到夜鶯裏的,因此體系化會更好一些,和組織資源樹的權限是打通的,能夠控制不一樣的人對不一樣的機器有不一樣的權限,有些人能夠用root帳號執行,有些人只能用普通帳號執行,歷史執行記錄均可以經過web頁面查看審計。任務自己支持一些控制:
暫停點
、
容忍度
、
單機超時時間
、
中途暫停
、
中途取消
、
中途Kill
等。
一些常常要跑的腳本,能夠作成模板,模板是對腳本的一種管理方式,後續就能夠基於模板建立任務,填個機器列表就能夠執行。好比
安裝JDK
,
調整TCP內核參數
,
調整ulimit
等機器初始化腳本,均可以作成模板。
開源版本的任務執行中心,能夠看作是一個命令通道,後續能夠基於這個命令通道構建一些場景化應用,好比
機器初始化平臺
、
服務變動發佈平臺
、
配置分發系統
等。任務執行中心各種操做都有 API 對外暴露,具體可參看:router.go 我司的命令通道每週執行任務量超過60萬,就是由於各種上層業務都在依賴這個命令通道的能力。
》監控告警系統
這塊核心邏輯和v2版本差異不大,監控指標分紅了設備相關指標和設備無關指標,由於有些自定義監控數據的場景,endpoint很差定義,或者endpoint 常常變化,這種就可使用設備無關指標的方式來處理。監控大盤作了優化,引入了更多類型的圖表,但滴滴夜鶯畢竟是個metrics監控系統,處理的是數值型時序數據,因此,最有用的圖表其實就是折線圖,其餘類型圖表,看看就好,場景較少。滴滴夜鶯也能夠對接Grafana,有個專門的 DataSource插件,Grafana會更炫酷一些,只是,在數據量大的時候性能較差。
03 滴滴夜鶯架構
講解幾個關鍵點:
-
agent主動與job創建tcp長鏈接,拉取腳本任務執行,而且將結果上報;
-
agent主動調用ams的http接口,上報自身的基本信息;
-
agent主動調用monapi的接口,拉取採集策略,好比進程、端口、日誌、插件的相關採集策略;
-
agent主動與transfer創建tcp長鏈接,推送監控數據;
-
transfer將接收到的監控數據推送一份給tsdb作數據持久化,一份給judge作告警判斷;
-
index用來存放監控數據的索引,tsdb+index也可使用m3db替換,滴滴夜鶯支持多種後端存儲機制;
-
judge是告警引擎,週期性從monapi拉取告警策略,對接收到的數據作閾值判斷,生成告警事件,將告警事件推給redis,monapi從redis消費這些告警事件,將事件持久化到數據庫,而且按要求發送告警通知。
04 滴滴夜鶯資料
-
視頻:關注公衆號「運維散兵」,查看歷史消息
-
加羣:加微信好友「UlricQin」,備註「夜鶯加羣」
05 企業支持
-
在生產環節使用開源版的企業用戶,能夠加入OCE,咱們會額外給予更好的支持,好比專屬的技術沙龍、企業一對一的交流機會、專屬的答疑羣等。OCE申請入口在 Obsuite公衆號 的菜單裏,點擊 【OCE認證】 也可直接申請。
-
若是但願有更強大的功能,更穩定的商業支持,能夠了解咱們的商業版本,商業版本的介紹入口也在Obsuite公衆號的菜單裏。