vzstats
vzstats это инструмент для сбора статистики об использовании OpenVZ. Эта статья попробует объяснить для чего он нужен в форме вопросов и ответов.
vzstat состоит из клиента и сервера. Клиент(пакет vzstats) устанавливается на OpenVZ сервер(аппаратную ноду), так-что у него множество клиентов. И только один сервер, который размещен на stats.openvz.org.
Contents
Общее
Какова задача vzstats?
Мы, OpenVZ разработчики, любопытны. Мы хотим знать больше о наших пользователях. Мы хотим получать определенную статистику использования OpenVZ.
Мы хотим знать сколько OpenVZ серверов существует в мире. Это не простая задача, так-как OpenVZ это открыте програмное обеспечение и оно может быть получено из множества мест.
Мы хотим знать какие OpenVZ ядра используют наши пользователи, какая среди них доля RHEL5 и RHEL6 ядер.
Мы хотим видеть как много людей используют новые технологии, такие как ploop и vswap.
И было бы хорошо знать под какое количество ядер CPU или количество контейнеров, или Гигабайт места на диске мы должны оптимизировать работу OpenVZ.
И мы предоставляем эту информацию Вам, в итоге.
Для чего я должен учавствовать?
Может быть потому, что Вы хотите помочь OpenVZ. Потому, что делаться это хорошо. Или Вы просто хороший человек.
Почему vzstats можно опционально выключить, а не опционально включить?
К сожалению у нас нет хорошей возможности (как в установщике или каком-либо GUI) предложить Вам включить vzstats.
Как на счет безопасности моих личных данных?
Мы посторались сделать клиент очень простым, так что Вы сами можете посмотреть какую информацию и как он собирает.
Вся информация, которую отправляет клиент, является анонимной. Она не включет Ваши IP адреса, MAC адреса, имя хоста и т.п.
Кроме собранной информации сервер знает только UUID клиента и его IP.
UUID случаен. Он используется только что бы отделять сообщения клиента от сообщений других клиентов.
IP адрес клиента естественно известен серверу. Он сохраняется в логах httpd сервера, но не используется при построении статистики.
Клиент
Как работает клиент?
При запуске vzstats делает следующее:
- проверяет выделен ли ему уже UUID; запрашивает выдачу одного у сервера, если не выделан;
- запускает скрипты из директории
/usr/libexec/vzstats
; - собирает их вывод в отдельные файлы, по одному файлу на скрипт;
- создает tar архив из всех этих файлов;
- отправляет этот tar архив с UUID на сервер статистики - stats.openvz.org
Где я могу увидеть исходный код клиента?
Клиент написан на shell, так что просто проверьте скрипт /usr/sbin/vzstats.
Так же код клиента доступен в git репо - http://git.openvz.org/?p=vzstats;a=summary
Что такое UUID?
Это просто уникальный случайный идентификатор в формате UUID v4 [1]. Пример такого UUID: 285ad6e8-fe62-433c-be2a-643e1c54b315
Когда vzstats
запускается в первый раз он проверяет, что у него нет UUID. Запрашивает его у сервера и сохраняет полученный UUID локально.
Какая информация собирается?
Для получения подробностей смотрите скрипты в /usr/libexec/vzstats
.
Загрузка
Последнюю и предыдущие версии vzstats вы можете найти на Download/vzstats.
Исходный код
https://src.openvz.org/projects/OVZL/repos/vzstats/browse
When it is run?
vzstats run in the following cases
- Upon installation, if OpenVZ is already installed on the system
- When any of OpenVZ packages are updated (vzctl, vzquota, ploop, kernel)
- Periodically, once a month, from cron, if crond is running.
You can also run it manually (/usr/sbin/vzstats
as root) if you like to update your stats on server.
How to opt-out
You can completely disable vzstats client on a machine by executing the following command:
touch /etc/vz/vzstats-disable
If you want to re-enable vzstats, just do
rm -f /etc/vz/vzstats-disable
Server
Server consists of the following components:
- database (MySQL)
- trivial UUID generation script
- submission receiver script, which just stores the received file
- submission processing scripts, populating the database
- web interface (http://stats.openvz.org/), showing statistics from the database