Под контролем: инструмент для мониторинга диска VDS сервера

    Мы в Timeweb продолжаем развивать виртуальные серверы и рассказывать об этом.

    В сентябре клиентам VDS Evo мы предоставили возможность мониторинга занятости дискового пространства. Теперь клиент может получить информацию по занятости дискового пространства, используя виджет на странице сервера или из уведомлений по почте и SMS.



    Зачем?


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

    Виртуальные серверы — продукт, где хостинг-провайдер сознательно не погружается в клиентские файлы. Вы выбираете нужную ОС (Ubuntu, Debian, CentOS, Windows Server, др), получаете root-доступ и приступаете к работе. А хостинг поддерживает работоспособность всей системы (виртуализация, сеть, интерфейсы), не вдаваясь в детали проекта клиента.

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

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

    Как это работает




    Вы всегда будете знать, когда место на диске подойдёт к концу. Для этого мы сделали возможность получать оповещения на почту и по SMS.



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



    Зайдите в раздел «Уведомления» и укажите, хотели бы вы получать сообщения круглосуточно при переполнении диска или в определённое время. Вы сами выбираете, стоит ли отправлять такую информацию на e-mail или SMS.



    Как шла разработка


    Для сбора метрик решили использовать готовую библиотеку libguestfs, так как она хороша в плане безопасности и поддержки разнообразных файловых систем. Поддерживаются буквально все файловые системы наших клиентов, кроме ReFS на некоторых VDS на ОС Windows.

    Сложностей по внедрению как таковых не было, так как мы заранее планировали фичу и очень подробно расписали реализацию. Но это нас не спасло.

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

    Релиз инструмента прошёл в 2 этапа. В начале мы раскатали его на 10% клиентов, а через неделю открыли его всем. В 1 партии нам пришло всего 3 обращения, где были подозрения, что наш инструмент не работает, но при индивидуальном разборе мы выяснили — ошибок нет, сбор данных работает верно.

    Подводим итоги


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

    Сегодня мы хотим узнать у наших читателей, о каких моментах из жизни хостинг-компании вы бы хотели узнать в будущих публикациях?
    Timeweb
    31.36
    VDS, виртуальный хостинг, домены, серверы
    Share post

    Comments 16

      +1
      К сожалению, это не как не поможет от переполнения индекса ext4. И где партиции?
        0
        Спасибо за идею. Мы рассматриваем вариант добавления мониторинга партиций, а также контроля не только за системным диском, но и за дополнительными дисками сервера.
        0
        Отличный виджет
          0
          Приятно это читать, спасибо за отзыв!
            0
            Я ваш искренний фанат)
          0
          Отлично, очень удобно! Добвьте еще мониторинг опаративной памяти.
            0
            Идея действительно популярная, рассматриваем как возможную для внедрения.
            Спасибо за пожелание!
              0
              Мечтать не вредно, но может тогда заодно и мониторинг (типа пинга) конкретных приложений по урлу?) Я вас тогда боготворить буду.
              А то сейчас приходится пользоваться www.monitis.com
            0
            Видимо про qemu-guest-agent вы не слышали. Кто же лайв смонтированную фс пропускает через guestfs и узнает место на ней? Чем больше памяти на сервере тем больше погрешность будет в ваших измерениях.
            Да и зачем изобретать костыль? Есть qemu-guest-agent, есть вызов в libvirt, чтобы получить нужные данные. Да, нет поддержки FreeBSD, но никто не мешает запускать его на отделном isa-serial.
            В общем с точки зрения юзера — прикольно, с точки зрения технаря — неудачное решение.
              +1
              Замечание отличное. Однако на практике мы видим, что место чаще всего забивается разросшейся БД и файлами сайта — тут мы точно определяем факт заполнения диска. К примеру, mysql периодически вызывает системный вызов fsync(). Также какая-нибудь CMS клиента вызывает fsysc() при ресайзе картинок – а как только fsync() вызван, данные оседают на дисках ноды.

              С qemu-guest-agent – с ним мы знакомы, на нём завязана система резервного копирования VDS. Через него можно получать статистику по дисковому пространству. Однако:

              — там нет отдельного вызова для получения статистики. Разработчики qemu только-только (в июне) дописали вызов guest-get-fsinfo, чтобы он возвращал статистику и по занятости диска. Соответственно, в VDS в 16 и 18 Ubuntu, например, более старая версия агента и он не вернёт эту информацию;

              — есть альтернатива: вызывать df через guest-exec, но опять же, guest-exec есть не на всех VDS;

              Возможно, в будущем мы будем частично собирать информацию через qemu-guest-agent на некоторых VDS для ускорения работы.
              0
              В заголовке виджета пишете «Свободное место на диске», а на графике показываете сколько занято. Нелогично.
                0
                Согласны с вами, мы действительно делаем акцент именно на занятом пространстве.
                Благодарим вас за то, что помогаете нам стать лучше!
                  0
                  Но в действительности всегда важнее то, сколько осталось места ;)
                0
                df -h
                ?
                  0
                  Было бы неплохо в данном виджете еще видеть:
                  — Список аля du -h.
                  — Количество занимаемых инодов.
                    0
                    Cпасибо за пожелание. Мы передали его менеджеру проектов для ознакомления.

                  Only users with full accounts can post comments. Log in, please.