36
MongoDB en Prod: déploiement et monitoring Juin 2012 MongoDB Day

MongoDB day Paris 2012

Embed Size (px)

DESCRIPTION

Présentation lors du MongoDB Day Paris 2012, par @mathiaskluba sur le déploiement et le monitoring de MongoDB

Citation preview

Page 1: MongoDB day Paris 2012

MongoDB en Prod: déploiement et monitoring

Juin 2012

MongoDB Day

Page 2: MongoDB day Paris 2012

Speakers: §  Mathias Kluba – Fastconnect

§  Twitter @mathiaskluba

§  Loic Dachary – eNovance

Intro: pourquoi Mongo?

2

Page 3: MongoDB day Paris 2012

Pourquoi avoir choisie MongoDB ? §  BigData

§  Linéarité des coups de stockage §  Requêtes riches

§  Agilité §  Time to market: passer rapidement de DEV à PRD

§  Cloud §  La Scalabilité horizontale n’est pas une option,

c’est une obligation

Intro: pourquoi Mongo?

3

Page 4: MongoDB day Paris 2012

Avantage majeur de MongoDB: Scalabilité horizontale §  Sharding

§  distribuer la charge en lecture/écriture §  Replica Set

§  disponibilité / résilience §  distribuer la charge en lecture

Intro: pourquoi Mongo?

4

Page 5: MongoDB day Paris 2012

Mais en pratique, quand on a 15 nœuds… §  Comment déployer le cluster? §  Comment monitorer? Agréger les logs? §  Comment effectuer des opérations de

maintenances sur tous les nœuds?

Introduction

5

Page 6: MongoDB day Paris 2012

6

Déploiement

Page 7: MongoDB day Paris 2012

Déploiement

7

         Infrastructure  

         Middlewares  

         Applica3ons  

Mon

itorin

g  

Déploiement  

API  de  Provisioning  

Déploiement  

Meta  Déploiement  

Scalabilité  dynamique  /  récupéra4on  automa4que  

Page 8: MongoDB day Paris 2012

Plusieurs solutions de déploiement: §  Do it yourself!

§  Scripts shell? §  Template de VM?

§  Chef §  Puppet §  Cloudify §  VMWare App Director §  Windows Azure §  Amazon CloudFormation §  MongoHQ (Mongo As A Service)

Déploiement

8

Page 9: MongoDB day Paris 2012

Chef sur Amazon EC2 §  http://community.opscode.com/cookbooks/mongodb

Démos

9

knife ec2 server create "role[mongod]" -I ami-a29943cb -u ubuntu -i key.pem -N ubuntu-ec2 -f t1.micro -S key --region us-east-1 -Z us-east-1d -G default -d ubuntu12.04-gems

knife bootstrap ec2-12-34-56-0.compute-1.amazonaws.com -x ubuntu -i key.pem --sudo

mongo ec2-12-34-56-0.compute-1.amazonaws.com:27017 initReplicatSet.js

Page 10: MongoDB day Paris 2012

Démos

10

Page 11: MongoDB day Paris 2012

Windows Azure §  http://www.mongodb.org/display/DOCS/MongoDB+on

+Windows+Azure

Démos

11

Page 12: MongoDB day Paris 2012

Puppet et MongoDB §  https://github.com/puppetlabs/puppetlabs-mongodb

Démos

12

Page 13: MongoDB day Paris 2012

Démos

13

Page 14: MongoDB day Paris 2012

Démos

14

Démo: Puppet sur OpenStack Centraliser la configuration puppet §  serveur puppetmaster §  chaque machine un client puppet §  le rôle de la machine dépend d'un fact

Page 15: MongoDB day Paris 2012

Démo: Cloudify sur Amazon EC2 §  3 Replicat Set

Démos

15

Page 16: MongoDB day Paris 2012

16

Monitoring

Page 17: MongoDB day Paris 2012

Outils de base: §  http console §  db.server.status() §  db.stats() §  mongostat

Monitoring

17

Page 18: MongoDB day Paris 2012

Monitoring

18

Page 19: MongoDB day Paris 2012

Monitoring

19

Page 20: MongoDB day Paris 2012

Monitoring

20

Plus?

Page 21: MongoDB day Paris 2012

Monitoring « As a Service »: MMS §  Installation facile §  Outil officiel de 10Gen §  Le support 10Gen peut diagnostiquer

vos logs §  Ne monitore que MongoDB §  Externe à votre infrastructure

Monitoring

21

Page 22: MongoDB day Paris 2012

Monitoring

22

Page 23: MongoDB day Paris 2012

Monitoring « As a Service »: Server Density §  Monitore le système (Windows/Linux/etc.) §  Monitore Mongo de base §  Monitore de nombreuses choses via plugins §  Application iPhone/Android :) §  Externe à votre infrastructure

Monitoring

23

Page 24: MongoDB day Paris 2012

Monitoring

24

Page 25: MongoDB day Paris 2012

Monitoring

25

Page 26: MongoDB day Paris 2012

Monitoring

26

Page 27: MongoDB day Paris 2012

Monitoring

27

Page 28: MongoDB day Paris 2012

Outils de Monitoring OpenSource existants: §  S’intègre à votre SI §  Monitore plus que MongoDB

(OS, Middlewares) §  Reste en interne §  Peut être complexe à installer/configurer

Monitoring

28

Page 29: MongoDB day Paris 2012

Outils de Monitoring OpenSource existants: §  Nagios

§  h<ps://github.com/mzupan/nagios-­‐plugin-­‐mongodb  §  Hyperic

§  h<p://support.hyperic.com/display/hyperforge/MongoDB  

§  Munin §  h<ps://github.com/erh/mongo-­‐munin  §  h<ps://github.com/pcdummy/mongomon  

§  Etc.

Monitoring

29

Page 30: MongoDB day Paris 2012

Exemple de stats Cacti et Munin

Monitoring

30

Page 31: MongoDB day Paris 2012

Exemple de statut avec Nagios + Centreon

Monitoring

31

Page 32: MongoDB day Paris 2012

Outils de Monitoring Pro existants: §  CA Unicenter §  IBM Tivoli / Patrol §  HP OpenView §  ?

Monitoring

32

Page 33: MongoDB day Paris 2012

Outils de Monitoring Pro existants: SNMP?

Monitoring

33

Page 34: MongoDB day Paris 2012

Démo: Monitoring avec Cloudify

Démos

34

Page 35: MongoDB day Paris 2012

35

Questions ?

Page 36: MongoDB day Paris 2012