Conférence Shinken à SophiaConf2012 (Jean Gabès)

108
SophiaConf 2012 Jean Gabès

description

Conférence de Jean Gabès à SophiaConf2012 sur Shinken, outil de supervision orienté pour les grands parcs informatiques.

Transcript of Conférence Shinken à SophiaConf2012 (Jean Gabès)

Page 1: Conférence Shinken à SophiaConf2012 (Jean Gabès)

SophiaConf 2012

Jean Gabès

Page 2: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Qui suis-je ?

Jean Gabès

Administrateur système sur Bordeaux,auteur du livre Nagios3 aux éditions Eyrolleset de Shinken

Page 3: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Pourquoi superviser ?

Page 4: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Quand l'IT va mal, le business va mal...

Page 5: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 6: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ou voire pire....

Page 7: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 8: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Pour sauver le monde business :Les outils de supervision !

Page 9: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Bon il y en a pleins...

Page 10: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Concernant la supervision pure IT, Nagios™® est la référence de ces 10 dernières années ...

Page 11: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Concernant la supervision pure IT, Nagios™® est la référence de ces 10 dernières années ...

Page 12: Conférence Shinken à SophiaConf2012 (Jean Gabès)

… grâce à beaucoup de modules

Page 13: Conférence Shinken à SophiaConf2012 (Jean Gabès)

● Mod_gearman : Distribution de la charge sur le LAN● LiveStatus : accès aux données● Thruk/Multisite/NagVis : vue temps-réel● PNP, Graphite : graphiques

Page 14: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et des plugins de supervisions

$ check_disks -w 90% -c 95%Disks OK | /=50% /var=80% /data=35%

$ echo $?0

Page 15: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Plugins & modularité sont bien !

Page 16: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Mais si ce n'était plus suffisant ?

Page 17: Conférence Shinken à SophiaConf2012 (Jean Gabès)

L'IT grossit de jours en jours

Page 18: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Avec plein de couches (physique, réseaux, virtuel, …)

Page 19: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Rempli de clusters

Page 20: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et de sites distants

Page 21: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Difficultés classiques dans la supervision IT● Trop de charge● Gestion de la configuration● Perte de site distant ?● Haute disponibilité

Page 22: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Architecture idéale

Page 23: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Oui vous pouvez bricoler autour d'un Nagios™® pour cela ...

Page 24: Conférence Shinken à SophiaConf2012 (Jean Gabès)

… ou vous pouvez juste utiliser Shinken :)

Page 25: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Shinken est une réécriture complète de Nagios™® (C) en Python

Page 26: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Attendez ! Python c'est lent !

Ok, on bench. Xeon [email protected], 12Go ram, dummy check

Page 27: Conférence Shinken à SophiaConf2012 (Jean Gabès)

(en nombre max de checks en 5min)

● Nagios 3 (C) <=> icinga 1.6 (C) = 30K● Centreon-engine (C) = 25K● Shinken = 120K

Page 28: Conférence Shinken à SophiaConf2012 (Jean Gabès)

De grandes possibilités d'architecture

Page 29: Conférence Shinken à SophiaConf2012 (Jean Gabès)

De grandes possibilités d'architecture

Page 30: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Les soucis de supervision IT sont réglés, mais quid des problèmes des admins de 2012 ?

Page 31: Conférence Shinken à SophiaConf2012 (Jean Gabès)

La virtualisation est partout

Page 32: Conférence Shinken à SophiaConf2012 (Jean Gabès)

(OK peut être moins dans le futur avec la nouvelle politique de licence d'ESX5...)

Page 33: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Si un ESX crash, vous n'avez pas envie de recevoir 20+ alertes pour les VM dessus !

Page 34: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Que l'alerte de l'ESX. Simple : dépendance d'hôte :)

Page 35: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Mais les admins Vmware sont des personnes étranges

Page 36: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ils « VMotion » des VMs aussi souvent qu'un codeur Perl tapes $_

Page 37: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Donc oubliez la configuration en fichiers plats manuels :)

Page 38: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ils suffit d'utiliser le module Vmware™® pour Shinken

Page 39: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 40: Conférence Shinken à SophiaConf2012 (Jean Gabès)

OK, et si on s'attaquait a l'un des pires soucis des admins ?

Page 41: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Pas la pénurie de café/bière...

Page 42: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Les fausses alertes !

Page 43: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Exemple : une erreur critique sur de la qualification, est-ce vraiment si critique ?

Page 44: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Cas réel : un switch de production casse une application de qualification

Page 45: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Est-ce que l'on doit réveiller le pauvre admin à 3h du mat pour ça ?? Non !

Page 46: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Se concentrer sur l'analyse des problèmes sources, et l'impact au niveau « business » des

applications

Page 47: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 48: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 49: Conférence Shinken à SophiaConf2012 (Jean Gabès)

La différence entre problèmes sources et impacts est centrale dans Shinken

Page 50: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et entre les niveaux d'importances business, plus que juste warning/critical

Page 51: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ok pour les alertes. Mais quid des interfaces graphiques ?

Page 52: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Shinken WebUI :● Problèmes sources & impacts sur des vues différentes● TOUT est trié suivant l'importance business● Visualisation des dépendances sous forme d'arbres et de graphes● HA et agrégation de données● Pas de base de données !

Page 53: Conférence Shinken à SophiaConf2012 (Jean Gabès)

● Très “visuelle” ● HTML5 (désolé pour IE6...)● Limitation (volontaire...) des informations affichées● Modulaire (PNP, graphite)● Même votre boss va la comprendre...

Page 54: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Deux types d'utilisateurs (incompatibles)● Responsables : visualisation des impacts sur les applications end-users (et pourquoi elles sont tombées)● Admins : visualisation des éléments IT qui sont les problèmes sources

Page 55: Conférence Shinken à SophiaConf2012 (Jean Gabès)

● Vues Problèmes sources VS impacts● Personne ne veux voir les deux● Le tout trié suivant l'importance métier

Page 56: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 57: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Vue du responsable

Page 58: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Vue d'un administrateur

Page 59: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et si l'admin veut voir pourquoi c'est si important...

Page 60: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Les deux vont comprendre un graphe

Page 61: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et chacun peut avoir SON dashboard

Page 62: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et sa version « mobile »

Page 63: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 64: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Demo : http://demo-shinken.web4all.fr/

Page 65: Conférence Shinken à SophiaConf2012 (Jean Gabès)

OK, on voit seulement ce que l'on souhaite voir. Bien.

Page 66: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Mais une lourde tâche reste : rajouter nos serveurs dans l'outil!

Page 67: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Les templates de configuration de Nagios™® sont indispensables!

Page 68: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Mais pas suffisant. Il reste encore trop d'éléments à définir

Page 69: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Shinken permet d'accrocher des vérifications par des expressions complexes du genre « Linux&Prod »

Page 70: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ceci permet de n'avoir qu'à « tagger » ses machines au lieu de multiplier les groupes et sous groupes de serveurs

Page 71: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Dans Nagios™®, on considère que 80% de la configuration consiste en l'écriture des services.

Page 72: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Shinken propose des solutions pour limiter fortement ces 80%.

Page 73: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Exemple : clé duplicate_foreachGénère un service par “propriété” d'un hôte.

Page 74: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Define host{

host_name srv-lin-1

Use linux

_disks /, /var, /data

}

Define service {

host_name linux

Register 0

Description Disk $KEY$

check_command check_disk!$KEY$

}

Page 75: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Fait prouvé : un bon informaticien est fainéant

Page 76: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Fait sûrement vrai : les admins sont de bons informaticiens!

Page 77: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Un admin préfère éviter de :● Écrire un plugin de 0● Tagger manuellement ses machines● Écrire la configuration de nouveaux types de serveurs/applications

Page 78: Conférence Shinken à SophiaConf2012 (Jean Gabès)

● Plugins : Merci Monitoring-exchange.org! ● Tagging : merci skonf discovery● Nouvelle configuration : merci les packs Shinken

Page 79: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Pourquoi tagger manuellement ses serveurs quand on peut juste écrire des règles pour le faire?

Page 80: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Module de découverte de Shinken!

Page 81: Conférence Shinken à SophiaConf2012 (Jean Gabès)

● Runners : scripts qui “scanne” et qui sort des données● Rules : lit les données et génère de la configuration

Page 82: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ex : nmap runner scanne un serveur et exporte des données$ nmap_discovery_runner.py -t localhost

localhost::isup=1localhost::os=linuxlocalhost::osversion=2.6.xlocalhost::osvendor=linuxlocalhost::macvendor=hplocalhost::openports=22,80,3306localhost::fqdn=localhostlocalhost::ip=127.0.0.1

Page 83: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Exemple de règle qui détecte et tag “linux”define discoveryrule { discoveryrule_name Linux creation_type host

os linux ; what we match +use linux ; what we wrote in the object, here ; append the linux template}

Page 84: Conférence Shinken à SophiaConf2012 (Jean Gabès)

localhost : use ssh,mysql,http,linux

Page 85: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Découverte multi-niveaux :● 1 Si on match une donnée● 2 On lance un nouveau runner● 3 On ré-applique les règles● 4 GOTO 1

Page 86: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ex : découverte des shares Windows

define discoveryrun { discoveryrun_name WindowsShares discoveryrun_command discovery_windows_share

# And scan only windows detected hosts! os windows}

Page 87: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Résultat

define host { host_name win-srv use windows

_shares Work,Public,Private}

Page 88: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Lancement en CLI :shinken-discovery -c etc/discovery.cfg --db Mongodb -m 'NMAPTARGET=localhost'

Page 89: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ou mieux : l'UI sKonf!

Page 90: Conférence Shinken à SophiaConf2012 (Jean Gabès)

sKonf :● UI pour la gestion facile de sa configuration● Découverte ou configuration classique● Gère les paramètres spécifiques de Shinken● Stade Beta avancé

Page 91: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 92: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 93: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 94: Conférence Shinken à SophiaConf2012 (Jean Gabès)
Page 95: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Packs ?

Page 96: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Packs = fichier zip avec tout ce dont vous avez besoin sur un sujet particulier (comme Linux, Windows ou EMC)

Page 97: Conférence Shinken à SophiaConf2012 (Jean Gabès)

● Fichiers cfg (templates, commands, services, discovery, …)● Templates de graphiques (PNP ou Graphite)● Images (pour que votre UI soit jolie :) )● Fichier .pack file (json, descriptif)● Pas (encore) d'installation de plugin

Page 98: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Heu... pourquoi créer un .zip avec tout ça?

Page 99: Conférence Shinken à SophiaConf2012 (Jean Gabès)

● A. Le déplacer dans /dev/null● B. Le partager!● C. Me l'envoyer pour que je lance un outil “open core” comme NagiosXI● D. Obiwan Kenobi

Page 100: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Partager via community.shinken-monitoring.org (démon hostd, disponible dans les sources

Shinken)

Page 101: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Créer un tel fichier zip est aussi facile que de lancer :$ shinken-packs -c -p /path/to/linux.pack

Page 102: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et pour l'envoyer :$ shinken-packs -u -k APIKEY -z /tmp/linux.zip

(une clé api est générée dès que vous êtes enregistrés sur le site)

Page 103: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Et pour les récupérer?

Page 104: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Sur le site :

Page 105: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Ou directement depuis l'UI sKonf :

Page 106: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Depuis sKonf :

Page 107: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Au final ?● L'architecture est adaptable aux grands environnements● Beaucoup d'améliorations par rapport à Nagios™®● La WebUI est géniale, sKonf le sera prochainement● Des triggers à la Zabbix arrivent!(corrélation&KPI)● Lancement de services professionnels autour du projet :)

Page 108: Conférence Shinken à SophiaConf2012 (Jean Gabès)

Merci

Des questions?