PmaControl logo PmaControl
  • Accueil
  • PmaControl
    • Agents IA 13 agents on-premise
    • Nos offres Community, Cloud, On-Premise, Premium
    • Documentation Guides, API, architecture
    • Clients 28+ entreprises
    • FAQ 25 questions / 7 catégories
    Bases de données
    • MariaDB 30 articles
    • MySQL 10 articles
    • Galera Cluster 6 articles
    • MaxScale 3 articles
    • ProxySQL 2 articles
    • Amazon Aurora MySQL 0 article
    • Azure Database 0 article
    • ClickHouse 0 article
    • GCP CloudSQL 0 article
    • Percona Server 0 article
    • SingleStore 0 article
    • TiDB 0 article
    • Vitess 0 article
    Solutions
    • Support 24×7 Urgences MariaDB & MySQL
    • Observabilité SQL Monitoring, alertes, topologie
    • Haute disponibilité Réplication, failover, Galera
    • Disaster Recovery Backup, restore, RPO/RTO
    • Sécurité & conformité Audit, RGPD, SOC2
    • Migration & upgrade Zero downtime, pt-osc, gh-ost
  • Nos offres
  • Ressources
    • Documentation Guides techniques & API
    • FAQ 25 questions fréquentes
    • Témoignages Retours clients & cas d'usage
    • Blog Articles & insights
    • Roadmap Fonctionnalités à venir
    Domaines d'expertise
    • Observabilité SQL Monitoring, alertes, topologie Dot3
    • Haute disponibilité Réplication, failover, Galera
    • Sécurité & conformité Audit, RGPD, SOC2, ISO 27001
    • Disaster Recovery Backup, restore, RPO/RTO
    • Performance & optimisation Digests, EXPLAIN, tuning
    • Migration & upgrade Zero downtime, pt-osc
    Liens rapides
    • Wiki GitHub 26 pages — install, engine, plugins
    • Code source Repository GitHub officiel
    • Support 24×7 Urgences MariaDB & MySQL
    • Réserver une démo 30 min — architecture réelle
  • Support 24×7
  • Réserver une démo
Réserver une démo
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文
← Retour au blog

Les Crashs Silencieux de MariaDB : Quand l'Absence de Logs Cache l'Urgence

Publié le 12 mars 2026 Par Aurélien LEQUOY
mariadb crash-analysis forensics incident-response rocksdb
Partager X LinkedIn Facebook Email PDF
Les Crashs Silencieux de MariaDB : Quand l'Absence de Logs Cache l'Urgence

Le problème

Entre janvier et mars 2026, nous avons observé 6 resets d'uptime anormaux sur un serveur MariaDB 10.11.15 de production supervisé par PmaControl. Le serveur héberge des tables RocksDB partitionnées très volumineuses (métriques time-series).

Le réflexe classique d'un DBA face à un crash : regarder les logs système. journalctl, dmesg, /var/log/syslog. On cherche OOM, Killed process, segfault, kernel panic.

Sur 6 crashs, un seul avait une trace kernel exploitable. Les 5 autres : silence complet côté système.

Méthode de détection

Plutôt que de faire confiance aux logs système, nous avons utilisé PmaControl pour détecter les crashs via la série temporelle uptime :

  1. Récupération des valeurs uptime via ts_value_general_int
  2. Filtrage des resets anormaux (uptime qui retombe à 0)
  3. Corrélation avec les logs MariaDB (error.log)
  4. Corrélation avec journalctl pour chercher des signatures kernel
  5. Analyse des métriques sur l'heure précédente (threads, CPU, mémoire)

C'est l'approche la plus fiable : un reset d'uptime + une signature InnoDB crash recovery = crash confirmé, même sans trace système.

Les 6 crashs identifiés

Date Classification Signature principale
29 janv. crash probable InnoDB crash recovery + recovery binlog
5 fév. crash probable crash recovery + Event invalid dans le binlog
23 fév. crash probable InnoDB crash recovery + Crash table recovery
3 mars crash probable Too many connections puis crash recovery
6 mars incident majeur Corruption MyRocks : truncated record body, .frm mismatch
12 mars crash confirmé systemd: status=9/KILL + crash recovery

Le crash du 6 mars : corrélation MDEV-39044

L'incident le plus sévère est celui du 6 mars. Les erreurs étaient différentes :

RocksDB: Error opening instance, Status Code: 2,
  Status: Corruption: truncated record body
Incorrect information in file: './pmacontrol/ts_value_general_int.frm'
Can't init tc log
Aborting

Ce pattern correspond exactement au ticket MariaDB MDEV-39044 : corruption MyRocks déclenchée par :

  • des ALTER TABLE sur des tables RocksDB partitionnées volumineuses
  • une charge d'écriture continue très forte
  • une pression mémoire InnoDB simultanée

Le ticket confirme explicitement que l'absence de crash log ou d'OOM killer est normale dans ce scénario.

Pourquoi les logs système ne suffisent pas

Sur les 6 incidents, journalctl n'a trouvé qu'une seule trace exploitable (le status=9/KILL du 12 mars).

Pour les 5 autres :

  • pas de Out of memory
  • pas de Killed process
  • pas de segfault
  • pas de kernel panic

L'inférence est simple : l'absence de signature kernel n'innocente pas un crash. C'est même cohérent avec le pattern MDEV-39044, qui documente des crashs sans trace système.

Ce que PmaControl détecte que les logs ne montrent pas

PmaControl surveille uptime en continu (toutes les 10 secondes). Un reset = alerte immédiate. Ensuite l'agent corrèle automatiquement :

  • les métriques de l'heure précédente (threads, mémoire, CPU)
  • la présence de crash recovery dans l'error log
  • les erreurs de métadonnées (.frm mismatch)

Ce qui permet de classifier l'incident même sans coopération du noyau.

Recommandations

  1. Ne jamais se fier uniquement aux logs système pour détecter les crashs MariaDB
  2. Monitorer uptime comme indicateur primaire de stabilité
  3. Corréler avec l'error log MariaDB, pas avec journalctl
  4. Si vous utilisez RocksDB : limiter les DDL sur les tables partitionnées volumineuses, surtout sous charge d'écriture
  5. Suivre MDEV-39044 pour un éventuel correctif MyRocks

Conclusion

Un serveur MariaDB peut crasher 6 fois en 6 semaines sans qu'aucun log système ne le documente. Seule une supervision dédiée aux bases de données — qui comprend les signatures internes de MariaDB — permet de détecter et classifier ces incidents.

C'est exactement le rôle de PmaControl.

Partager X LinkedIn Facebook Email PDF
← Retour au blog

Commentaires (0)

Aucun commentaire pour le moment.

Laisser un commentaire

PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
Mentions légales GitHub Contact
N'attendez pas l'incident pour comprendre votre architecture. © 2014-2026 PmaControl — 68Koncept