淘寶開源其系統監控工具Tsar

Tsar 簡介

   TsarTaobao System Activity Reporter是淘寶開發的一個非常好用的系統監控工具,在淘寶內部大量使用,它不僅可以監控CPUIO、內存、TCP等系統狀態,也可以監控ApacheNginx/TengineSquid等服務器狀態。值得一提的是,Tsar 支持將數據存儲到 MySQL 中,也可以將數據發送到 Nagios 報警服務器。

   Tsar可將收集到的數據存儲在磁盤上,另外可以支持將數據存儲到MySQL中,也可將數據發送到Nagios報警服務器。在展示數據層面,可以指定模塊,並且支持對多條信息的數據進行Merge輸出,如果帶--live參數,還可以輸出秒級的實時信息。

一、Tsar 架構介紹    

從架構上來看,Tsar基於模塊化設計,源代碼上來看主要包含兩部分:框架和模塊。框架源代碼主要存放在src目錄,模塊源代碼主要在modules目錄中。框架提供對配置文件的解析、模塊的加載、命令行參數的解析、應用模塊的接口對模塊原始數據的解析與輸出。

1.1 按功能劃分


221332363.png

1.2 採集流程

221449552.png

1.3 展現流程

221606406.png

二、Tsar 特點:

1. 技術開源

2. 模塊化

3. 自帶很多系統性能監控模塊

4. 自帶很多常用軟件的監控模塊

5. 可自寫插件收集監控其他信息

6. 支持本機查看

7. 支持輸出到遠程數據庫

8. 配合nagios的被動監控,頁面顯示

三、Tsar 部署

Tsar 提供了兩種安裝方法,

3.1 github安裝

$ git clone git://github.com/kongjian/tsar.git

$ cd tsar

$ make

# make install

3.2 下載zip文件安裝

$ wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate

$ unzip tsar.zip

$ cd tsar

$ make

# make install

參考地址:https://github.com/alibaba/tsar

四、Tsar 目錄結構

4.1 定時任務,負責每分鐘調用tsar執行採集任務;

/etc/cron.d/tsar

4.2 日誌文件輪轉配置,每個月會把tsar的本地存儲進行輪轉;

/etc/logrotate.d/tsar

4.3 Tsar配置文件路徑,tsar的採集模塊和輸出的具體配置;

/etc/tsar/tsar.conf

4.4 模塊路徑,各個模塊的動態庫so文件;

/usr/local/tsar/modules

4.5 二進制程序,tsar執行程序

/usr/bin/tsar

五、Tsar使用

5.1  基本模塊

系統:cpu/mem/load/tcp/traffic/io/disk等;

應用:nginx/trafficserver/lvs/haproxy

參考鏈接:https://github.com/alibaba/tsar/tree/master/modules

5.2 指定屬性查看數據

字段參數示例
指定模塊--list/ltsar --mem  -l -i 1
指定實時數據  --live/-ltsar -l --cpu
指定間隔時間--interval/-itsar -i 1 --cpu
指定模塊--modnametsar --cpu
指定字段--spec/-stsar --cpu -s sys,wait
指定日期--date/-dtsar --cpu -s sys,wait -d n
查看最後一次採集--check/-Ctsar --cehck --cpu -s sys
指定查看字段還是模塊--detail/-dtsar -d cpu
幫助功能--help/-htsar -h

如圖所示:

221915199.png

5.3 實時信息查看

Live 模式,實時查看數據,可指定模塊,可指定間隔時間

222048962.png

5.4 歷史信息查看

指定模塊,間隔分鐘,查看N天數據

222138935.png

5.5 查看多item模塊

比如多塊磁盤信息(因爲本人是虛擬機,所以只能看到一塊磁盤信息)

224413457.png


5.6 查看最近一次數據信息

--check,輸出最近一分鐘數據,用於監控

222421355.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章