mcollective的web控制台---mcomaster搭建
使用mcollective有段时间,每次在控制机上写命令运行agent感觉挺不方便的,于是想有没有专门的mcollective的web console,搜了下发现有两个:kermIT和mcomaster.
kermIT看上去比mcomaster功能多些,不过因为kermIT是django开发,而mcomaster是ruby开发,这样就和mcollective、pupppet一脉相承,学习成本也低点。
本文就介绍一下mcomaster系统的搭建(OS:Centos6.2),其中涉及到的链接可能有些需要FQ。点击这里查看mcomaster官网的安装说明
===================================================================================================
1、mcomaster介绍
mcomaster是一个mcollective框架的web控制台系统,通过mcomaster可以执行节点机agent,也就是在mco的各种命令,而这些只需要动动鼠标,不用再远程到mco的控制机上敲命令。并且可以实时查看返回结果。所以这一切都需要我们先搭建好mcollective环境。如果你对mcollective还不了解,建议先去翻看一下我之前的文章:http://www.cnblogs.com/waiwofei/p/3698675.html
先来两张图,第一张是通过filesystem插件查看node72上的磁盘状况
第二张是对所有节点执行puppet同步,因为只有两个节点node72和node81,而node81上mcollective上没有装puppet插件,所以实际上只执行node72上的puppet
2、ruby环境的搭建
由于mcomaster要求必须是ruby1.9以上,而之前用yum安装的环境是是ruby1.87,最新的yum源都只是1.87,所以准备用源码安装ruby环境。下载 ruby2.12 源码。
# tar xzvf ruby-2.1.2.tar.gz # cd ruby-2.1.2 # ./configure --prefix=/usr/ruby/ # make && make install# cp /usr/ruby/bin/ruby /usr/bin/ # cp /usr/ruby/bin/gem /usr/bin/
然后查看ruby及gem的版本看看是否安装成功
# ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] # gem -v 2.2.2
3、puppet安装
puppet在mcomaster的部署中并不是必须的,不过puppet是我们肯定会用到,所以先把puppet弄好,当然你也可以不进行这一步。这里采用gem安装puppet
# gem install puppet # cd /usr/ruby/lib/ruby/gems/2.1.0/gems/puppet-3.6.2 # cp conf/* /etc/puppet/ # cp ext/redhat/server.init /etc/init.d/puppetmaster # chmod +x /etc/init.d/puppetmaster # cp bin/puppet /usr/bin/ # mkdir /etc/puppet/manifests /etc/puppet/modules # service puppetmaster start 启动 puppetmaster: [确定]
接下来就是puppet服务器和客户端的常规配置,具体参考 http://www.chenshake.com/puppet-study-notes/
4、ActiveMQ安装
# yum install tanukiwrapper activemq activemq-info-provider
安装完成后来对ActiveMQ进行配置,如下
# vim /etc/activemq/activemq.xml … <simpleAuthenticationPlugin><users> <!-- <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="admins,everyone"/> --> #禁用<authenticationUser username="mcollective" password="secret" groups="mcollective,admins,everyone"/> #配置通信的账号及密码</users></simpleAuthenticationPlugin> … <authorizationPlugin> #配置权限,默认即可<map><authorizationMap><authorizationEntries><authorizationEntry queue=">" write="admins" read="admins" admin="admins" /><authorizationEntry topic=">" write="admins" read="admins" admin="admins" /><authorizationEntry topic="mcollective.>" write="mcollective" read="mcollective" admin="mcollective" /><authorizationEntry topic="mcollective.>" write="mcollective" read="mcollective" admin="mcollective" /><authorizationEntry topic="ActiveMQ.Advisory.>" read="everyone" write="everyone" admin="everyone"/></authorizationEntries></authorizationMap></map></authorizationPlugin> … <transportConnectors><transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/><transportConnector name="stomp+nio" uri="stomp://0.0.0.0:61613"/> #配置通信协议为stomp,监听61613端口</transportConnectors>
# service activemq start Starting ActiveMQ Broker... # chkconfig activemq on # netstat -nlatp | grep 61613 #查看监听端口 tcp 0 0 :::61613 :::* LISTEN 33805/java
5、mcollective安装
首先安装mcollective-common,因为yum安装会同时ruby1.87等依赖,所以我们通过 https://yum.puppetlabs.com/el/6.2 下载对应的mcollective-common的rpm文件。
接着通过下面语句安装
# rpm -ivh mcollective-common-2.5.2-1.el6.noarch.rpm --nodeps
接着通过gem安装mcollective-client
# gem install mcollective-client # cp /usr/ruby/lib/ruby/gems/2.1.0/gems/mcollective-client-2.5.2/bin/mco /usr/bin/
接下来就是mcollective的控制机和节点机的一些常规配置,这里省略,如果你不清楚的话,可以参考这个链接:http://www.cnblogs.com/waiwofei/p/3698675.html
完成之后就是测试mco是否能正常使用,mco ping可以检查到2个节点机在线
# mco ping node72.puppet.net time=115.32 ms node81.puppet.net time=131.42 ms---- ping statistics ---- 2 replies max: 131.42 min: 115.32 avg: 123.37
# mco inventory node72.puppet.net Inventory for node72.puppet.net:Server Statistics:Version: 2.3.2Start Time: 2014-07-17 10:22:05 +0800Config File: D:\mcollective\etc\server.cfgCollectives: mcollectiveMain Collective: mcollectiveProcess ID: 11040Total Messages: 131Messages Passed Filters: 131Messages Filtered: 0Expired Messages: 0Replies Sent: 8Total Processor Time: 3.338 secondsSystem Time: 0.561 secondsAgents:discovery filesystem puppetregistration rpcutil runcmdData Plugins:agent fstat puppetresourceConfiguration Management Classes:No classes appliedFacts:mcollective => 1
6、mcomaster安装和配置
首先安装redis,mcomaster会使用到,具体查看这里:http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3117997.html
然后下载mcomaster源码,https://github.com/ajf8/mcomaster,解压到/usr/目录
# cd /usr/mcomaster-master/ # gem install bundler # bundle install
上面安装必要的gem包,会需要一些时间,完成后继续
# cp config/application.example.yml config/application.yml # cp config/database.example.yml config/database.yml 下面是初始化数据库,默认是sqlite # RAILS_ENV=production rake db:reset 然后给mcomaster添加使用账号 # RAILS_ENV=production script/add_user.sh -u username -p password -m 'email@domain.com' # rake assets:precompile
接下来我们需要对mcollective做一些配置
在mcollective控制机上执行
# cp mcollective/agent/registration.rb /usr/libexec/mcollective/mcollective/agent/ # cp mcollective/discovery/redisdiscovery.* /usr/libexec/mcollective/mcollective/discovery/# vim /etc/mcollective/client.cfg 添加:default_discovery_method = redisdiscovery direct_addressing = yesplugin.redis.host = localhost plugin.redis.port = 6379 plugin.redis.db = 0
在mcollective节点机上执行
# cp mcollective/registration/meta.rb /usr/libexec/mcollective/mcollective/registration/meta.rb编辑 server.cfg 添加 plugin.redis.host = (mco控制机ip) plugin.redis.port = 6379 plugin.redis.db = 0registerinterval = 300 registration = Meta direct_addressing = yes
现在mcomaster应该可以运行起来了
# rails server -e production => Booting Thin => Rails 4.0.0 application starting in production on http://0.0.0.0:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server >> Thin web server (v1.5.1 codename Straight Razor) >> Maximum connections set to 1024 >> Listening on 0.0.0.0:3000, CTRL+C to stop
打开浏览器输入 http://192.168.11.170:3000
转载于:https://www.cnblogs.com/waiwofei/p/3851422.html
mcollective的web控制台---mcomaster搭建相关推荐
- h2 不能访问localhost_SpringBoot2.x系列教程44--H2数据库详解及搭建Web控制台
SpringBoot2.x系列教程44--H2数据库详解及搭建Web控制台 作者:一一哥 我在上一章节中讲解了Spring Boot中整合Mybatis,接下来我给大家介绍一款内存数据库--H2. H ...
- 空服务器安装linux,debian服务器linux服务器web建站搭建linux服务器之Debian安装
debian服务器linux服务器web建站搭建linux服务器之Debian安装 原文来自i火吧 大家都知道linux的发行版本很多,有centos啊,debian啊,ubuntu等,下面我就用de ...
- windows server 2008 (五)web服务器的搭建和部署
Windows server 2008 web服务器的搭建和部署 相对于windows server 2003的IIS6来说,windows server 2008推出的IIS7.0为管理员提供了统一 ...
- breed web控制台——新路由3 newifi-d2 刷breed web控制台教程
基本概念 breed web控制台:Bootloader 意思为引导加载器,即为用于加载操作系统的程序.它是一大类此类功能程序的统称.现在的 BIOS.UEFI.GRUB.RedBoot.U-Boot ...
- Lync server 2013 之office web apps server 搭建步骤
office web apps server 搭建步骤: 一. .NET Framework 4.5 节点下的HTTP 激活 .NET Framework 3.5 Windows Identity F ...
- 学习笔记:部署趋势科技企业安全无忧版——服务器端和web控制台的安装(一)...
测试平台W2K3E SP2+VM6.5 本文将学习以下内容: 1. 采用定制安装的方法安装企业安全无忧版 2. Web控制台管理界面介绍 在安装的过程中,主要注意三个方面的内容:安全管理服务器.web ...
- Ignite Web 控制台(使用官方免费部署的控制台)
前提: 假设已安装ignite,并且安装路径为:/usr/apache-ignite-fabric-2.1.0-bin 1.下载Web Agent 打开链接:https://console.gridg ...
- [Java] Web开发环境搭建 - MyEclipse 篇
Web开发环境搭建 - MyEclipse 篇 在前面,我们讲了使用 Eclipse Java EE 来搭建 Java Web 应用程序开发环境. 现在来说下比较流行的 MyEclipse 又是如何搭 ...
- Mercurial 版本控制服务器(Web Server)的搭建
关于 Mercurial 的简介和基本操作,请参见小G的随笔<Mercurial(Hg)基本操作>. 我不再赘述 Mercurial 的各种让人振奋的特性,上一篇中我们提到了使用第三方版本 ...
最新文章
- 说出一些数据库优化方面的经验?
- Linux从零开始(三、命令图解)
- GLSL Optimizer
- 【Hbase】报错org.apache.hadoop.hbase.RegionTooBusyException
- C语言的很吊的printf-----来自一个C语言竞赛题目
- Android 小组件完整案例
- JSP标准标签购物车项目
- 新联想ISG聚焦新IT,全要素推进企业智能化转型
- 商家APP店内点餐开启有桌台点餐模式
- 什么是平行样?怎么做?最大允许偏差是多少? 测量和其评定方法 ?
- 5点促进软件外包转型升级
- Ubuntu出现System policy prevents modification of network settings for all users该怎么解决
- 杂谈---一个项目经理的自我反省
- MySQL数据库比较工具 - mysqldbcompare
- JavaScript对象的键值对
- Sass扫码点餐源码 单门店多门店餐饮连锁扫码点餐外卖自提系统源码
- 语音识别技术基础理解
- 【名字无关紧要,实战才是唯一】——吾神·娜迦卡布洛斯
- 宝真酒业:借助用友U8cloud数智化转型,小集团也能“小而美”
- 小程中的web-view缓存问题
热门文章
- webpack中hash、chunkhash、contenthash
- 电梯java_基于Java的电梯系统
- mysql删除注册表mysqld要删除吗_原神官方删除魈的观测枢数据,又要拆分机制吗?策划应该不傻吧?...
- WebPack配置文件抽离存放
- 微会显示服务器当前线路忙,免费电话之争:触宝电话/微会谁更强
- AWS服务器可以设置虚拟ip吗,《AWS云计算实战》3.使用虚拟服务器:EC2
- html5中点击后不发生变化_魔道祖师中资深粉一看就明白的梗,路人见到后都反应不过来...
- 小程序表单提交,服务端推送模板消息通知
- Jfinal中Cron4jPlugin使用
- promotion failed 和 Concurrent Mode Failure的区别