<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 使用 MCollective **Marionette Collective**(簡稱為 **MCollective**)是一個系統管理工具。 MCollective 可以在大量服務器上并行運行命令,它采用廣播架構, 所以,你可以使用它管理一個大型網絡而不需要一個中央主服務器或資產數據庫。 每臺服務器都運行一個 MCollective 守護進程監聽請求,并在本地執行命令或返回有關服務器的信息。 這也可以用來過濾目標服務器列表。 例如,你可以使用 MCollective 在符合特定條件的所有服務器上執行給定的命令。 你可以考慮將 MCollective 作為 Puppet 的一個補充(盡管它也可以與 Chef 或其他配置管理系統協同工作)。 例如,你配置一個新節點的過程可能需要改變其他機器上的防火墻配置,對數據庫服務器授予適當的權限,等等。 這僅使用 Puppet 是不太容易做到的。雖然你可以使用 Shell 腳本和 SSH 自動化執行特定的工作, 但是 MCollective 提供了解決這個普遍問題的強大而靈活的方式。 #### 準備工作 1. MCollective 使用 ActiveMQ 消息代理框架(實際上,可以使用任何 STOMPcompliant 中間件, 但 ActiveMQ 是一個受歡迎的選擇), ActiveMQ 需要 Java 運行環境, 如果你的系統還沒有安裝 Java,先安裝它: ``` # apt-get install gcj-4.4-jre-headless ``` 2. 到 ActiveMQ 下載頁面 [http://activemq.apache.org/download.html](http://activemq.apache.org/download.html) 下載 “Unix 發布” 最近的穩定版 tar 包。 3. 安裝 stomp gem : ``` # gem install stomp ``` 4. 到 [http://www.puppetlabs.com/misc/download-options/](http://www.puppetlabs.com/misc/download-options/) 下載 MCollective 最近的穩定版 .deb 包。 5. 安裝已下載的 .deb 包: ``` # dpkg -i mcollective_1.0.1-1_all.deb mcollective-client_1.0.1-1_ all.deb mcollective-common_1.0.1-1_all.deb ``` 6. 從 MCollective 的下載頁面下載與 .deb 版本相同的 tar 包 (因為其中包含了 ActiveMQ 配置文件樣例)。 7. 編輯 MCollective 的 server.cfg 文件: ``` # vi /etc/mcollective/server.cfg ``` 8. 將參數 plugin.stomp.host 設置為你的服務器名(即你運行 ActiveMQ 的服務器): ``` plugin.stomp.host = cookbook.bitfieldconsulting.com ``` 9. 對 MCollective 的 client.cfg 文件做同樣的設置: ``` # vi /etc/mcollective/client.cfg ``` 10. 解壓縮 MCollective 的 tar 包并復制 ActiveMQ 的配置文件樣例到 /etc/mcollective: ``` # tar xvzf mcollective-1.0.1.tgz # cp mcollective-1.0.1/ext/activemq/examples/single-broker/activemq.xml \ /etc/mcollective ``` 11. 編輯這個配置文件設置 mcollective 用戶的口令與 server.cfg 中的相同: ``` # vi /etc/mcollective/activemq.xml ``` 12. 解壓縮 ActiveMQ 的 tar 包,用指定的配置文件啟動 ActiveMQ 的服務: ``` # tar xvzf apache-activemq-5.4.2-bin.tar.gz # apache-activemq-5.4.2/bin/activemq start xbean:/etc/mcollective/ activemq.xml INFO: Using default configuration (you can configure options in one of these file: /etc/default/ activemq /root/.activemqrc) INFO: Invoke the following command to create a configuration file bin/activemq setup [ /etc/default/activemq | /root/.activemqrc ] INFO: Using java '/usr/bin/java' INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details INFO: pidfile created : '/root/apache-activemq-5.4.2/data/ activemq.pid' (pid '3322') ``` 13. 啟動 MCollective 的服務: ``` # service mcollective start Starting mcollective: * ``` #### 操作步驟 1. 使用如下命令檢查 MCollective 和 ActiveMQ 是否啟動且正常運行: ``` # mc-ping cookbook time=68.82 ms ---- ping statistics ---- 1 replies max: 68.82 min: 68.82 avg: 68.82 ``` 2. 如果未看到任何結果輸出,檢查 mcollectived 守護進程是否已運行,并檢查用于 ActiveMQ 的 Java 進程是否已運行。 3. 針對你的機器運行 mc-inventory 查看 MCollective 知道的關于 cookbook 機器的信息: ``` # mc-inventory cookbook Inventory for cookbook: Server Statistics: Version: 1.0.1 Start Time: Mon Mar 07 11:44:53 -0700 2011 Config File: /etc/mcollective/server.cfg Process ID: 4220 Total Messages: 14 Messages Passed Filters: 6 Messages Filtered: 5 Replies Sent: 5 Total Processor Time: 0.8 seconds System Time: 0.47 seconds Agents: discovery rpcutil Configuration Management Classes: Facts: mcollective =&gt; 1 ``` 4. 通過在 /etc/mcollective/facts.yaml 中添加如下的代碼片段為服務器創建一個新的自定義 fact: ``` purpose: webserver ``` 5. 現在使用 MCollective 查找所有匹配這個 fact 的機器: ``` # mc-find-hosts --with-fact purpose=webserver cookbook ``` #### 工作原理 **MCollective** 是一個廣播框架;當你發出一個像 mc-find-hosts 這樣的請求時, MCollective 就為所有請求的客戶端發送消息:“有沒有客戶匹配這個過濾器呀?” 所有匹配過濾器的客戶端都會發送一個回復,MCollective 會將這些回復收集到一起并為你輸出這些信息。 你可以為特定的任務安裝大量的插件和代理(例如,運行 Puppet)。 這些插件和代理都是安裝在客戶端上的,MCollective 處理發送命令到所有匹配機器所涉及的通信, 并整理勘校其任何結果。 #### 更多用法 盡管我們只涉及了使用 MCollective 的一些基本步驟,但是它顯然是一個功能強大的工具, 它既可以收集有關服務器的信息,也可以通過選擇 fact 針對一個服務器列表執行命令。 例如,你可以獲得一個過去 24 小時沒有運行 Puppet 的機器列表。 又如,你可以對所有 Web 服務器或所有 x86_64 架構的機器執行一系列動作。 MCollective 本身只為這類應用提供了一個框架。對于不同的應用有各種各樣的插件可用, 而且編寫自己的插件也是很容易的。在下面的例子中,我們將使用 package 插件,此插件允許你查詢和操作包。 ##### 安裝 MCollective 插件 1. 從 GitHub 克隆 MCollective 插件倉庫: ``` # git clone https://github.com/puppetlabs/mcollective-plugins.git ``` 2. 復制插件文件到適當的目錄: ``` # cd mcollective-plugins # cp agent/package/mc-package /usr/bin # cp agent/package/puppet-package.rb \ /usr/share/mcollective/plugins/mcollective/agent/package.rb # cp agent/package/package.ddl \ /usr/share/mcollective/plugins/mcollective/agent ``` 3. 重新啟動 MCollective: ``` # service mcollective restart ``` 4. 運行 mc-inventory 檢查該插件是否出現在 Agents 列表中: ``` # mc-inventory cookbook Inventory for cookbook: Server Statistics: Version: 1.0.1 Start Time: Tue Mar 08 08:28:29 -0700 2011 Config File: /etc/mcollective/server.cfg Process ID: 6047 Total Messages: 1 Messages Passed Filters: 1 Messages Filtered: 0 Replies Sent: 0 Total Processor Time: 0.04 seconds System Time: 0.02 seconds Agents: discovery package rpcutil Configuration Management Classes: Facts: mcollective =&gt; 1 purpose =&gt; webserver ``` 5. 試著執行 mc-package 命令檢驗如下命令是否正常工作: ``` # mc-package status apache2 Do you really want to operate on packages unfiltered? (y/n): y * [ =========================================================&gt; ] 1 / 1 cookbook version = apache2-2.2.14-5ubuntu8.4 ---- package agent summary ---- Nodes: 1 / 1 Versions: 1 * 2.2.14-5ubuntu8.4 Elapsed Time: 0.58 s ``` package 代理提供了一個強大的方法用于在你的整個網絡(或特定的機器) 上檢查包版本、安裝或更新所需的軟件包。 有關此插件和其他 MCollective 插件的更多細節,請查看 wiki 頁面: [http://projects.puppetlabs.com/projects/mcollective-plugins/wiki](http://projects.puppetlabs.com/projects/mcollective-plugins/wiki) 。 有關 MCollective 的更多信息,請訪問其主頁: [http://docs.puppetlabs.com/mcollective/](http://docs.puppetlabs.com/mcollective/) 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看