vzstats
vzstats это инструмент для сбора статистики об использовании OpenVZ. Эта статья попробует объяснить для чего он нужен в форме вопросов и ответов.
vzstat состоит из клиента и сервера. Клиент (пакет vzstats) устанавливается на OpenVZ сервер (аппаратную ноду), так-что у него множество клиентов. И только один сервер, который размещен на stats.openvz.org.
Contents
Общее[edit]
Какова задача vzstats?[edit]
Мы, OpenVZ разработчики, любопытны. Мы хотим знать больше о наших пользователях. Мы хотим получать определенную статистику использования OpenVZ.
Мы хотим знать сколько OpenVZ серверов существует в мире. Это непростая задача, так как OpenVZ это открытое программное обеспечение и оно может быть получено из множества мест.
Мы хотим знать какие OpenVZ ядра используют наши пользователи, какая среди них доля RHEL5 и RHEL6 ядер.
Мы хотим видеть как много людей используют новые технологии, такие как ploop и vswap.
И было бы хорошо знать под какое количество ядер CPU или количество контейнеров, или Гигабайт места на диске мы должны оптимизировать работу OpenVZ.
И мы предоставляем эту информацию Вам, в итоге.
Для чего я должен учавствовать?[edit]
Может быть потому, что Вы хотите помочь OpenVZ. Потому, что делиться это хорошо. Или Вы просто хороший человек.
Почему vzstats можно опционально выключить, а не опционально включить?[edit]
К сожалению у нас нет хорошей возможности (как в установщике или каком-либо GUI) предложить Вам включить vzstats.
Как на счет безопасности моих личных данных?[edit]
Мы постарались сделать клиент очень простым, так что Вы сами можете посмотреть какую информацию и как он собирает.
Вся информация, которую отправляет клиент, является анонимной. Она не включает Ваши IP адреса, MAC адреса, имя хоста и т.п.
Кроме собранной информации сервер знает только UUID клиента и его IP.
UUID случаен. Он используется только что бы отделять сообщения клиента от сообщений других клиентов.
IP адрес клиента естественно известен серверу. Он сохраняется в логах httpd сервера, но не используется при построении статистики.
Клиент[edit]
Как работает клиент?[edit]
При запуске vzstats делает следующее:
- проверяет выделен ли ему уже UUID; запрашивает выдачу одного у сервера, если он не выделен;
- запускает скрипты из директории
/usr/libexec/vzstats
; - собирает их вывод в отдельные файлы, по одному файлу на скрипт;
- создает tar архив из всех этих файлов;
- отправляет этот tar архив с UUID на сервер статистики - stats.openvz.org
Где я могу увидеть исходный код клиента?[edit]
Клиент написан на shell, так что просто проверьте скрипт /usr/sbin/vzstats.
Так же код клиента доступен в git репо - http://git.openvz.org/?p=vzstats;a=summary
Что такое UUID?[edit]
Это просто уникальный случайный идентификатор в формате UUID v4 [1]. Пример такого UUID: 285ad6e8-fe62-433c-be2a-643e1c54b315
Когда vzstats
запускается в первый раз он проверяет, что у него нет UUID. Запрашивает его у сервера и сохраняет полученный UUID локально.
Какая информация собирается?[edit]
Для получения подробностей смотрите скрипты в /usr/libexec/vzstats
.
Скачать[edit]
Последнюю и предыдущие версии vzstats вы можете найти на Download/vzstats.
Исходный код[edit]
https://src.openvz.org/projects/OVZL/repos/vzstats/browse
Когда он запускается?[edit]
vzstats запускается в следующих случаях:
- После установки, если OpenVZ уже установлен.
- Когда какой-либо из пакетов OpenVZ обновлен (vzctl, vzquota, ploop, kernel)
- Раз в месяц по крону, если crond запущен.
Вы также можете запустить его в ручную (/usr/sbin/vzstats
под root) , если хотите обновить статистику по Вашему серверу.
Как отключить отправку[edit]
Вы можете полностью деактивировать клиент vzstats на Вашем компьютере выполнив следующую команду:
touch /etc/vz/vzstats-disable
Если Вы захотите включить его снова просто выполните:
rm -f /etc/vz/vzstats-disable
Сервер[edit]
Сервер состоит из следующих частей:
- база данных (MySQL)
- просто скрипт для генерации UUID
- скрипт, который сохраняет переданный файл
- скрипт для обработки и сохранения данных в базу данных
- веб-интерфейс (http://stats.openvz.org/), который показывает статистику из базы данных