12. *
*all stages are identical
*all stages are complete
*one monitoring master/stage
*call it 1:n approach
*1 master
*n nodes
CODE YOUR CONFIG
CLONE YOUR CONFIG
13. *
*stages aren‘t identical
*stages are incomplete
*stages are only implemented via different
monitoring masters
*call it n:m approach
*n master
*m nodes
15. *
*no staging related false alarms
*checks can‘t go amok in production
*configuration is tested properly in prd
*we‘ve talked about this...
*puppet & icinga, exported resources
monitoring configuration is completely described by
puppet
16. *
*stages are only reflected in monitoring masters
*non-prod doesn‘t alarm
*agent configuration is done via
puppet/package/however
*master configuration is done natively
*KISS
CLONE YOUR CONFIG!
20. *
*local operations (on dev-master)
*checkout VCS
*checkin VCS
* remote operations (on prd-master)
*checkout VCS
*VCS operations
*transfer repositories (svn merge/git merge/...)
*operations are wrapped
*directly called for local operations
*puppet exec resources for remote operations
21. *
*checkout VCS
*from which repository?
*use a fact „stage“!
*a monitoring master can only checkout/sync its own stage
repository
*transfer repositories
*from where to where? the workflow knows...
*puppet runs on remote hosts are triggered by
mCollective
*addressing is done via „stage“ fact
22. *
*remote execution framework
*a simple ssh loop won‘t do it...
*message subscribe architecture
*parallel job execution
*a job => mCollective plugin
*ping, service, puppet, your own plugin
*watch out
*mco agent = subscriber
*mco client = message sender
23.
24. *
*each directory is a repository
*??? => monitoring configuration is spread over the
filesystem
*ask cmk --paths
*the assignment dir to repo is configured in
„locations.cfg“
*configuration directories are working copies
28. 1:n n:m
separation complete separation partial separation
transfer
dev2prd
via release management
tools
on request
puppetization
level required
high low
risk low ...a bit more
complexity
(KISS)
high low
configuration via puppet natively