python 應用thrift---- thrift的監控fb303 - import coding_dog ---- by 堅毅的刀刀 - 博客大巴
ython 應用thrift---- thrift的監控fb303 - [ coding ]
2011-08-18
版權聲明 :轉載時請以超鏈接形式標明文章原始出處和作者信息及 本聲明
http://shenguanpu.blogbus.com/logs/156741276.html
fb303 ?在thrift的源碼包 contrib之中
* What does it provide? *
A standard interface to monitoring, dynamic options and configuration,
uptime reports, activity, etc.也就是說fb303提供了幾種接口方法,而并沒有默認實現(很坑爹)有了fb303不需要在自己的thrift servcie 接口里去聲明,只需要自動生成的processor繼承fb303的FacebookService.Processor ?但需要自己寫handler 去處理接口方法
fb303庫結構(需要編譯并安裝,步驟類似thrift):
- constants 和thrift數據類型相同
- ttypes 定義 fb_status
- FacebookBase ?Iface的空實現
- FacebookService ?A clinet 訪問thrift服務,獲取結果 ?B IFace標準基礎服務 C Processor ?序列化代碼
?
調用過程:1 做一個client ?2 去調用服務器的handler ?3 服務器把handler得到的服務信息 訪問數 生存時間 cpu狀況 通過fb303接口序列化并返回給客戶端。。。
- 修改fb303_scripts中的示例客戶端fb303_simple_mgmt.py
class Fb303Client(FacebookService.Client, CMyClient):
? pass
fb303_client = Fb303Client(protocol, protocol)
protocol 按需要更改- 修改 domain ServerNameExchange.py
? from fb303 import *
?
class Processor(Iface, TProcessor) --> class Processor(Iface, FacebookService.Processor):
Process最終調用handler做處理- handler增加相關方法:
def getStatusDetails(self):
? ? ? return " i am very fine!"
def getStatus(self):
? ? ? return 1cpu使用情況可分析 /proc/stat ?內容 獲得結果
綜上,還是用monit做監控吧,不用自己添加額外代碼。。。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
