本文根據高效運維繫列微信羣的羣友文章整理併發布。「高效運維」公衆號做爲本系列羣的官方惟一公衆號,原創並獨家首發。php
歡迎關注「高效運維」公衆號,以避免費參加「運維講壇」每個月一次的線下交流活動;並搶先賞閱乾貨滿滿的各類原創文章(詳見文末)。python
徐凱強@和信(整理)mysql
王冬生
騰訊高級工程師,《Puppet權威指南》做者web
在上一篇的介紹篇中,咱們對 Clip 進行了總體的介紹,本篇將着重介紹 Clip 的安裝過程及 Clip 的 SDK 使用方法。sql
安裝Apache\PHP和MySQLdocker
yum install httpd php msyql mysql-server
安裝Clip Web接口程序。(注:Clip WEB程序由Doitphp框架開發)
1) 建立http虛擬主機發布目錄:數據庫
mkdir -p /data/webroot/
2) 下載安裝包:json
wget http://blog.puppeter.com/download/clip/clip_web.tar.gz
3) 解壓縮安裝包:php框架
tar -xvzf clip_web.tar.gz -C (Apache程序發佈目錄/data/webroot/)
4) 配置httpd.conf ,追加虛擬主機配置信息:服務器
NameVirtualHost *:80 ServerAdmin wds@tencent.com DocumentRoot /data/webroot/clip_server/ ServerName clip.puppeter.com ErrorLog logs/clip.puppeter.com-error_log CustomLog logs/clip.puppeter.com-access_log common
5) 啓動httpd:
service httpd start
初始化 Clip Web 的 Mysql 數據庫
1) 啓動Mysql:
service mysqld start
2) 下載表結構:
wget http://blog.puppeter.com/download/clip/clip_db.tar.gz
3) 導入表結構:
進入mysql:mysql -u root -p 建立clip庫:mysql> create database clip;exit; 導入數據表:mysql -u root -p clip < clip.sql; 設置密碼:mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’); 刷新mysql配置:mysql> FLUSH PRIVILEGES;
設置Clip Web鏈接Mysql,編輯該文件:
/data/webroot/clip_server/application/config/clip.ini.php
Cllip SDK 由Python開發,如下爲Clip依賴環境安裝過程:
下載安裝 Python 和 expect (注:目前支持Python 2.6. 和 2.7. 版本)
yum install python expect
PS:Python源碼安裝,推薦2.6.6(下載頁面:https://www.python.org/download/releases/2.6.6/)
下載Clip SDK
wget http://blog.puppeter.com/download/clip/clip_latest.tar.gz
安裝Cllip SDK
tar -xvzf clip_p1.0.tar.gz -C /usr/local/servcers (注:指定安裝目錄)
設置Clip, 編輯 clip/conf/clip.ini
文件,變動server_ip
選項爲Clip_webIP
,以下圖:
導入環境變量
export PATH=$PATH:/usr/local/services/clip/ (安裝路徑)
或者
echo ‘export PATH=$PATH:/usr/local/services/clip/ ‘ >> /etc/profile && source /etc/profile
執行Cllip命令 (見截圖)
Clip SDK 用於獲取 Server 上的IP關係,並在 Client 上從新組織編排 IP 關係。(注:目前 clip 也支持將 IP 存放到本地文件中進行管理)。
目前 Clip 提供8個子命令,如下爲 Clip 子命令的參數解釋與演示(更多案例參考Clip SDK 案例):
clip scan
用於對 String 對應的 IP 進行端口存活狀態掃描)
參數格式
–query_string(-q) #根據String掃描IP的端口 –ip (-i) #掃描指定IP的端口 –query_string (-q) *-test-*-*,*-docker-*-* #多String掃描用逗號分隔 –append (-a) #在原有String基礎上,追加IP,追加多個(192.168.0.1,192.168.0.2)IP用逗號分隔 –remove_ip (-r) #刪除String原有IP列表的IP –limit(-l) #掃描String中指定範圍的IP範圍 –port (-P) #指定自定義掃描端口(注:默認爲80端口) –log_disable(-o) #默認日誌會上報服務器,並經過history命令查看歷史,經過此命令能夠關閉日誌上報,建議頻繁使用clip關閉clip
使用演示:
掃描
*-puppet-*-*
對應開放的端口
clip cstring
正解與反解String對應IP關係)
參數格式
–query_string(-q) #解析String對應的IP列表 –ip (-i) #解析IP對應的String –query_string (-q) *-test-*-*,*-docker-*-* #解析多個String對應IP列表,多String用逗號分隔 –limit(-l) #解析String中指定範圍的IP範圍 –append (-a) #在原有String基礎上,追加IP,追加多個(192.168.0.1,192.168.0.2)IP用逗號分隔 –remove_ip (-r) #刪除String原有IP列表的IP –join (-j) #指定輸出的格式,支持(「|」 「,」 「\n」,space) 4種格式輸出 –log_disable(-o) #默認日誌會上報服務器,並經過history命令查看歷史,經過此命令能夠關閉日誌上報,建議頻繁使用clip關閉clip –count (-c) #統計輸出IP個數 –dryrun (-d) #輸出調用接口用例
使用演示:
解析
*-qq-*-*
對應的IP關係。
解析192.168.0.7 對應的String。
clip ssh
遠程命令執行工具
參數格式
–password (-p) #密碼 –append (-a) #在原有String基礎上,追加IP,追加多個(192.168.0.1,192.168.0.2)IP用逗號分隔 –remove_ip (-r) #刪除String原有IP列表的IP –limit(-l) #解析String中指定範圍的IP範圍 –port (-P) #指定自定義端口(注:默認爲22端口) –dryrun (-d) #輸出調用接口用例 –log_disable(-o) #默認日誌會上報服務器,並經過history命令查看歷史,經過此命令能夠關閉日誌上報,建議頻繁使用clip關閉clip
使用演示:
查看string(sh-docker-base_v1-*) 對應機器上的負載。
查看 string(sh-docker-base_v1-*)的第一臺服務器對應負載
clip scp
遠程命令執行工具
參數格式
–password (-p) #密碼 –append (-a) #在原有String基礎上,追加IP,追加多個(192.168.0.1,192.168.0.2)IP用逗號分隔 –remove_ip (-r) #刪除cstring原有IP列表的IP –limit(-l) #解析String中指定範圍的IP範圍 –port (-P) #指定自定義端口(注:默認爲22端口) –dryrun (-d) #輸出調用接口用例 –log_disable(-o) #默認日誌會上報服務器,並經過history命令查看歷史,經過此命令能夠關閉日誌上報,建議頻繁使用clip關閉clip
使用演示:
將ip文件推送到string(sh-docker-base_v1-*)對應機器的/tmp目錄上。
tree
String關係遍歷工具
參數格式
–query_string(-p) #密碼 –json (-j) #指定輸出的格式 –dryrun (-d) #輸出調用接口用例 –log_disable(-o) #默認日誌會上報服務器,並經過history命令查看歷史,經過此命令能夠關閉日誌上報,建議頻繁使用clip關閉clip
使用演示:
遍歷
*-*-*-*
下的節點。
import
IP關係導入工具
使用演示:
clip import -b 建立導入string與關係模板
參數格式
–insert (-i) #將文件內的clip對應關係導入數據庫 –bulid (-b) #建立clip導入數據庫,關係模板文件 –list_struct (-l) #顯示clip數據庫結構
lt
Local tools 本地獲取IP關係管理工具
使用演示:
根據本地IP文件,進行遠程ssh command,其中root@「本地IP關係文件名」
參數格式
–password (-p) #密碼 –append (-a) #追加IP,多個IP用逗號分隔 –remove (-r) #刪除原有IP列表的IP –port (-P) #指定自定義端口(注:默認爲22端口)
全球運維大會·上海站,將於10月31日舉行,屆時三大運維體系(精益運維、高效運維和白盒運維),將首度同臺匯演。本次會議免費,如需報名或瞭解詳情,請猛戳以下連接。
「高效運維」公衆號(以下二維碼)值得您的關注,做爲高效運維繫列微信羣的惟一官方公衆號,每週發表多篇乾貨滿滿的原創好文:來自於系列羣的討論精華、運維講壇線上精彩分享及羣友原創。「高效運維」也是互聯網專欄《高效運維最佳實踐》及運維2.0官方公衆號。
提示:目前高效運維新羣已經創建,歡迎加入。您可添加蕭田國我的微信號xiaotianguo8 爲好友(或掃描以下二維碼),進行申請,請備註「申請入羣」。
重要提示:除非事先得到受權,請在本公衆號發佈2天后,才能轉載本文。尊重知識,請必須全文轉載,幷包括本行。