PmaControl logo PmaControl
  • Главная
  • PmaControl
    • ИИ-агенты 13 on-premise агентов
    • Тарифы Community, Cloud, On-Premise, Premium
    • Документация Руководства, API, архитектура
    • Клиенты 28+ компаний
    • FAQ 25 вопросов / 7 категорий
    Базы данных
    • MariaDB 30 статей
    • MySQL 10 статей
    • Galera Cluster 6 статей
    • MaxScale 3 статьи
    • ProxySQL 2 статьи
    • Amazon Aurora MySQL 0 статьи
    • Azure Database 0 статьи
    • ClickHouse 0 статьи
    • GCP CloudSQL 0 статьи
    • Percona Server 0 статьи
    • SingleStore 0 статьи
    • TiDB 0 статьи
    • Vitess 0 статьи
    Решения
    • Поддержка 24×7 Экстренная помощь MariaDB & MySQL
    • Observabilité SQL Мониторинг, алерты, топология
    • Haute disponibilité Репликация, failover, Galera
    • Disaster Recovery Backup, restore, RPO/RTO
    • Sécurité & conformité Аудит, GDPR, SOC2
    • Migration & upgrade Zero downtime, pt-osc, gh-ost
  • Тарифы
  • Ресурсы
    • Документация Технические руководства и API
    • FAQ 25 частых вопросов
    • Отзывы Отзывы клиентов и кейсы
    • Блог Статьи и аналитика
    • Roadmap Планируемые функции
    Области экспертизы
    • Observabilité SQL Мониторинг, алерты, топология Dot3
    • Haute disponibilité Репликация, failover, Galera
    • Sécurité & conformité Аудит, GDPR, SOC2, ISO 27001
    • Disaster Recovery Backup, restore, RPO/RTO
    • Performance & optimisation Digests, EXPLAIN, tuning
    • Migration & upgrade Zero downtime, pt-osc
    Быстрые ссылки
    • Wiki GitHub 26 страниц — установка, движок, плагины
    • Исходный код Официальный репозиторий GitHub
    • Поддержка 24×7 Экстренная помощь MariaDB & MySQL
    • Записаться на демо 30 мин — реальная архитектура
  • Поддержка 24×7
  • Записаться на демо
Записаться на демо
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文
← Вернуться в блог

Тихие падения MariaDB: когда молчание логов скрывает критические сбои

Опубликовано March 12, 2026 Автор Aurélien LEQUOY
mariadb crash-analysis forensics incident-response rocksdb
Поделиться X LinkedIn Facebook Email PDF
Тихие падения MariaDB: когда молчание логов скрывает критические сбои

Проблема

С января по март 2026 года мы обнаружили 6 аномальных сбросов uptime на production-сервере MariaDB 10.11.15, за которым ведёт наблюдение PmaControl. Сервер обслуживает крупные партиционированные таблицы RocksDB (метрики временных рядов).

Классический рефлекс DBA при падении: смотреть системные логи. journalctl, dmesg, /var/log/syslog. Ищем OOM, Killed process, segfault, kernel panic.

Из 6 падений только одно имело эксплуатируемый trace ядра. Остальные 5: полная тишина со стороны системы.

Метод обнаружения

Вместо того чтобы доверять системным логам, мы использовали PmaControl для обнаружения падений через временной ряд uptime:

  1. Получение значений uptime через ts_value_general_int
  2. Фильтрация аномальных сбросов (uptime, падающий до 0)
  3. Корреляция с логами MariaDB (error.log)
  4. Корреляция с journalctl для поиска сигнатур ядра
  5. Анализ метрик за предыдущий час (потоки, CPU, память)

Это наиболее надёжный подход: сброс uptime + сигнатура InnoDB crash recovery = подтверждённое падение, даже без системного trace.

6 выявленных падений

Дата Классификация Основная сигнатура
29 янв. вероятное падение InnoDB crash recovery + recovery binlog
5 фев. вероятное падение crash recovery + Event invalid в binlog
23 фев. вероятное падение InnoDB crash recovery + Crash table recovery
3 марта вероятное падение Too many connections затем crash recovery
6 марта серьёзный инцидент Коррупция MyRocks: truncated record body, .frm mismatch
12 марта подтверждённое падение systemd: status=9/KILL + crash recovery

Падение 6 марта: корреляция MDEV-39044

Наиболее серьёзный инцидент — 6 марта. Ошибки отличались от остальных:

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

Этот паттерн точно соответствует тикету MariaDB MDEV-39044: коррупция MyRocks, вызываемая:

  • ALTER TABLE на крупных партиционированных таблицах RocksDB
  • непрерывной высокой нагрузкой на запись
  • одновременным давлением на память InnoDB

Тикет явно подтверждает, что отсутствие crash log или OOM killer является нормальным в этом сценарии.

Почему системных логов недостаточно

Из 6 инцидентов journalctl обнаружил только один эксплуатируемый trace (status=9/KILL от 12 марта).

Для остальных 5:

  • нет Out of memory
  • нет Killed process
  • нет segfault
  • нет kernel panic

Вывод прост: отсутствие сигнатуры ядра не означает отсутствие падения. Более того, это согласуется с паттерном MDEV-39044, который документирует падения без системного trace.

Что PmaControl обнаруживает, а логи нет

PmaControl непрерывно отслеживает uptime (каждые 10 секунд). Сброс = немедленное оповещение. Затем агент автоматически коррелирует:

  • метрики за предыдущий час (потоки, память, CPU)
  • наличие crash recovery в error log
  • ошибки метаданных (.frm mismatch)

Это позволяет классифицировать инцидент даже без содействия ядра.

Рекомендации

  1. Никогда не полагайтесь только на системные логи для обнаружения падений MariaDB
  2. Отслеживайте uptime как первичный индикатор стабильности
  3. Коррелируйте с error log MariaDB, а не с journalctl
  4. Если вы используете RocksDB: ограничьте DDL-операции на крупных партиционированных таблицах, особенно под нагрузкой записи
  5. Следите за MDEV-39044 для возможного исправления MyRocks

Заключение

Сервер MariaDB может упасть 6 раз за 6 недель без единой записи в системных логах. Только специализированный мониторинг баз данных — который понимает внутренние сигнатуры MariaDB — способен обнаружить и классифицировать такие инциденты.

Именно для этого создан PmaControl.

Поделиться X LinkedIn Facebook Email PDF
← Вернуться в блог

Комментарии (0)

Комментариев пока нет.

Оставить комментарий

PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
Юридическая информация GitHub Контакты
Не ждите инцидента, чтобы понять свою архитектуру. © 2014-2026 PmaControl — 68Koncept