999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python內建庫的分布式日志系統設計與實現

2020-10-09 10:23:04秦子實
電腦知識與技術 2020年18期

秦子實

摘要:隨著Python腳本在企業lT自動化運維中的逐步應用,腳本數量越來越多,功能覆蓋也越來越廣泛,在提高運維效率的同時,自動運維腳本的管理難度也逐步提高。因此,需要一套架構簡單、易于編寫、方便部署的分布式日志系統,對自動運維腳本的運行進行統一記錄,以便進行調試或故障追溯。該文設計并實現了一種僅基于Python內建庫即可部署的分布式日志系統,日志客戶端與服務端僅需要極少的代碼即可實現,具有庫依賴關系簡單、部署方便的特點,可以以較低的成本對現有運維腳本進行改造,以實現日志的集中管理。

關鍵詞:分布式;日志系統;Python

中圖分類號:TP393 文獻標識碼:A

文章編號:1009-3044(2020)18-0082-02

開放科學(資源服務)標識碼(OSID):

1 概述

Py thon語言因具有強大的表達能力、豐富的第三方庫等特點,被廣泛地應用于企業IT自動化運維體系中。Pthon通常以簡單腳本的形式,存在于各個業務系統中,承擔著諸如應用系統啟停準備、數據備份管理、系統服務管理、系統版本管理、API管理等基礎運維工作。腳本通常分散在各服務器的各應用系統中,種類繁多,維護人員也各不相同。而隨著企業IT系統的增多,腳本數量也會隨之增長,這種現象對企業運維管理、故障排查帶來了較大的挑戰。運維人員需要一種能夠低成本改造現有腳本,同時也能夠在今后編寫的腳本中穩定應用的分布式日志記錄系統。

基于該需求,本文設計并實現了一種僅使用Python內建庫,基于內建socket庫進行通信并使用內建logging庫進行記錄的簡單分布式日志系統。

2 系統結構

鑒于低成本改造現有腳本的需要,本文采用PVthon默認的socketserver用作日志服務,通過默認logging模塊的SocketH-andler進行分布式日志寫入。采用logging.getLogger的name參數指定遠端日志服務器中的特定logger進行記錄,并利用name參數類似命名空間的分級特性,詳細記錄每條日志產生的服務器、所屬服務、所在腳本及函數,用以區別各腳本產生的日志。

該架構在日志前端避免使用了消息隊列等第三方系統,有效地控制了現有腳本的改造成本,此外,服務端利用Thread-ingTCPServer加速讀取速度。該架構能夠有效地將現有腳本的日志改造代碼量控制在極小的范圍內。

3 系統設計

3.1 日志服務端

分布式日志服務端采用Python內建的socketserver.Thread-ingTCPServer作為socket服務器。

利用socket上的select模型實現端口復用,使用非阻塞函數提升1/0效率。上文socketserver指定的讀取socket的handler編寫大致如下:

使用內建pickle模塊載入讀取的字節進行反序列化,之后通過makeLogRecord還原接收到的遠端日志記錄。之后,在服務端通過記錄的name屬性設置指定的logger,并記錄日志信息。最后,根據需要在服務端配置各種logger,并使用serve—un-til_stopped啟動服務即可。

例如客戶端需要一個debug級別的logger,并希望handler按時間自動循環保存日志文件,logger可以按如下方式配置:

其指定的按時間自動循環保存文件的handler可以按如下方式配置:

如此,便可以方便地在客戶端使用這個DebugLogger了。

3.2 日志客戶端

為了降低現有腳本改造代價,客戶端僅需要引入一個log-ger配置文件,或添加幾行logger設置即可,按如下方式設置log-ger:

可以在配置文件中編寫幫助函數,以方便各類不同腳本使用日志服務端。例如,在某使用多進程處理業務的腳本中,我們可以通過將進程ID寫入logger的name屬性來區別各個work-er的日志記錄,該幫助函數可以編寫為:

通過在腳本中引入該幫助函數返回的三個logger,便可以利用相應的logger將日志記錄寫入服務端。例如使用服務端名為“DebugLogger”的logger記錄debug級別的日志:debugLogger.debug(f'... -些日志記錄…')。

4 結束語

本文介紹了僅使用PYthon原生庫搭建分布式日志服務的方法,使得對現有腳本的改造僅需要引入約十行代碼,即可實現在日志服務器上寫入日志的功能。該方法結構簡單,性能優良,具備良好的可擴展性,后期可以通過改造服務端寫入han-dler的方法進一步增強日志服務端的性能,是一種易開發、易部署、易維護的日志服務。

【通聯編輯:梁書】

主站蜘蛛池模板: 久久精品中文无码资源站| 国产99视频精品免费观看9e| 看你懂的巨臀中文字幕一区二区| 国产在线精品人成导航| 伊人成人在线视频| 国产成人免费高清AⅤ| 久久黄色视频影| 亚洲一区二区日韩欧美gif| 日韩精品一区二区三区大桥未久| 久久国产精品娇妻素人| 怡春院欧美一区二区三区免费 | 国产精品尤物铁牛tv| 少妇被粗大的猛烈进出免费视频| 亚洲91在线精品| 国产精品爽爽va在线无码观看| 天堂av综合网| 高清无码手机在线观看| 中文字幕日韩久久综合影院| 国产精品黄色片| 高清不卡一区二区三区香蕉| 老司机久久99久久精品播放| 亚洲综合精品第一页| 丁香婷婷激情网| 欧美成人一级| 午夜啪啪福利| 欧美a级在线| 国产亚洲精品91| 午夜福利在线观看成人| jizz国产在线| 国产自视频| 国产99视频免费精品是看6| 69综合网| 色综合天天娱乐综合网| av在线无码浏览| 99在线观看视频免费| 国产精品成人久久| 亚洲色婷婷一区二区| 国产精品.com| 国产在线观看精品| 看你懂的巨臀中文字幕一区二区 | 亚洲天堂视频网站| 亚洲美女一区二区三区| 99热这里只有精品免费国产| 婷婷亚洲综合五月天在线| 国产又粗又猛又爽视频| 1769国产精品视频免费观看| 欧美日韩中文字幕二区三区| 亚洲国产av无码综合原创国产| 国产精品自在在线午夜区app| 亚洲第一成年网| 亚洲电影天堂在线国语对白| 精品91视频| 福利在线不卡| 手机在线国产精品| 亚洲国产成人在线| 亚洲香蕉伊综合在人在线| 亚洲精品你懂的| 亚洲欧美人成人让影院| 亚洲国产欧美目韩成人综合| 国产91高跟丝袜| 亚洲成A人V欧美综合天堂| 全裸无码专区| 久操线在视频在线观看| 日韩高清欧美| 曰AV在线无码| 亚洲精品欧美日韩在线| 在线看片国产| 久青草免费在线视频| 国产在线一区视频| 在线免费不卡视频| 国产乱人伦精品一区二区| 伊人激情久久综合中文字幕| 啊嗯不日本网站| 久久久久国产一区二区| 亚洲精品第一在线观看视频| 无码人中文字幕| 就去吻亚洲精品国产欧美| 天堂成人在线视频| 亚洲欧美国产五月天综合| 国产超碰在线观看| 2020久久国产综合精品swag| 久草中文网|