Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mcollective Talk
Search
Stephen Johnson
March 20, 2013
Technology
0
74
Mcollective Talk
A Mcollective talk i gave at Sydeney Devops
Stephen Johnson
March 20, 2013
Tweet
Share
More Decks by Stephen Johnson
See All by Stephen Johnson
Exported Configs == Better Puppet
stephenrjohnson
0
410
Introduction to Puppet
stephenrjohnson
0
95
Failing the correct way
stephenrjohnson
1
54
Love/Hate Puppet Melbourne
stephenrjohnson
2
430
Other Decks in Technology
See All in Technology
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
330
OpenCensusと歩んだ7年間
bgpat
0
330
DMARCは導入したんだけど・・・現場のつぶやき 〜 BIMI?何それ美味しいの?
hirachan
1
160
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
0
480
MCP サーバーの基礎から実践レベルの知識まで
azukiazusa1
14
7.5k
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
110
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
260
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
300
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
6
2.4k
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
820
AI時代に必要なデータプラットフォームの要件とは by @Kazaneya_PR / 20251107
kazaneya
PRO
4
660
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
690
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
4 Signs Your Business is Dying
shpigford
186
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
GitHub's CSS Performance
jonrohan
1032
470k
Into the Great Unknown - MozCon
thekraken
40
2.1k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
How GitHub (no longer) Works
holman
315
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Being A Developer After 40
akosma
91
590k
Transcript
Marionette Collective The awesomeness that is Wednesday, 20 March 13
What is it • Framework for system management (getting stuff
done) • Orchestration • Real time interrogation Wednesday, 20 March 13
Luke Kaynes •“MCollective is like a chainsaw, taped to a
chainsaw, swinging in the air. Wednesday, 20 March 13
What can it do • System Discovery • Task execution
• Inventory Collection • Configuration / Package management (Puppet) Wednesday, 20 March 13
So why is it cool • No centralized inventory (real
time) • Super scale • Framework for creating more stuff • Asynchronous Wednesday, 20 March 13
How • One client • Provides data • executes tasks
• applies filters Wednesday, 20 March 13
Build blocks • Mcollective • Message Que • RPC •
Client • Topic • Middleware • Server • Broker • Agent Wednesday, 20 March 13
What does that mean • Sender • Receiver • Request
- message • Message transfer (Activemq) • Response - message Wednesday, 20 March 13
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
What is activemq • Data store that you can write
and read from • Like email • You subscribe to a topic Wednesday, 20 March 13
Mcollective • The software than uses the middleware • Agent
performs operation based on the message Wednesday, 20 March 13
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
Agents cont • You can write agents • SimpleRPC (Framework)
• Written in ruby Wednesday, 20 March 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
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
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
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
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
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
The code Wednesday, 20 March 13