Понимать, что происходит с сервером, помогают логи и метрики. В BitrixEnv каждый компонент стека пишет свой лог, а сам 1С-Битрикс даёт инструменты профилирования производительности. Разберём, где лежат ключевые логи, как читать метрики нагрузки и как подключить внешний мониторинг, чтобы ловить проблемы до того, как их заметят пользователи.
Где лежат логи компонентов
BitrixEnv раскладывает логи стандартно для RHEL-стека, по компонентам. Держите эту карту под рукой при разборе инцидента.
| Компонент | Путь к логам |
|---|---|
| Nginx | /var/log/nginx/access.log, /var/log/nginx/error.log |
| PHP-FPM | /var/log/php-fpm/ (в т.ч. slowlog пулов) |
| MySQL/MariaDB | /var/log/mysql/ или /var/lib/mysql/*.err |
| Система | /var/log/messages, journalctl |
| Почта (msmtp) | /var/log/msmtp.log |
Быстрый просмотр в реальном времени по мере поступления запросов:
tail -f /var/log/nginx/error.log
error.log Nginx и лога PHP-FPM: связка «502/504 в Nginx + фатал или таймаут в PHP» покрывает большинство падений сайта на 1С-Битрикс.Чтение логов Nginx
Access-лог Nginx — основной источник для анализа трафика и медленных ответов. Если в формат лога добавлено время ответа бэкенда ($upstream_response_time), можно быстро находить тяжёлые страницы.
- Топ URL по количеству запросов — где основная нагрузка;
- Всплеск 5xx — сервер отдаёт ошибки, смотрим error.log и PHP;
- Много 499 — клиенты отваливаются, не дождавшись ответа (медленный бэкенд).
Примеры быстрого анализа:
grep ' 502 ' /var/log/nginx/access.log | wc -l — сколько было 502;awk '{print $1}' access.log | sort | uniq -c | sort -rn | head — топ IP по запросам.
request_terminate_timeout или упавший процесс. Nginx лишь транслирует, что бэкенд не ответил, — причину ищите в логах бэкенда.PHP-FPM slowlog и медленные запросы MySQL
Два самых полезных инструмента для поиска «тормозов» — slowlog PHP-FPM и slow query log MySQL. Первый показывает, где залипает PHP, второй — какие SQL-запросы съедают время.
PHP-FPM slowlog включается в конфиге пула директивами:
slowlog = /var/log/php-fpm/www-slow.logrequest_slowlog_timeout = 5s
В лог попадает трассировка PHP для запросов дольше порога — сразу видно, в какой функции застревает выполнение.
Slow query log MySQL включается в конфигурации СУБД:
slow_query_log = 1slow_query_log_file = /var/log/mysql/slow.loglong_query_time = 1
Разобрать накопленный slow-лог удобно утилитой mysqldumpslow или pt-query-digest — они группируют однотипные запросы и показывают самые дорогие.
mysqltuner: он подсказывает по буферам InnoDB, кешам и числу соединений на основе реальной статистики работы.Метрики нагрузки сервера
Логи отвечают на вопрос «что сломалось», метрики — «что происходит прямо сейчас». Базовый набор утилит есть в любом BitrixEnv.
| Метрика | Чем смотреть | На что обратить внимание |
|---|---|---|
| CPU / load average | top, htop, uptime | load выше числа ядер — очередь на CPU |
| Память и swap | free -m | активный swap — деградация производительности |
| Дисковый I/O | iostat -x 1 | высокий %util — упор в диск |
| Соединения БД | SHOW PROCESSLIST | лавина запросов в статусе Locked/Sending data |
| Место на диске | df -h, du -sh | переполнение — падение сайта и БД |
Частая причина внезапных «тормозов» магазина на 1С-Битрикс — забитый диск (разросшиеся логи, кеш, бэкапы) или упор в дисковый I/O при неоптимальных запросах. Метрики iostat и df -h проверяйте в первую очередь.
Инструменты производительности 1С-Битрикс
Помимо серверных логов, сам продукт даёт встроенное профилирование в административной панели. Это первое, куда стоит смотреть при жалобах на скорость.
- Монитор производительности (Настройки → Производительность) — измеряет время генерации страниц, число запросов к БД, попадания в кеш и даёт итоговую оценку конфигурации.
- Панель отладки для разработчика показывает по каждому хиту количество и время SQL-запросов, время компонентов — удобно ловить тяжёлые компоненты.
- Проверка системы — контроль соответствия окружения требованиям (версии PHP/MySQL, настройки).
Связка проста: Монитор производительности показывает, что страница медленная и делает много запросов, панель отладки указывает конкретный компонент, а slow query log MySQL — конкретный SQL. Так вы спускаетесь от симптома к причине.
Внешний мониторинг и алерты
Ручной просмотр логов хорош для разбора инцидента, но не для его предотвращения. Для этого нужен постоянный мониторинг с оповещениями. BitrixEnv штатно совместим с внешними системами.
- Zabbix — классика для серверного мониторинга: агент собирает CPU, память, диск, статус сервисов, метрики Nginx и MySQL, шлёт алерты по порогам.
- Prometheus + Grafana — метрики через экспортеры (
node_exporter,mysqld_exporter,nginx-exporter) и наглядные дашборды. - Uptime-мониторинг снаружи — проверка доступности сайта и срока действия SSL-сертификата, чтобы узнать о падении раньше клиентов.
Минимальный набор алертов, который стоит настроить сразу:
- Сайт не отвечает / рост 5xx;
- Диск заполнен более чем на 85–90%;
- Load average выше числа ядер продолжительное время;
- Сервис (nginx, php-fpm, mysqld) остановлен;
- Скорый истёк SSL-сертификата.
Итог
Диагностика BitrixEnv строится на двух опорах: логах компонентов (Nginx, PHP-FPM, MySQL, система) и метриках нагрузки, дополненных встроенными инструментами производительности 1С-Битрикс. Логи отвечают на «что и почему сломалось», метрики — на «что происходит сейчас», а Монитор производительности связывает медленную страницу с конкретным компонентом и SQL-запросом. Для проактивной работы поверх этого ставят внешний мониторинг с алертами.
Мы настраиваем мониторинг и разбираем инциденты на проектах 1С-Битрикс в рамках DevOps и технической поддержки: подключаем Zabbix или Prometheus с дашбордами и оповещениями, анализируем логи и slow-запросы, находим узкие места и оптимизируем окружение под нагрузку. Так проблемы отлавливаются заранее, а разбор сбоев занимает минуты, а не часы.
Частые вопросы
Где в BitrixEnv лежат логи ошибок Nginx и PHP?
Логи Nginx — в /var/log/nginx/ (access.log и error.log), логи и slowlog PHP-FPM — в /var/log/php-fpm/. Разбор большинства падений сайта начинается со связки error.log Nginx и лога PHP-FPM.
Что означает ошибка 502 Bad Gateway?
Nginx не получил ответ от бэкенда — PHP-FPM или Apache. Причины: нехватка воркеров, превышение таймаута выполнения или упавший процесс. Причину ищите в логах бэкенда, Nginx лишь сообщает, что ответа не было.
Как найти медленные запросы к базе данных?
Включите slow query log MySQL: slow_query_log=1, укажите файл и порог long_query_time. Накопленный лог удобно анализировать утилитами mysqldumpslow или pt-query-digest, которые группируют однотипные запросы и показывают самые дорогие.
Как понять, почему тормозит сайт на 1С-Битрикс?
Начните с Монитора производительности в админке — он покажет время генерации и число запросов к БД. Панель отладки укажет тяжёлый компонент, а slow query log MySQL — конкретный SQL. Так вы спускаетесь от симптома к причине.
Какие метрики сервера смотреть в первую очередь?
Load average и CPU через top, память и swap через free -m, дисковый I/O через iostat, свободное место через df -h. Внезапные тормоза магазина часто вызваны забитым диском или упором в дисковый ввод-вывод.
Как включить slowlog у PHP-FPM?
В конфиге пула PHP-FPM задайте slowlog с путём к файлу и request_slowlog_timeout с порогом, например 5s. В лог попадёт трассировка PHP для медленных запросов, по которой видно, в какой функции застревает выполнение.
Какой внешний мониторинг подходит для BitrixEnv?
Подойдут Zabbix или связка Prometheus с Grafana через экспортеры node_exporter, mysqld_exporter и nginx-exporter. Дополнительно настройте внешний uptime-мониторинг доступности сайта и срока действия SSL, чтобы узнавать о проблемах раньше клиентов.
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.