L'observabilité accessible et facile avec kokilog
Qu'est-ce que Kokilog et l'Observabilité
Kokilog est une solution d'aide à l'analyse et à la décision portant sur tous les événements se déroulant sur votre infrastructure.
Concrètement, les événements importants se déroulant sur l'infrastructure du client sont consolidés puis envoyés sur un stockage dédié et sécurisé. Ces mêmes données sont formatées puis présentées au client via un ensemble de tableaux de bord conçu pour faciliter l'analyse et la prise de décision.
Afin de traiter au plus tôt les événements importants, les plus critiques sont notifiés par e-mail au client.
Laissons à Red Hat le soin de présenter l'Observabilité
Comment se matérialise l'apport de l'Observabilité ?
- une attaque web est-elle en cours ?
- pourquoi mon système, à court de mémoire, tue-t-il aléatoirement les processus MySQL ?
- quelles tâches cron ont échoué la nuit dernière ?
- qui s'est connecté à mon serveur durant les dernières 24 heures et par quel moyen ?
- quel pays ouvre le plus de connexions vers mon site web ?
- mes sauvegardes se sont-elles bien déroulées ?
- mes mails sont-ils bien envoyés ?
- quels sont les temps de réponse min, moyen ou max de mes sites web ces 20 dernières minutes ?
- etc.
Autant de questions auxquelles Kokilog apporte une réponse précise et claire.
L'offre OVH Cloud MIS (Managed Infrastructure Service) et l'Observabilité
Historiquement, l'offre OVH Cloud MIS ne comprenait pas de service d'observabilité : rien ne permettait au client de suivre les performances et les événements liés à ses infrastructures, ni d'en analyser d'éventuels dysfonctionnements. De surcroît, les clients possédant une infrastructure hautement disponible ne pouvaient accéder qu'aux journaux des services du serveur principal, ceux des serveurs secondaires restant inaccessibles faute de pouvoir s'y connecter. Il y avait donc une véritable carence à combler.
La stack LAMP (Linux, Apache, MySQL et PHP) et l'Observabilité
Historiquement, chez les hébergeurs et infogéreurs, l'observabilité de la stack LAMP se limitait, au mieux, à l'accès à des graphiques de performance Grafana ou Munin.
Exceptionnellement, chez les plus chanceux ou fortunés, un Graylog ou Kibana, couplé à Elasticsearch, offrait l'affichage des événements en mode graphique, accompagné d'une recherche par motifs.
La mise en œuvre de filtres et l'envoi étaient au mieux complexes et laborieux : rsyslog ou syslog-ng pour le « parsing » des journaux de services, Logstash avec Grok pour le découpage selon motif. Bref, le problème de l'agrégation, de la présentation et de l'aide à l'analyse restait entier, car loin d'être accessible ou exploitable par le plus grand nombre.
Le stockage onéreux d'Elasticsearch ne participant pas à améliorer la situation.
En contrepoint des offres d'observabilité Kubernetes, nous avons décidé chez Kokiris de proposer une offre d'observabilité complète et adaptée aux stacks dites classiques, telles que la stack LAMP, mais aussi aux écosystèmes plus modernes tels que Docker et ses orchestrateurs.
Loki et Alloy, le couple « Changeur de jeu »
Apparu en 2018, Loki généralisa l'usage du stockage S3 dès 2020 et ouvrit la porte à une agrégation de logs basée sur un stockage abordable, prérequis à une rétention réellement exploitable. Quant au collecteur Alloy apparu en 2024, celui-ci permit la collecte d'événements et métriques, le scraping Prometheus, le découpage et filtrage selon motif et l'envoi des données vers des cibles telles que Loki ou Mimir.
Une observabilité orientée client et taillée sur mesure
Une fois la définition des stacks techniques normalisée et leur déploiement industrialisé, fournir des tableaux de bord adaptés aux métriques et événements liés aux services fut un processus naturel.
Nous avons fait le choix dans un premier temps de fournir des tableaux de bord adossés à chaque service important présent sur le système (ex. Apache, PHP, MySQL) ou présentant un intérêt particulier directement exploitable par le client (ex. Oomkill mémoire, Sécurité des connexions, etc.).
L'offre Kokilog dans le détail
- une analyse agrégée, pratiquement en temps réel, basée sur des dashboards taillés sur mesure
- un mois minimum de rétention des logs
- la possibilité d'archiver en lecture seule une copie des logs
- la possibilité de filtrer sur les événements et critères les plus significatifs ou bien d'effectuer des recherches par mot-clef
- la corrélation des métriques de performances avec les événements extraits des journaux, afin de réaliser une analyse la plus exhaustive possible
- une visibilité nouvelle et complète des services
- des filtres et des dashboards créés par l'équipe technique qui a conçu les stacks d'hébergement et d'infogérance
- un alerting sur les événements d'exploitation les plus critiques (ex. Oomkill, perte d'accès NFS, slow queries MySQL, erreurs critiques Apache et PHP, etc.)
- l'agrégation de l'ensemble des événements communs aux infrastructures du client
- l'ensemble des services déployés sur les serveurs seront représentés dans les tableaux de bord dans un proche avenir
- la mesure site par site des performances Web et le calcul automatique des SLA
- l'export des dashboards
- une solution hautement disponible
- un stockage sécurisé des logs, conforme HDS et ISO (27001, 27017, 27018, 27701)
- la possibilité d'étendre l'analyse aux principales applications clientes (prévu pour fin 2026)
Les services actuellement couverts par Kokilog
Couverture non exhaustive — chaque tableau de bord donne également accès aux logs bruts du service concerné.
Services Web
| Service | Couverture |
|---|---|
| apache | KPIs, erreurs, anomalies, code retour, temps de réponse, localisation géographique, différents top |
| varnish | KPIs, erreurs, anomalies, code retour, temps de réponse, localisation géographique, différents top |
| haproxy | KPIs, erreurs, anomalies, code retour, temps de réponse, codes de traitement, différents top, HA SQL |
| php | KPIs, erreurs, anomalies, événements |
| certbot/Let's Encrypt | KPIs, erreurs, anomalies, événements, domaines, renouvellement |
Exemple de tableau de bord

Bases de données
| Service | Couverture |
|---|---|
| mysql | KPIs, anomalies, slow request, erreur de connexion, de réplication, HA SQL |
| mariadb | KPIs, anomalies, slow request, erreur de connexion, de réplication, HA SQL |
Exemple de tableau de bord

Mail / SMTP
| Service | Couverture |
|---|---|
| postfix | KPIs, anomalies, taille de la file d'attente, statut, taux d'émission, stats de distribution |
Système
| Service | Couverture |
|---|---|
| systemd | KPIs, statistiques, sortie de tous les services et units gérés par systemd |
| cron | KPIs, fréquence, anomalies, commandes, réussite ou échec, identité |
| fail2ban | KPIs, IP bloquée, débloquée, fréquence, localisation |
| sauvegarde | KPIs, statut, anomalies, statistiques et fréquences |
| csync | KPIs, statut, anomalies, éléments synchronisés, en attente ou en échec |
| Kernel | KPIs, erreurs NFS, Oomkill, anomalies, éléments, informations de sécurité système |
Exemple de tableau de bord

Docker et Orchestrateur de conteneurs
| Service | Couverture |
|---|---|
| docker | KPIs, statistiques, anomalies, sortie de tous les conteneurs |
| orchestrateur de conteneur | KPIs, statistiques, anomalies |
| docker nginx | KPIs, statistiques web, anomalies |
| docker traefik | KPIs, statistiques web, anomalies |
| docker Odoo | KPIs, statistiques web, anomalies |
Exemple de tableau de bord

Connexions et déploiement
| Service | Couverture |
|---|---|
| ftp | KPIs, statistiques, anomalies, connexions, éléments transférés, identités, localisation |
| sshd | KPIs, statistiques, anomalies, connexions, identités, localisation |
Exemple de tableau de bord

Panel
| Service | Couverture |
|---|---|
| Plesk | KPIs, statistiques, anomalies, connexions, éléments transférés, identités, localisation, logs |
Autres tableaux de bord (dashboard)
- temps de réponse et code retour par domaine avec calcul de disponibilité (SLA)
- tableau de bord synthétique de sécurité
- détection des dépassements mémoire
Exemple de tableau de bord

Questions Fréquemment Posées
Les anomalies de fonctionnement sont-elles notifiées ?
Oui, uniquement par e-mail — en voici la liste.
Puis-je ajouter des tableaux de bord (dashboard) ?
Les dashboards personnalisés sont prévus pour l'automne 2026.
J'ai un besoin spécifique à couvrir, comment faire ?
Remontez-le-nous afin que nous en étudions la faisabilité.
Quels sont les canaux de notification disponibles ?
Seuls les e-mails sont actuellement disponibles pour les notifications, ajout de canaux probablement prévu pour l'automne 2026.
Comment y souscrire ?
Contactez le commercial Kokiris ou parlez-en au support Kokiris.
Présentation commerciale : https://www.kokiris.com/services/kokilog
Un couplage IA est-il prévu ?
Oui, prioritairement, car le forensic et l'analyse sont des domaines où l'IA est particulièrement utile.
Kokilog vu de l'intérieur
Un schéma valant mille mots :

Déclencheurs et seuils de notification
Ce tableau est susceptible d'être rapidement étoffé.
| Groupe | Alerte | Sévérité | For | Condition (résumé) |
|---|---|---|---|---|
| collecte (5m) | CollecteServiceContinuSilencieux | warning | 10m | Aucune ligne haproxy/apache/systemd depuis 30 min (ou nomad depuis 2 h) |
| collecte (5m) | CollecteServiceQuotidienSilencieux | warning | 30m | Aucune ligne postfix/cron/resticprofile depuis 26 h |
| collecte (5m) | NoeudMuet | critical | 15m | Un hôte émettait des logs systemd il y a 24 h mais plus rien depuis 1 h |
| apache (1m) | ApacheHigh5xxRatio | warning | 10m | Ratio de réponses 5xx > 5 % sur 5 min |
| apache (1m) | ApacheHigh5xxRatioCritical (large uniquement) | critical | 5m | Ratio de réponses 5xx > 20 % sur 5 min |
| apache (1m) | ApacheLatencyP95High | warning | 10m | p95 de response_time_us > 5 s sur 5 min |
| apache (1m) | ApacheLogParseErrors | warning | 15m | Plus de 100 lignes en erreur de parsing LogQL sur 5 min |
| mysql (1m) | MysqlBackendDown | critical | 2m | HAProxy logge mysql/... is DOWN sur 5 min |
| mysql (1m) | MysqlReplicationError | critical | 1m | Motifs d'erreur de réplication dans le log mysql (slave I/O/SQL, fatal error, connexion master…) sur 10 min |
| mysql (1m) | MysqlTooManyConnections | critical | 2m | Too many connections dans le log mysql sur 5 min |
| mysql (1m) | MysqlErrorLogHigh | warning | 5m | Plus de 5 lignes level=ERROR dans le log mysql sur 10 min |
| mysql (1m) | MysqlFatalError | critical | 0m | Motif critique : corruption InnoDB, marked as crashed, OOM, Can't start server sur 5 min |
| postfix (1m) | PostfixDeferredSpike | warning | 10m | Plus de 5 messages deferred sur 15 min |
| postfix (1m) | PostfixErrors | warning | 5m | fatal/panic/error dans le log postfix sur 10 min |
| oom (1m) | OOMKilled | critical | 0m | oom-killer invoqué dans les logs kernel sur 10 min |
| cron (1m) | CronJobFailed | warning | 0m | Job cron terminé avec failed with exit status sur 15 min |
| nfs (1m) | NfsServeurInjoignable | critical | 10m | n'obtient plus de reponse du serveur NFS |
| nfs (1m) | NfsServeurInjoignable | critical | 15m | signale des reponses NFS lentes ou absentes du serveur, événements sur 15 minutes sans timeout avere |