LINUX.ORG.RU

Мониторинг системы написанной на php

 ,


1

3

Есть ERP система написанная на php, это кастомная разработка, сделанная программистами компании для внутренних нужд. Данная система довольно долго эволюционировала и стала достаточно сложной и большой. Дело в том, что ERP система развивалась вместе с бизнесом и в процессе ее развития никто не уделял должного внимания архитектуре и правильным подходам к такого рода разработке.

Система представляет из себя классический LAMP stack и в текущий момент переносится с php версии 5 на версию 7. Как я и говорил система непрерывно дорабатывается под нужны бизнеса, в тоже время отсутствует достаточное тестирование кода перед его внедрением в продакшн. Периодически случаются коллапсы, когда тот или иной скрипт системы начинает отжирать системные ресурсы вплоть до необходимости ручного вмешательства в работу оперухи и серверного софта.

Появилась идея начать эту систему мониторить, а именно php скрипты из которых она состоит. В теории я это вижу как мониторинг таких метрик как загрузка процессора, потребление памяти, длительность выполнения. На основании этих данных можно будет оповещать сотрудника, что здоровье системы под вопросом и такие-то метрики такого-то скрипта вышли за рамки нормы. Собственно вопрос, какие есть инструменты для такого рода задач? Какие есть подходы к мониторингу такого рода систем?

классический LAMP

То есть не php-fpm?

Для начала заиспользовать NGINX и php-fpm.

какие есть инструменты для такого рода задач?

Zabbix

ilinsky ★★★★★
()
Ответ на: комментарий от ilinsky

То есть не php-fpm?

apache + php-fpm

Для начала заиспользовать NGINX и php-fpm.

В системе много .htaccess файлов, как я понимаю это будет довольно сложный процесс перехода на nginx. Какие выгоды я смогу получить переведя систему на nginx?

Zabbix

Спасибо, я посмотрю, что это за инструмент.

samson_b
() автор топика
Последнее исправление: samson_b (всего исправлений: 1)
Ответ на: комментарий от r_asian

Здравствуйте.

Я не проводил сравнения, но при большом количестве посещений, то apache получается более экономичное, нет?

IMP
()
Ответ на: комментарий от r_asian

Производительность. nginx намного легче.

У нас нет большого количества посетителей, т.к. эта система - внутренний продукт компании и ей пользуются только сотрудники. Основную нагрузку дает работа с БД (аналитика) и всевозможные скрипты, которые собирают из интернет разные данные. Вопрос стоит не в оптимизации системы с т.з. производительности, а в надстройки чего-то сверху, помогающего мониторить здоровье системы, чтобы можно было быстрее и проще выявить скрипт, который работает некорректно.

2ilinsky Я посмотрел Zabbix, (это что-то похожее на Nagios). А там есть какие-то инструменты, позволяющие мониторить php скрипты по отдельности?

samson_b
() автор топика
Последнее исправление: samson_b (всего исправлений: 1)
Ответ на: комментарий от samson_b

Основную нагрузку дает работа с БД (аналитика) и всевозможные скрипты, которые собирают из интернет разные данные.

А раз так, то зачем тебе мониторить эффективность работы php-скриптов.

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

А раз так, то зачем тебе мониторить эффективность работы php-скриптов.

Как я уже писал, разработчики накатывают обновления системы без должного тестирования и это приводит к тому, что периодически скрипты работают некорректно, это вешает сервер. Задача стоит - мониторить некорректную работу скриптов.

samson_b
() автор топика
Ответ на: комментарий от samson_b

А там есть какие-то инструменты, позволяющие мониторить php скрипты по отдельности?

Собирать данные может pinba, но для вывода графиков и отправки уведомлений, нужно её прикрутить к zabbix/nagios с помощью изоленты и какой-то матери.

NeOlip ★★
()
Ответ на: комментарий от samson_b

Какие выгоды я смогу получить переведя систему на nginx?

Никаких. Если это не хайлоад, то разницы особо не будет.

goingUp ★★★★★
()

классический LAMP

Перекатывайтесь в k8s. Там будет и мониториг, и автоматический перезапуск «плохих» скриптов и удобство отката версий если что-то пошло не так.

no-such-file ★★★★★
()
Ответ на: комментарий от samson_b

разработчики накатывают обновления системы без должного тестирования

тогда возможно стоит выделить разработчика, который напишет unit-тесты и bdd-тесты

вместе с перекатыванием на php7, имеет смысл перекатиться на какой-нибудь framework (laravel/symfony/etc), если таковые не используются - это также немного починит архитектуру.

эти фрэймворки (особенно symfony) вполне уживаются со старой кодовой базой и переносить всё и сразу не требуется

по мониторингу уже сказано выше - zabbix стал почти стандартом

Ford_Focus ★★★★★
()
Ответ на: комментарий от no-such-file

Перекатывайтесь в k8s.

Вашими бы устами, да.. :) Это будет тяжело, долго и дорого.

samson_b
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.