le monitoring à l'heure de devops et big data

Post on 28-Nov-2014

1.197 Views

Category:

Data & Analytics

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Présentation donnée au Breizhcamp le 23 juin 2014 Le monitoring d'applications ... pas vraiment hype comme sujet. Et pourtant c'est un domaine en mutation parce que le déploiement continu et la démarche DevOps modifient les échanges d'informations avec la production et aussi parce qu'il est maintenant possible stocker massivement les informations collectées. Je vous propose d'explorer ces sujets autour de quelques exemples.

TRANSCRIPT

@cfalguiere#breizhcamp

Le monitoring à l’heure de DevOps et BigDataClaude FalguièreBreizhCamp 2014

1

@cfalguiere#breizhcamp

monitoring

monitor

Surveiller

AnticiperAméliorer

Information

2

@cfalguiere#breizhcamp

Claude Falguière

coach devops

performances applicatives, Java

Paris JUG et comité de programme Devoxx

Devoxx4Kids France

3

@cfalguiere#breizhcamp

dédicace

de la mesure de la vitesse des galaxie à la découverte de la matière noire

savoir remettre en cause nos modèles mentaux

mesurer correctement

4

@cfalguiere#breizhcamp

monitoring ?

5

@cfalguiere#breizhcamp

monitoring ?

A - Qu’est ce que c’est ?

B - C’est le problème de la production

C - Mais c’est quoi ces logs de merde !

D - Oh non ! ça va tuer les perfs

E - Je veux en faire quand je serai grand

F - Lean Startup

6

@cfalguiere#breizhcamp

devops

surveillance

alerte

audit

7

@cfalguiere#breizhcamp

lean startupbuild

measure learn

continuous improvement

8

@cfalguiere#breizhcamp

big data

user experience -> performancecatégorisation, segmentation

tests d’hypothèse, A/B testing

9

@cfalguiere#breizhcamp

measure everything

décider sur la base de faits et de mesure

10

@cfalguiere#breizhcamp

user stories

surveiller

alerter

auditer

anticiper

améliorer

11

@cfalguiere#breizhcamp

SLA, exigences techniques

quelles sont les contraintes

quels sont les risques

critère de succès = indicateur

12

@cfalguiere#breizhcamp

du relevé à l’informationnombre

mesure

métrique

indicateur

information

compréhension

+ unité

+ contexte

+ range

+ description

+ lecteur

13

@cfalguiere#breizhcamp

on s’y met

14

@cfalguiere#breizhcamp

quoi

Surveiller

Alerter

Auditer

Prévoir

Améliorer

la présence

l’usage

les ressources qui peuvent être une limite

physique : CPU, mémoire, disque, réseau...

configurable : pools, queues, caches

les autres

les erreurs

15

@cfalguiere#breizhcamp

quoi ce qui améliore la compréhension du processus

répartition du temps

masses et répétitions

parcours utilisateur

contexte

écouter les utilisateurs, les ops, les devs

écouter les données

Surveiller

Alerter

Auditer

Prévoir

Améliorer

16

@cfalguiere#breizhcamp

anticiper

warnings

seuils

trends et capacity planning

baseling

CEP (complex event processing)

17

@cfalguiere#breizhcamp

proactivité

design for failure

auto-adaptation

resilience

18

@cfalguiere#breizhcamp

flexibilité

collecte unique

restitutions multiples

la production

le dev

le business

19

@cfalguiere#breizhcamp

sous quelle forme

taux / valeur

relatif / absolu

unité

à quel endroit

périodicité

20

@cfalguiere#breizhcamp

échantillonnage

perte d’informations

à la prise de mesure

agregation / compactage

à la restitution

21

@cfalguiere#breizhcamp

dashboard

activité et destinataire

niveau de synthèse

rapprochement

prochaine action

22

@cfalguiere#breizhcamp

validation du monitoring

représentativité

fiabilité et cohérence

compréhension par le destinataire

réponse adaptée

23

@cfalguiere#breizhcamp

les outils

24

@cfalguiere#breizhcamp

les logs

framework (Log4j, ...)

non bloquants

compréhensibles par le destinataire

25

@cfalguiere#breizhcamp

comment irriter un Ops ?1 Go de logs par jour

plusieurs formats dans le même fichier

et ça :2013-12-17 05:53:16,208 INFO [org.jboss.mail.MailService] (main) Mail Service bound to java:/Mail2013-12-17 05:53:16,247 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Real: name=vfsfile:/opt/jboss/jbepp-51/profiles/fr-si-ba-a/custom-deploy/oneweb-fr-bas/oneweb-fr-ear-service.xml state=PreReal mode=Manual requiredState=Realorg.jboss.deployers.spi.DeploymentException: Error deploying: jboss:type=Service,name=OneWebSystemProperties at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:118) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46) at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)

26

@cfalguiere#breizhcamp

les sondes

périodicité

contentions accidentelles

continuité

27

@cfalguiere#breizhcamp

fonctionnement

AppAlerting

Logs

Analyseurde logs

Opérateur

Sonde

28

@cfalguiere#breizhcamp

alerting

Nagios, Zabbix, Patrol, ...

Agrégration d’alertes

Diffusion sur différent médias

Escalades

29

@cfalguiere#breizhcamp

gestion de logs

Syslog-ng

Apache Flume

Logstash (Elastic Search)

Splunk

30

@cfalguiere#breizhcamp

fonctionnement

App

Alerting

Logs

Analyseurde logs

OpérateurCollecte

HistorisationSonde

31

@cfalguiere#breizhcamp

historisation / graphing

RRD Tools

Whisper et Graphite

Elastic Search et Kibana

Datomic

32

@cfalguiere#breizhcamp

profilage et diagnostic

Sondes spécifiques

VisualVM

JAMon, Java Melody

Introscope, New Relic

AppDynamics

...

33

@cfalguiere#breizhcamp

vers le BI et au delà

suivi de la qualité, de l’usine logicielle, de l’expérience utilisateur, du time to market du projet

utilisation des mêmes outils statistiques ou de reporting

34

@cfalguiere#breizhcamp

conclusion

design for failure

identifiez les user stories de monitoring

confrontez vos mesures à la réalité

35

top related