"...это решается написанием плейбуков в стиле Infrastructure as a Code. Да, на это уходит очень много времени на старте, зато потом ты разворачиваешь мониторинг одной-двумя командами. Изредка рефакторишь плейбук как обычный код"
Infrastructure as a Code
Сколько раз я пытался осилить эти плейбуки, каждый раз плевал и бросал это занятие.
Сделано как-то калечно, пока въедешь в те концепции что нагородили авторы этих тулов, пока напишешь все скрипты, поседеешь. Ещё и Питон вместо PHP )
Если кайфово превозмогать сложные инструменты, валяйте, но я пас.
В моём случае отлично себя показала самопальная система скриптов на Bash + MakeFile + Docker.
Раньше чем она себя исчерпает я не буду брать ничего сложнее, но уже три года полёт нормальный, так что сами судите.
"Перед разработкой решения, делали ли какой-то анализ рынка? Про графану и прометеус вижу обсуждение. Есть ещё laravel pulse и вроде ещё парочку аналогов есть для php"
Конечно, у всех на слуху Графана, Прометей, Сентри, NewRelic, BlackFire.
Но всё это существующие продукты, которые не решают мою задачу так как это нужно мне.
Как мне нужно чтобы они решили задачу? Быстро, просто и дёшево.
Решают они мою задачу быстро, просто и дёшево? Нет.
Большая часть это либо гемор с ковырянием серверов, такие как Графана и Прометей, либо установка "агентов", либо возня с конфигурацией в приложении, а самые мощные решения ещё и стоят кучу денег.
Это всё не подойдёт. Не хочу часами возиться для решения такой задачи.
Мне нужно фигак-фигак и у тебя есть готовый мониторинг, без напрягов.
Получится ли у меня самого создать простое и быстрое решение? Может, и нет. Но я попробую )
P.S. Laravel Pulse у нас есть, но статистику FPM он не показывает.
Несмотря на то, что проблема уже решена, остаётся желание смотреть за показателями сервера и дальше, чтобы вовремя поймать подобные проблемы ещё "на подлёте".
А ведь этот проект у нас не единственный с высокой нагрузкой, пригодится и на других.
Поэтому решено: сделаю свой мониторинг, отслеживающий сервер PHP.
Что мониторим
Основные параметры сервера, за которыми нужно следить, это очередь запросов (если всё в порядке тогда в ней 0 ожидающих запросов), а также количество активных процессов.
Если количество активных процессов начинает зашкаливать и упирается в лимит, это означает что сервер уже не справляется с нагрузкой и не успевает обрабатывать запросы.
Пфф... это решается за 15 минут Прометей/Графана/etc
Ну... нет. Ни один из мне сервисов не подключается за 15 минут. Возни везде много и самый минимум подключение займёт несколько часов.
Кто утверждает что такой мониторинг делается без подготовки за 15 минут, либо обманывает себя либо просто врёт.
А толковые APM (глубоко интегрированные системы мониторинга веб-приложений) ещё и стоят капец сколько денег. Например BlackFire стоит 20 000 рублей в месяц.
Всю неделю мне хотелось сделать продукт, малюсенький, ультранишевый и связанный с разработкой PHP.
Когда я озвучу в чём заключается идея то вы возможно скажете "ой ну что за фигня! это никому не будет нужно!"
А я отвечу: "ну и что?"
Я всё равно его сделаю, потому что это нужно мне самому. А будут ли им пользоваться... Посмотрим )
Честно говоря надоело быть "сапожником без сапог" и вечно искать готовые решения, особенно когда я уверен что могу решить проблему ничуть не хуже, а местами даже и лучше.