博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mcollective插件(shell plugins)功能在Linux系统上无所不能
阅读量:7195 次
发布时间:2019-06-29

本文共 6077 字,大约阅读时间需要 20 分钟。

众所周知,mcollecitve只是一个框架而已,它单独是干不了任何事情的,如果要让他去操作一个平台,是需要插件(plugins)进行操作的,比如通过puppet插件去管理节点puppet的所有命令,通过fact插件去管理fact的所有参数等等,那么如何去管理系统的命令呢,这就需要shell插件。

插件下载地址:,有github客户端的童鞋可直接clone

更多有关puppet的文章可访问

1、下载插件放在对应的目录里即可

mcollective-client端

 
[root@linuxmaster1poc ~]# mco shell "cat /etc/passwd | grep puppet"Do you really want to send this command unfiltered? (y/n): yDiscovering hosts using the mc method for 2 second(s) .... 3Host: linux58pocStatuscode: 0Output:puppet:x:52:52:Puppet:/var/lib/puppet:/sbin/nologinHost: linux64pocStatuscode: 0Output:puppet:x:52:52:Puppet:/var/lib/puppet:/sbin/nologinHost: linux57pocStatuscode: 0Output:puppet:x:52:52:Puppet:/var/lib/puppet:/sbin/nologin
 

mcollective-server端

[root@linux57poc agent]# ll /usr/libexec/mcollective/mcollective/agent/ | grep shell-rw-r--r-- 1 root root 1017 Aug  6 06:36 shell.ddl-rw-r--r-- 1 root root  862 Aug  6 06:36 shell.rb

备注:mcollective-server端部署完成之后,记得重启mcollective服务。


2、 查看shell插件是否加载成功

从下面可以看出mcollective-client端shell插件已经有了[root@linuxmaster1poc ~]# mco The Marionette Collective version 2.2.4

usage: /usr/bin/mco command 
Known commands: completion facts find help inventory ping plugin puppet rpc shell #shell插件加载OK Type '/usr/bin/mco help' for a detailed list of commands and '/usr/bin/mco help command'to get detailed help for a command

从下面可以看出mcollective-server端shell插件也加载了

[root@linuxmaster1poc ~]# mco inventory linux57pocInventory for linux57poc:   Server Statistics:                      Version: 2.2.4                   Start Time: Fri Dec 13 01:14:14 +0800 2013                  Config File: /etc/mcollective/server.cfg                  Collectives: mcollective              Main Collective: mcollective                   Process ID: 23898               Total Messages: 10      Messages Passed Filters: 10            Messages Filtered: 0             Expired Messages: 0                 Replies Sent: 9         Total Processor Time: 0.73 seconds                  System Time: 0.17 seconds   Agents:      discovery       puppet          rpcutil            shell  #shell插件加载OK                                           Data Plugins:      agent           fstat           puppet             resource                                        Configuration Management Classes:      No classes applied   Facts:      architecture => x86_64      augeasversion => 0.10.0      bios_release_date => 06/22/2012      bios_vendor => Phoenix Technologies LTD      bios_version => 6.00      blockdevice_fd0_size => 4096      blockdevice_hdc_size => 3834736640      blockdevice_sda_model => Virtual disk      blockdevice_sda_size => 42949672960    。。。

3、通过shell插件执行shell命令

mco shell帮助信息

[root@linuxmaster1poc ~]# mco shell --helpMCollective Distributed ShellUsage:   mco shell 
The CMD is a string EXAMPLES: mco shell uptime --np, --no-progress Do not show the progress bar -1, --one Send request to only one discovered nodes --batch SIZE Do requests in batches --batch-sleep SECONDS Sleep time between batches --limit-seed NUMBER Seed value for deterministic random batching --limit-nodes, --ln, --limit COUNT Send request to only a subset of nodes, can be a percentage -j, --json Produce JSON output --display MODE Influence how results are displayed. One of ok, all or failed -c, --config FILE Load configuratuion from file rather than default -v, --verbose Be verbose -h, --help Display this screenCommon Options -T, --target COLLECTIVE Target messages to a specific sub collective --dt, --discovery-timeout SECONDS Timeout for doing discovery -t, --timeout SECONDS Timeout for calling remote agents -q, --quiet Do not be verbose --ttl TTL Set the message validity period --reply-to TARGET Set a custom target for replies --dm, --disc-method METHOD Which discovery method to use --do, --disc-option OPTION Options to pass to the discovery method --nodes FILE List of nodes to addressHost Filters -W, --with FILTER Combined classes and facts filter -S, --select FILTER Compound filter combining facts and classes -F, --wf, --with-fact fact=val Match hosts with a certain fact -C, --wc, --with-class CLASS Match hosts with a certain config management class -A, --wa, --with-agent AGENT Match hosts with a certain agent -I, --wi, --with-identity IDENT Match hosts with a certain configured identityThe Marionette Collective 2.2.4

显示对端uptime命令负载情况

[root@linuxmaster1poc ~]# mco shell "uptime"Do you really want to send this command unfiltered? (y/n): yDiscovering hosts using the mc method for 2 second(s) .... 3Host: linux58pocStatuscode: 0Output: 02:45:02 up 21:10,  2 users,  load average: 0.00, 0.00, 0.00Host: linux64pocStatuscode: 0Output: 02:45:02 up 20:59,  1 user,  load average: 0.00, 0.00, 0.00Host: linux57pocStatuscode: 0Output: 02:45:02 up 21:04,  3 users,  load average: 0.00, 0.00, 0.00

显示所有节点/etc/password文件中puppet用户哪一行

[root@linuxmaster1poc ~]# mco shell "cat /etc/passwd | grep puppet"Do you really want to send this command unfiltered? (y/n): yDiscovering hosts using the mc method for 2 second(s) .... 3Host: linux58pocStatuscode: 0Output:puppet:x:52:52:Puppet:/var/lib/puppet:/sbin/nologinHost: linux64pocStatuscode: 0Output:puppet:x:52:52:Puppet:/var/lib/puppet:/sbin/nologinHost: linux57pocStatuscode: 0Output:puppet:x:52:52:Puppet:/var/lib/puppet:/sbin/nologin

修改其中一台主机的root密码

备注:更多操作步骤可参考mco shell --help帮助。

警告:基于mcollective的shell插件虽然功能很强大,除了动态显示的命令之外,其它root能操作的,它基本上都能操作。所以操作也非常危险,可根据生产环境实际情况而定。

转载地址:http://emvkm.baihongyu.com/

你可能感兴趣的文章
Mac下的UI自动化测试 (二)
查看>>
多线程爬虫
查看>>
第一冲刺阶段(第一天)
查看>>
C语言
查看>>
【转】火狐下因为margin的存在导致距离顶部总有空白
查看>>
Python中的base64模块
查看>>
Modelsim仿真一些简单问题
查看>>
【HDU 6008】Worried School(模拟)
查看>>
使用ES6的模块编写web页面碰到的坑
查看>>
vim常用命令
查看>>
【计算几何】CDOJ1720 几何几何
查看>>
阿里云挂载数据盘
查看>>
使用selenium模拟浏览器抓取淘宝商品美食信息
查看>>
MongoDB服务无法启动,windows提示发生服务特定错误:100
查看>>
A Simple OpenGL Shader Example
查看>>
资料整理面试
查看>>
理解JavaScript中的事件处理
查看>>
lock: mutex/spinlock/shared lock
查看>>
基于JAVA的身份证实名认证接口调用代码实例
查看>>
Shell命令-文件压缩解压缩之tar、unzip
查看>>