Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mcollective Talk

Mcollective Talk

A Mcollective talk i gave at Sydeney Devops

Avatar for Stephen Johnson

Stephen Johnson

March 20, 2013
Tweet

More Decks by Stephen Johnson

Other Decks in Technology

Transcript

  1. What is it • Framework for system management (getting stuff

    done) • Orchestration • Real time interrogation Wednesday, 20 March 13
  2. Luke Kaynes •“MCollective is like a chainsaw, taped to a

    chainsaw, swinging in the air. Wednesday, 20 March 13
  3. What can it do • System Discovery • Task execution

    • Inventory Collection • Configuration / Package management (Puppet) Wednesday, 20 March 13
  4. So why is it cool • No centralized inventory (real

    time) • Super scale • Framework for creating more stuff • Asynchronous Wednesday, 20 March 13
  5. How • One client • Provides data • executes tasks

    • applies filters Wednesday, 20 March 13
  6. Build blocks • Mcollective • Message Que • RPC •

    Client • Topic • Middleware • Server • Broker • Agent Wednesday, 20 March 13
  7. What does that mean • Sender • Receiver • Request

    - message • Message transfer (Activemq) • Response - message Wednesday, 20 March 13
  8. Example • Client(Sender) -> Middleware (ActiveMq) - > Server (Agent)

    • Example • mco ping --with-fact Kernel=linux • Facter is used • All machines receive the message Wednesday, 20 March 13
  9. What is activemq • Data store that you can write

    and read from • Like email • You subscribe to a topic Wednesday, 20 March 13
  10. Mcollective • The software than uses the middleware • Agent

    performs operation based on the message Wednesday, 20 March 13
  11. Client • Process running on your server • Has many

    agents to perform commands • Send the output back to the client • Mcollective has in build filtering Wednesday, 20 March 13
  12. Agents cont • You can write agents • SimpleRPC (Framework)

    • Written in ruby Wednesday, 20 March 13
  13. Running an agent • mco rpc (agentname) (action) --with-fact (factname)

    = (value) • mco rpc nrpe runcommand command=check-load --with-fact kernel=linux Wednesday, 20 March 13
  14. NRPE Mcollective mco rpc nrpe runcommand command=check-load --with-fact kernel=linux  *

     [  ============================================================>  ]  3  /  3 Finished  processing  3  hosts  in  329.93  ms                            OK:  3                  WARNING:  0                CRITICAL:  0                  UNKNOWN:  0 }}} Wednesday, 20 March 13
  15. By  default  it  only  shows  the  problems: {{{ %  mco

     nrpe  check_disks  *   [   ============================================================>   ]  43  /  43 your.box.net                                            status=CRITICAL Finished  processing  43  hosts  in  439.98  ms                            OK:  42                  WARNING:  0                CRITICAL:  1                  UNKNOWN:  0 }}} Wednesday, 20 March 13
  16. To  see  all  the  statusses: {{{ %  mco  nrpe  -­‐W

     /dev_server/  check_load  -­‐v Determining  the  amount  of  hosts  matching  filter  for  2  seconds  ....  3  *  [  ============================================================>  ]  3  /  3 dev1.your.net                                            status=OK        OK  -­‐  load  average:  0.00,  0.00,  0.00           dev2.your.net                                            status=OK        OK  -­‐  load  average:  0.00,  0.00,  0.00           dev3.your.net                                            status=OK        OK  -­‐  load  average:  0.00,  0.00,  0.00           -­‐-­‐-­‐-­‐  check_load  NRPE  results  -­‐-­‐-­‐-­‐                      Nodes:  3          Pass  /  Fail:  3  /  0            Start  Time:  Tue  Dec  29  22:24:10  +0000  2009    Discovery  Time:  2006.46ms            Agent  Time:  334.85ms            Total  Time:  2341.31ms Nagios  Statusses:                            OK:  3                  WARNING:  0                CRITICAL:  0                  UNKNOWN:  0 Wednesday, 20 March 13
  17. Orchestration • We want to upgrade our server to x

    version of the software • If its all good then we upgrade more Wednesday, 20 March 13
  18. Problem • Find the loadbalancers • Find the webservers in

    the cluster • Make sure the loadbalancers are alive • Mark the webserver as down • Upgrade the application • Use nrpe to make sure its all good • Mark the webservers as alive • Rinse and repeat Wednesday, 20 March 13