Top Banner
SophiaConf 2012 Jean Gabès
108

Jean GABES (Shinken)

Jan 05, 2017

Download

Documents

haquynh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Jean GABES (Shinken)

SophiaConf 2012

Jean Gabès

Page 2: Jean GABES (Shinken)

Qui suis-je ?

Jean Gabès

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

Page 3: Jean GABES (Shinken)

Pourquoi superviser ?

Page 4: Jean GABES (Shinken)

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

Page 5: Jean GABES (Shinken)
Page 6: Jean GABES (Shinken)

Ou voire pire....

Page 7: Jean GABES (Shinken)
Page 8: Jean GABES (Shinken)

Pour sauver le monde business :Les outils de supervision !

Page 9: Jean GABES (Shinken)

Bon il y en a pleins...

Page 10: Jean GABES (Shinken)

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

Page 11: Jean GABES (Shinken)

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

Page 12: Jean GABES (Shinken)

… grâce à beaucoup de modules

Page 13: Jean GABES (Shinken)

● 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: Jean GABES (Shinken)

Et des plugins de supervisions

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

$ echo $?0

Page 15: Jean GABES (Shinken)

Plugins & modularité sont bien !

Page 16: Jean GABES (Shinken)

Mais si ce n'était plus suffisant ?

Page 17: Jean GABES (Shinken)

L'IT grossit de jours en jours

Page 18: Jean GABES (Shinken)

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

Page 19: Jean GABES (Shinken)

Rempli de clusters

Page 20: Jean GABES (Shinken)

Et de sites distants

Page 21: Jean GABES (Shinken)

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

Page 22: Jean GABES (Shinken)

Architecture idéale

Page 23: Jean GABES (Shinken)

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

Page 24: Jean GABES (Shinken)

… ou vous pouvez juste utiliser Shinken :)

Page 25: Jean GABES (Shinken)

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

Page 26: Jean GABES (Shinken)

Attendez ! Python c'est lent !

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

Page 27: Jean GABES (Shinken)

(en nombre max de checks en 5min)

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

Page 28: Jean GABES (Shinken)

De grandes possibilités d'architecture

Page 29: Jean GABES (Shinken)

De grandes possibilités d'architecture

Page 30: Jean GABES (Shinken)

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

Page 31: Jean GABES (Shinken)

La virtualisation est partout

Page 32: Jean GABES (Shinken)

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

Page 33: Jean GABES (Shinken)

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

Page 34: Jean GABES (Shinken)

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

Page 35: Jean GABES (Shinken)

Mais les admins Vmware sont des personnes étranges

Page 36: Jean GABES (Shinken)

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

Page 37: Jean GABES (Shinken)

Donc oubliez la configuration en fichiers plats manuels :)

Page 38: Jean GABES (Shinken)

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

Page 39: Jean GABES (Shinken)
Page 40: Jean GABES (Shinken)

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

Page 41: Jean GABES (Shinken)

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

Page 42: Jean GABES (Shinken)

Les fausses alertes !

Page 43: Jean GABES (Shinken)

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

Page 44: Jean GABES (Shinken)

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

Page 45: Jean GABES (Shinken)

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

Page 46: Jean GABES (Shinken)

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

applications

Page 47: Jean GABES (Shinken)
Page 48: Jean GABES (Shinken)
Page 49: Jean GABES (Shinken)

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

Page 50: Jean GABES (Shinken)

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

Page 51: Jean GABES (Shinken)

Ok pour les alertes. Mais quid des interfaces graphiques ?

Page 52: Jean GABES (Shinken)

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: Jean GABES (Shinken)

● 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: Jean GABES (Shinken)

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: Jean GABES (Shinken)

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

Page 56: Jean GABES (Shinken)
Page 57: Jean GABES (Shinken)

Vue du responsable

Page 58: Jean GABES (Shinken)

Vue d'un administrateur

Page 59: Jean GABES (Shinken)

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

Page 60: Jean GABES (Shinken)

Les deux vont comprendre un graphe

Page 61: Jean GABES (Shinken)

Et chacun peut avoir SON dashboard

Page 62: Jean GABES (Shinken)

Et sa version « mobile »

Page 63: Jean GABES (Shinken)
Page 64: Jean GABES (Shinken)

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

Page 65: Jean GABES (Shinken)

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

Page 66: Jean GABES (Shinken)

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

Page 67: Jean GABES (Shinken)

Les templates de configuration de Nagios™® sont indispensables!

Page 68: Jean GABES (Shinken)

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

Page 69: Jean GABES (Shinken)

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

Page 70: Jean GABES (Shinken)

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

Page 71: Jean GABES (Shinken)

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

Page 72: Jean GABES (Shinken)

Shinken propose des solutions pour limiter fortement ces 80%.

Page 73: Jean GABES (Shinken)

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

Page 74: Jean GABES (Shinken)

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: Jean GABES (Shinken)

Fait prouvé : un bon informaticien est fainéant

Page 76: Jean GABES (Shinken)

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

Page 77: Jean GABES (Shinken)

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: Jean GABES (Shinken)

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

Page 79: Jean GABES (Shinken)

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

Page 80: Jean GABES (Shinken)

Module de découverte de Shinken!

Page 81: Jean GABES (Shinken)

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

Page 82: Jean GABES (Shinken)

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: Jean GABES (Shinken)

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: Jean GABES (Shinken)

localhost : use ssh,mysql,http,linux

Page 85: Jean GABES (Shinken)

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: Jean GABES (Shinken)

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: Jean GABES (Shinken)

Résultat

define host { host_name win-srv use windows

_shares Work,Public,Private}

Page 88: Jean GABES (Shinken)

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

Page 89: Jean GABES (Shinken)

Ou mieux : l'UI sKonf!

Page 90: Jean GABES (Shinken)

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: Jean GABES (Shinken)
Page 92: Jean GABES (Shinken)
Page 93: Jean GABES (Shinken)
Page 94: Jean GABES (Shinken)
Page 95: Jean GABES (Shinken)

Packs ?

Page 96: Jean GABES (Shinken)

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

Page 97: Jean GABES (Shinken)

● 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: Jean GABES (Shinken)

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

Page 99: Jean GABES (Shinken)

● 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: Jean GABES (Shinken)

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

Shinken)

Page 101: Jean GABES (Shinken)

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

Page 102: Jean GABES (Shinken)

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: Jean GABES (Shinken)

Et pour les récupérer?

Page 104: Jean GABES (Shinken)

Sur le site :

Page 105: Jean GABES (Shinken)

Ou directement depuis l'UI sKonf :

Page 106: Jean GABES (Shinken)

Depuis sKonf :

Page 107: Jean GABES (Shinken)

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: Jean GABES (Shinken)

Merci

Des questions?