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

應用運維自動化平臺設計與實踐

2019-10-07 14:59:33蔡國華黃鵬秦國鋒
新一代 2019年13期
關鍵詞:自動化

蔡國華 黃鵬 秦國鋒

摘 要:中國搜索應用運維自動化平臺,是根據技術業務實際需求設計和研發的,實現了對關系型數據庫、nosql數據庫、存儲和緩存系統等自動化部署和管理,有效地提升了應用運維的效率,降低了技術系統因故障隱患而產生的風險。

關鍵詞:應用運維;自動化;SaltStack

一、平臺建設背景

傳統運維管理對服務器的操作幾乎都是手動方式:手動安裝操作系統、手動部署應用、手動更新等。中國搜索隨著業務快速發展,服務器數量日趨龐大,技術架構也越來越復雜,涉及到關系型數據庫、nosql數據庫、存儲和緩存系統等使用和管理。在日常的應用運維工作中,也碰到了越來越多的問題,主要表現在:

·服務器數量龐大,通過手動方式部署應用和更新,運維效率較低。

·應用系統和數據庫版本不統一,維護起來比較困難。

·線上業務種類復雜,各個應用系統采用不同的配置,無法進行統一配置管理

·以傳統方式登陸服務器查看應用日志,效率比較低,無法對日志做出有效的處理和分析。

為了提高運維效率,對涉及到的應用系統和數據庫進行統一管理,將運維人員從重復性的工作中解放出來,有必要開發一套應用運維自動化平臺,實現對關系型數據庫、nosql數據庫、存儲和緩存系統等自動化部署和管理。

二、應用運維自動化平臺技術介紹

中國搜索應用運維自動化平臺是基于開源軟件SaltStack,使用python開發,是集應用系統安裝、配置、管理、監控于一體的自動化運維平臺。主要使用的技術如下:

(一)開源軟件Saltstack

SaltStack是一個服務器基礎架構集中化管理平臺,具備配置管理、遠程執行、監控等功能,基于Python語言實現,結合輕量級消息隊列(ZeroMQ)與Python第三方模塊構建。通過部署SaltStack,可以在大規模服務器集群上做到批量執行命令,根據不同業務進行配置集中化管理、分發文件、采集服務器數據、操作系統基礎及軟件包管理等。

SaltStack具有以下特性,實現系統批量管理:

·部署簡單、管理方便。

·支持大部分的操作系統,如Unix/Linux/Windows環境;架構上使用C/S管理模式,易于擴展。

·配置簡單、功能覆蓋廣。

·主控端(Master)與被控端(Minion)基于證書認證,確保安全可靠的通信。

·支持API及自定義Python模塊,輕松實現功能擴展。

SaltStack的異步執行模式可以很好地應對上千臺設備(甚至更多)的任務執行,特別適合耗時場景的應用。

(二)前端界面采用Vue開發

Vue是一套用于構建用戶界面的漸進式框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue也完全能夠為復雜的單頁應用提供驅動。

(三)后端程序采用Python+flask

Flask是一個基于Python開發并且依賴jinja2模板和Werkzeug WSGI服務的一個微型框架,對于Werkzeug本質是Socket服務端,其用于接收http請求并對請求進行預處理,然后觸發Flask框架,開發人員基于Flask框架提供的功能對請求進行相應的處理,并返回給用戶,如果要返回給用戶復雜的內容時,需要借助jinja2模板來實現對模板的處理。

三、應用運維自動化平臺架構

(一)部署方案

中國搜索應用運維自動化平臺,以SaltStack為底層架構,前端采用Vue技術,后端采用Python+flask,前后端分離,功能上實現集安裝,配置,集中管理為一體。部署過程如下:

·服務器端Master 角色的安裝,配置好yum 源。

·客戶端Minion角色的安裝,配置好yum 源。

·客戶端Minion 配置

SaltStack-Minion 是 SaltStack 安裝在客戶端的代理,負責接收服務器端發布的指令并執行,同時負責客戶端的狀態監控。客戶端要想被 master 管理,需要修改其配置文件,將服務器指向到 Master 的地址。其配置文件位于/etc/salt/目錄下,名為 minion。

·服務器端Master 配置

SaltStack-Master 是 SaltStack 組件的核心服務,負責發布指令及配置文件的分發與管理,及客戶端的管理功能。Master 要想正常提供服務,需要接受客戶端的證書認證請求。SaltStack 是通過 SSL 證書認證的方式進行通信的。輸入 salt-key? l 來查詢客戶端證書狀態,并輸入 salt-key? A 接受客戶端認證。

·搭建Flask+uwsgi+Nginx部署

在WEB服務器上搭建Flask+uwsgi+Nginx環境,并將后端代碼上傳到指定位置并啟動相應的服務。

(二)整體架構

·SaltStack Minion Master架構

SaltStack采用 C/S 的架構,從部署結構上看,SaltStack的在部署上可以分為Master和Minion兩個部分,其中Master相當于統領所有機器的總管,而Minion則是部署在被管理機器上面的agent進程,Master 可以發送任何指令讓 Minion 執行,salt 有很多可執行模塊,比如說CMD模塊,在安裝Minion的時候已經自帶了,它們通常位于python 庫中。

SaltStack客戶端(Minion)在啟動時,會自動生成一套密鑰,包含私鑰和公鑰。之后將公鑰發送給SaltStack服務器端(Master),服務器端驗證并接受公鑰,以此來建立可靠且加密的通信連接。同時通過消息隊列ZeroMQ在客戶端與服務端之間建立消息發布連接。

·Python+Flask架構

利用Python的Salt模塊,自定義開發相應的應用模塊,并調用SaltStack Master 遠程執行和下發相應的命令在SaltStack Minion上面執行。

四、應用運維自動化平臺功能

中國搜索應用運維自動化平臺主要提供了以下功能:

·應用安裝:Mysql高可用集群、Redis集群、MongoDB集群、ES集群、FastDFS集群自動化安裝。

·配置管理:日常運維涉及的配置文件管理,包括配置文件比對、配置文件批量更新等。

·日常運維:網站靜態文件上線,回滾等日常操作。

·集中監控: 自動安裝配置各個應用系統的監控腳本,使用Zabbix實現集中監控。

·集中備份: 集中備份關鍵數據,例如Mysql,Mongodb等數據。

·集中日志管理: 使用ELK管理操作日志,方便查詢、統計。

(一)Mysql主從高可用架構的自動化部署

Mysql是一個關系型數據庫管理系統,其體積小、速度快,是目前最流行的關系型數據庫管理系統之一。

應用運維自動化平臺實現了Mysql的自動化安裝和配置。同時實現了對Keepalived和LVS自動化配置,實現了Mysql讀寫分離,主從自動化切換的高可用架構。實現步驟如下:

·使用SaltStack把Mysql+LVS+Keepalived的高可用架構模塊化。

·根據Web調用情況,程序會將Mysql安裝模塊下發到需要執行Mysql安裝的機器。

·然后根據用戶輸入修改Keepalived配置和生成虛擬的讀寫IP。

·設置Mysql備份策略,實現自動化定時備份。

·查看每個管理的Mysql慢查詢的統計情況。

(二)Redis集群自動安裝配置

Redis集群是Redis官方提供的分布式解決方案,在3.0版本后推出的,有效地解決了Redis分布式的需求,當一個Redis節點掛了可以快速的切換到另一個節點。當遇到單機內存、并發等瓶頸時,可以采用分布式方案要解決問題。

應用運維自動化平臺可以自動化安裝配置Redis,一鍵構建Redis集群。應用自動化平臺可以控制Redis實例啟停。應用自動化平臺實現了Redis連接集中管理。實現步驟如下:

·使用SaltStack把Redis實例安裝模塊化。

·根據Web調用情況,程序會將Redis安裝模塊下發到需要執行Redis安裝的機器。

·根據Redis實例的安裝情況,一鍵構建Redis集群。

·可以查看Redis各個實例的連接數情況。

(三)MongoDB分片集群自動安裝配置

MongoDB分片是一種在多臺機器上分配數據的方法。MongoDB使用分片來支持具有非常大的數據集和高吞吐量操作。

應用運維自動化平臺實現了MongoDB分片集群的自動化安裝。實現了MongoDB實例的數據節點、集中配置、路由的自動化配置。實現了MongoDB實例的集中啟停,集中備份等功能。實現步驟如下:

·開發SaltStack MongoDB 安裝模塊、配置模塊、啟停模塊。

·通過前端Vue的請求下發MongoDB模塊到指定的機器。

·通過Python 調用Salt MongoDB安裝模塊,遠程安裝MongoDB。

·通過Python MongoDB配置模塊,遠程配置MongoDB。

·通過MongoDB啟停模塊,可以管理整個MongoDB機器。

·通過遠程管理MongoDB主機實現MongoDB定時備份。

(四)ES集群自動安裝配置

ElasticSearch是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發的,作為Apache許可條款下的開放源碼發布,是當前流行的企業級搜索引擎。

應用運維自動化平臺實現了ElasticSearch集群自動化安裝,并根據不同的應用要求調整ElasticSearch集群中Node節點的配置,以便實現Node節點不同的角色,并管理整個ElasticSearch集群中Node節點的啟停。

(五)FastDFS集群自動安裝配置

FastDFS是一款開源的高性能分布式文件系統。主要功能包括文件存儲,文件同步和文件訪問,以及高容量和負載平衡,主要解決了海量數據存儲問題,特別適合以中小文件為載體的在線服務。

應用運維自動化平臺實現了FastDFS存儲集群的安裝,并可以定制FastDFS跟蹤服務器(Tracker Server)、存儲服務器(Storage Server)和客戶端(Clinet)的配置,并管理上述不同FastDFS角色啟停。

五、總結與展望

中國搜索應用運維自動化平臺,是根據公司技術業務實際需求設計和研發的,實現了對關系型數據庫、nosql數據庫、存儲和緩存系統等自動化部署和管理,有效地提升了應用運維的效率,降低了技術系統因故障隱患而產生的風險。該平臺可靈活擴展至更多運維場景,具備向數據化、智能化演進的可能性。目前我們正在對平臺向容器和微服務方向進行研發與集成,使自動化覆蓋面能夠更加廣泛。后續我們還將根據業務實際需求,將機器學習和大數據技術應用于自動化運維中,實現智能化運維。

參考文獻:

[1]SaltStack官方說明:http://docs.saltstack.cn/

[2]Vue官方教程:https://cn.vuejs.org/v2/guide/

[3]Flask教程:http://docs.jinkan.org/docs/flask/

猜你喜歡
自動化
國內焊接設備市場現狀及發展趨勢研究
經營者(2016年12期)2016-10-21 07:39:01
供電企業電力自動化主站系統研究
錦界煤礦連采膠帶機集控系統的介紹
供熱站自動控制系統中PLC的應用
AGV小車在白酒行業自動化立體倉庫中的應用
中國市場(2016年36期)2016-10-19 03:40:15
電氣工程及其自動化問題與對策
我國機械設計制造及其自動化的現狀及發展趨勢
淺論節能設計理念在機械制造與自動化中的應用
簡析火力發電廠熱工自動化儀表應用及故障排除方法
配網自動化實用化模式建設及系統運行
主站蜘蛛池模板: 成人国产精品视频频| 毛片久久网站小视频| 欧美第二区| 在线高清亚洲精品二区| 国产美女免费| 日本午夜三级| 色丁丁毛片在线观看| 免费在线国产一区二区三区精品| 在线观看91精品国产剧情免费| 免费又黄又爽又猛大片午夜| 在线观看无码av免费不卡网站| 久久婷婷人人澡人人爱91| 亚洲第一成年网| 中文字幕在线永久在线视频2020| 欧美综合一区二区三区| 亚洲精品手机在线| 99久久这里只精品麻豆| a级毛片免费看| 91精品视频播放| 高清久久精品亚洲日韩Av| 欧美综合激情| 欧美午夜精品| www.亚洲色图.com| 夜夜爽免费视频| 国产在线一区视频| 亚洲国产成人精品无码区性色| 自慰高潮喷白浆在线观看| 亚洲日韩精品无码专区97| 国产福利免费视频| 熟妇无码人妻| 欧美特黄一免在线观看| 色香蕉网站| 成人午夜视频网站| 国产在线观看99| 欧美一级大片在线观看| 54pao国产成人免费视频 | 亚洲国产理论片在线播放| 欧美不卡二区| 亚洲av片在线免费观看| 99热在线只有精品| 热99精品视频| 国产一级毛片网站| 成年看免费观看视频拍拍| 国产成人一二三| 国产精品美女自慰喷水| 欧美.成人.综合在线| 五月激情婷婷综合| 国产精品视频久| 免费午夜无码18禁无码影院| 国产精品播放| 亚洲日本中文字幕乱码中文 | 尤物特级无码毛片免费| 国产99视频在线| 国产第一色| 亚洲无码不卡网| 国产凹凸视频在线观看| 蜜桃视频一区二区| 亚洲成a人片| 日本精品视频| 毛片免费观看视频| 中文成人在线| 乱色熟女综合一区二区| 欧美三级自拍| 欧美中文字幕在线播放| 欧美午夜网| 国产内射在线观看| 这里只有精品在线播放| 欧美日韩专区| 国产色网站| 一级毛片a女人刺激视频免费| 亚洲国产91人成在线| 自拍中文字幕| 99久久精品免费看国产免费软件| 2021国产乱人伦在线播放| 亚洲第一区精品日韩在线播放| 欧美成人精品高清在线下载| 国产在线无码一区二区三区| 亚洲色图欧美激情| 波多野结衣的av一区二区三区| 亚洲无码37.| 中文国产成人精品久久一| 凹凸精品免费精品视频|