本文根据高效运维系列微信群的群友文章整理并发布。“高效运维”公众号做为本系列群的官方惟一公众号,原创并独家首发。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天后,才能转载本文。尊重知识,请必须全文转载,并包括本行。