#мониторинг

5 постов
пост №1668Бизнес и стартапы

Мы с Федей запускаем первый собственный стартап.

Сервис защиты данных от потери. Лучший способ защитить данные — иметь несколько копий в разных местах, бэкапы. Проблема в том, что бэкапы нужны очень редко и обычно сломанные бэкапы не замечают, пока они не потребуются, когда уже поздно пить боржоми.

Обычно за бэкапы отвечают маленькие программы, скрипты, которые делают копию данных на отдельный диск или сервер. Но как проверить, что эта программа отработала успешно? Написать ещё одну, проверяющую? И кто устережёт самих сторожей?

Правильный способ проверки — «переключатель мертвеца», а точнее аналог «телемеханической системы бодрствования машиниста». Проще говоря, это система, которая ждет, что человек или программа каждый определенный промежуток времени нажимает на кнопку. Если кнопка не нажата — значит что-то пошло не так и нужно включить сирену или даже остановить поезд.

В нашем случае, ваши скрипты бэкапов дергают наш вебхук после успешного завершения работы. Если вдруг сервис заметит, что вебхук не активировали дольше определенного времени — то мы отправим вам сообщение в телеграме и электронное письмо.

В общем, очень простая система, которая не раз нас спасала. Раньше мы на всех своих проектах использовали healthchecks.io, но он перестал работать с компаниями из России, так что получается импортозамещение 🙈

Мы запускаем хороший аналог. Первый месяц бета — неограниченное число сервисов и уведомлений бесплатно. Дальше появятся уведомления по смс и будет оплата русскими или зарубежными картами, для компаний можно по безналу.

Мы запустили много проектов для работодателей и клиентов, но прям свое — впервые. Волнительно.

Начать мониторить бэкапы можно уже сегодня на сайте safe-backup.ru. Пользуйтесь и держите данные в безопасности.

пост №1119Разработка и инженерия

Ну что, вчера я признался, почему мы лежали, теперь хочу похвастаться, что мы сделали за день, чтобы больше не падать.

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

Веб-сайт, бэкенд-приложение и база данных — три разных технологии, но ошибка в одной повлечет эффект домино. Важно, чтобы человеку было просто заметить, кто был первой упавшей доминошкой — для этого мы собираем все релевантные показатели на одном экране рядом.

Для этого мы пользуемся сервисом datadog. Он дорогой, но стоит своих денег. Главная его сила — не в графиках, а в том, что кроме численных показателей он практически автоматически собирает внутреннее состояние приложения (APM, запросы к базе и вот это всё) и логи (бортовой журнал приложения). Благодаря этому, можно выделить время на графике и увидеть всю отладочную информацию из приложений только за указанный период. Или наоборот, заметить странные логи и одним нажатием посмотреть, как вели себя графики в это время. Это звучит как небольшая и очевидная функция, но во первых, это редкость, а во вторых — очень помогает. Меньше думаешь о том, как найти информацию и больше — о том, что она значит.

Вот несколько дэшбордов, которые собрали ребята. Вы можете заметить, что в них нет бизнес показателей: числа заказов и курьеров, среднего времени доставки заказов и сумм оплат — их мы добавим в ближайшее время.

пост №1037Разработка и инженерия

Скриншот из NewRelic — системы, которая собирает и удобно показывает очень подробную информацию о том, как чувствует себя ваш бэкенд (и даже клиенты): число запросов, время ответов, что именно тупит и почему. Сервис дорогой, но стоит своих денег. Лайфхак: можно сэкономить, установив его только на один сервер из группы.

пост №976Разработка и инженерия

Выяснили сегодня, что nginx плохо относится к кукам с дефисами в имени. Если кука не существует — то считает, что значение cookie-name равно всему, что идет после дефиса — -name в этом примере. Могли бы показывать какое-то уведомление, когда используешь такую бяку в конфигурации.

У нас в результате запросы шли мимо кеша, сильно выросло время ответа сервера. Самое обидное (и стыдное), что на это не был включен мониторинг, так что мы узнали о проблеме только через несколько дней. Правило: все важные метрики должны быть заведены в мониторинг.

Интересно, что ввели мы дополнительную куку из-за изменений в Safari. Для большей приватности Safari начал сбрасывать куку поставленную через javascript, а не с сервера (чтобы рекламщики не могли следить за всеми). Если вы владелец макбука или айфона и вас регулярно выкидывает с сайтов — проблема именно в этом.

Такая вот цепочка событий.

upd: читатели замечают, что это поведение nginx — известная «фича, а не баг». Вот так и выдали мы себя, что не настоящие мы сварщики (админы), а только мимикрируем :)

пост №860Разработка и инженерия

Многие пишут, рекомендуют sitespeed.io. Спасибо большое! Это качественно и красиво упакованный пакет для автоматизированного тестирования и мониторинга производительности, добавил в список. Ну и лендинг у них классный!