Utilisation de la RAM ◦ I/O Disque • Métriques service ◦ Nombre de requêtes SQL ◦ Cache hits et misses • Métriques applicatives ◦ Nombre d’inscription ◦ Durée de génération d’une page
• Différents agrégats ◦ Somme ◦ Moyenne ◦ Max ◦ Min ◦ 90th percentile • Utilisable pour réduire le stockage ◦ Toutes les minutes, maintenant à 1 semaine ◦ Toutes les 15 minutes, 1 semaine à 1 mois ◦ Toutes les heures, 1 mois à 6 mois ◦ Tous les jours de 6 mois à ...
une expression régulière : 2016-01-14 12:34:32 boston-01: User “alice” connected to the application from IP 12.34.56.78 On obtient une table de données : Date 2016-01-14 Time 12:34:32 Server boston-01 Event type login Username alice IP 12.34.56.78
: • Time series data • Consolidation dans le temps • Mathématiques • Taille de stockage Nombres Les événements sont bien pour : • Stocker n’importe quel message • Extraire les champs pour indexation/requêtage Texte
collectd • Plugins pour les métriques système et service : CP, RAM, load average, réseau, MySQL, Apache, AMQP, Carbon, Température CPU, Système de fichiers, Disque, IRQ, NFS, PostgreSQL, Syslog, MongoDB, Redis, Nombre de fichiers, … • Vous pouvez ajouter des métriques personnalisées en utilisant le plugin Exec Envoie toutes les métriques au stockage
Zabbix • Des agents pour collecter • Un appli Web pour être alerté • Push par Mail/SMS/autre • Extraction complète de métriques ◦ Métriques système ◦ Métriques des services ◦ Appels à distance
temporiser les envois de métrique • Beaucoup de backends disponibles • Supporte différents types de métriques ◦ Counters (+1, +3, +2) ◦ Sampling ◦ Gauges (200, +3, -2) • Un protocole UDP très simple • Envoie les métriques toutes les X secondes • Optimise la performance des applications
quoi, mesurez tout • 3 niveaux : ◦ Système : Le système Debian/Archlinux/whatever que vous utilisez ◦ Services : Apache, MySQL, Docker, Nginx, Redis, … ◦ Applications : Votre application PHP How to Measure Anything: Finding the Value of Intangibles in Business By Douglas W. Hubbard
◦ Load average ◦ Disque libre • Erreurs système et services ◦ Erreurs syslog ◦ Status HTTP >= 500 • Comportement utilisateur ◦ Utilisation des fonctionnalités ◦ Nombre d’inscriptions ◦ Nombre de pages vues
c’est mieux d’être alerté • Définissez des règles, soyez notifié quand une règle n’est pas respectée • Ne mettez pas vos alertes à 95% : si votre système de fichier est rempli à 95%, votre système est déjà en souffrance ◦ Préférez 60% • Traiter un problème avant qu’il ne survienne évite de faire une récupération sur erreur • Les règles d’alerte peuvent être complexes ◦ En heures ouvrées, on envoie un mail ◦ Sinon, on envoie un SMS au téléphone du responsable IT ◦ Si le responsable est en vacances, on envoie à son backup
peut l’utiliser • Extraction de champ à la volée ◦ Interface Web pour configurer • Langage de requête puissant : ◦ index=apache sourcetype=frontend | timechart count BY host ◦ index=apache sourcetype=frontend host=auchan.fr | stats avg(response_time) BY path • Éditeur de graphe puissant • Data models → Tableaux croisés dynamiques pour le métier
application • Surveillez vos composantes métier critiques • Créez des tableaux de bord décisionnels • Alertez vous à 60%, pas à 95% • Si vous avez de l’argent, achetez Splunk