高效自動化運維工具 Clip | 介紹篇

本文根據高效運維繫列微信羣的羣友文章整理併發布。「高效運維」公衆號做爲本系列羣的官方惟一公衆號,原創並獨家首發。服務器

歡迎關注「高效運維」公衆號,以避免費參加「運維講壇」每個月一次的線下交流活動;並搶先賞閱乾貨滿滿的各類原創文章(詳見文末)。微信

編輯

  • 徐凱強@和信(整理)架構

做者介紹

王冬生

騰訊高級工程師,《Puppet權威指南》做者併發

引子

IP數字不容易記憶,因此聰明的人類發明了DNS。DNS把不容易記憶的數字,改成容易記憶的一串有規則的域名,域名又能夠解析相應的IP,基於此思路,咱們開發了近似 DNS 工具的名字服務系統。
在公司內部但願經過名字服務系統在 CMDB 基礎之上把不一樣的業務(cpu、內存、磁盤和網卡)「夾在一塊兒」,對於上層能夠實現資源互補,對於下層能夠方便覈算業務成本,因此這就是CLIP(夾子)的由來了。
運維

Clip 簡介

Clip是一款自動化運維工具,適用於海量服務器的管理場景,能夠下降系統誤操做風險,提升工做效率。ssh

其將傳統的 IP 管理緯度替換爲String管理緯度的管理方式,使海量運維變得更加便捷、可靠與高效。ide

Clip是 C/S 架構,它將IP關係保存在 Server 端,Client 端能夠下載 SDK,經過 SDK 遍歷 Server 端的 IP 與模塊關係等,並在本地對獲取的 IP 模塊關係進行從新的組織與編排,這就是Clip。工具

Clip還提供了遠程命令、文件拷貝、IP組織樹遍歷、歷史命令查看、IP對應String關係正反解析與導入等功能。爲海量服務器運維保駕護航,奠基基礎。spa

下面來詳細介紹下Clip這款自動化運維工具,首先從基於String管理的 String 組成提及。blog

String 的組成方式

String由(idc-product-modules-group) 4段組成,瞭解 CMDB 的同窗會發現它與 CMDB 的結構很像,4級模塊定位一個服務。

可是隨着業務的發展,筆者以爲4級服務已經沒法定位到一個服務,譬如:在一臺服務器上混合部署不一樣的業務模塊,這裏4級只能定位到服務的IP級別,而沒法精肯定位到真正的服務。

因此Clip在此基礎上增長了一級 — Port (端口號),改完的String格式變成了這樣:(idc-product-modules-group-port),經過5段定位一個服務。這也是Clip優點,靈活變換來定位一組服務,知足業務需求。

舉一個實際的例子:

上海機房,A 模塊使用80端口提供服務,目前有100多個機器,B模塊使用8080端口提供服務,目前也有100多個機器,因爲業務流量降低,爲了節約資源目前想將兩個模塊200臺機器資源合併,但功能不合並。

咱們可將兩個服務表示到不一樣的String中,如:

A模塊(sh-weixin-friend-a-80)
B模塊(sh-weixin-friend-b-8080)

經過String就很容易的將兩個服務分別開,並部署在相同的服務器上提供服務了。

管理方式對比

相較於傳統服務器管理方式,String管理方式有如下優點:

  1. 傳統爲IP管理方式,IP由4組無心義的數字組成,比較難記憶。與傳統方式相比String能夠見名識意,方便記憶。

  2. 管理海量服務時,IP類似常常會致使運營故障,譬如A模塊(10.131.24.37)和B模塊(10.117.24.37),後兩位數字一致,慣性的認爲兩個B模塊就是A模塊,發送配置致使線上故障。經過String管理方式能夠很方便的規避此問題。

  3. String 能夠解析1個IP,也能夠解析一組IP,根據IP也能夠反解析String對應關係,這讓咱們管理一組服務更加的方便。

Clip 的C/S 的架構

剛介紹到 Clip 爲 C/S 架構,String 對應的 IP 關係保存在 Server 服務器中,Client 經過 Clip 的 SDK 獲取IP。

其優點有3點:

  1. IP與String創建一次關係後,因爲關係保存在 Server 端,所以全部的服務器上經過SDK均可以調用到。

  2. SDK 能夠提供更加豐富的功能,如掃描服務器,遠程命令,遠程拷貝等。

  3. 能夠方便的進行定製開發,Clip 提供簡單清晰的API與SDK代碼結構與文檔,當Clip不能知足咱們需求時,能夠經過文檔很容易的擴展Clip 知足本身的需求。

Clip SDK

目前 SDK 共有8個子命令,以下所示:

f4fc83c23fe7398376d5e9a938fc37b9.jpeg

  • scan: 用於對String對應的IP進行端口存活狀態掃描。

  • cstring: 用於解析String和IP的對應關係。

  • ssh: 用於對String對應的IP,遠程執行系統命令。

  • scp: 用於對String對應的IP,遠程拷貝文件。

  • tree: 遍歷String下的子節點。

  • history: 顯示歷史執行過的命令。

  • import: 導入IP對應String關係。

  • lt: 從本地獲取IP關係進行管理。

  • help: 顯示Clip當前有多少子命令。

Clip 案例

最後咱們再來看一下應用案例 ,來比較一下傳統方式和Clip管理方式差別:

傳統方式:

在 A 模塊的100臺服務器上,執行uptime命令,具體的操做步驟以下:

  1. 找到要同步的A模塊 IP 列表。

  2. 編寫腳本與 IP 列表中的服務器創建鏈接。

  3. 鏈接服務器時輸入帳號密碼。

  4. 帳號密碼認證成功後拷貝文件。

  5. 在每一個 IP 重複以上步驟。

Clip 方式:

在 A 模塊的100臺服務器上,執行uptime命令,具體的操做步驟以下:

  1. 創建A模塊ip列表與String的對應關係,譬如爲tj-qzone-qzoneini-access6。

  2. clip ssh -p 密碼 root@tj-qzone-qzoneini-access6

執行上述命令後,如下爲執行結果。

ce0fa11336021cd8770a80516fc88211.jpeg

能夠看出相較於傳統的管理方式,採用Clip 的方式進行管理,大大簡化了工做量。

後記

關於 Clip 的安裝及詳細的操做使用說明將會在後面的文章中說明,請你們持續關注此公衆號的最新文章。

好消息來啦

全球運維大會·上海站,將於10月31日舉行,屆時三大運維體系(精益運維、高效運維和白盒運維),將首度同臺匯演。本次會議免費,如需報名或瞭解詳情,請猛戳以下連接。

約不?三大運維體系首度同臺匯演 | 全球運維大會·上海站

如何一塊兒愉快地發展

「高效運維」公衆號(以下二維碼)值得您的關注,做爲高效運維繫列微信羣的惟一官方公衆號,每週發表多篇乾貨滿滿的原創好文:來自於系列羣的討論精華、運維講壇線上精彩分享及羣友原創。「高效運維」也是互聯網專欄《高效運維最佳實踐》及運維2.0官方公衆號。

8224fff77185d99cc10cadadf129359a.jpeg

提示:目前高效運維新羣已經創建,歡迎加入。您可添加蕭田國我的微信號xiaotianguo8 爲好友(或掃描以下二維碼),進行申請,請備註「申請入羣」。

c09b1250a42d5c301072a7c5663ce0b9.jpeg

重要提示:除非事先得到受權,請在本公衆號發佈2天后,才能轉載本文。尊重知識,請必須全文轉載,幷包括本行。

相關文章
相關標籤/搜索