Kir Kolyshkin (k001) wrote in ru_openvz,
Kir Kolyshkin
k001
ru_openvz

vzstats

Предвидя вал негативных комментов, всё же рискну попросить о помощи.

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

А что нам нужно и зачем? Нам нужно всё и сразу. Хочется понять, например, каково распределение между RHEL5 и RHEL6-based ядрами. Как часто люди обновляют vzctl. Насколько широко используется ploop и vswap. Под какое количество CPU, памяти, контейнеров нам оптимизировать софт. И так далее.

Вам, быть может, тоже что-нибудь из этого интересно. Поэтому результаты открыты, они есть на сайте http://stats.openvz.org/. Возможно, я сделаю доступным дамп базы данных, если его можно будет совсем уж обезличить (сейчас там хранится uuid -- случайно сгенерированный привязанный к ноде идентификатор).

Несколько более подробно про сам проект на http://openvz.org/vzstats.

Попросить хочу о двух вещах:

1. Помогите нам это потестить. Поставьте клиент себе на ноды (yum install vzstats). Изучить его исходники можно на http://git.openvz.org/?p=vzstats;a=summary

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

Ну и спрашивайте, если что хотите узнать. Пока это всё в режиме бета- (а может и альфа-) тестирования.
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 22 comments

knutov

April 26 2013, 17:05:30 UTC 4 years ago Edited:  April 26 2013, 17:07:59 UTC

Поставил на несколько серверов с центосом. Что делать со старыми deb-based серверами не ясно.

Я что-то не могу увидеть в исходниках - эта штука запускается один раз или периодически в кроне? Если один раз, то почему, если периодически - то где это написано и как часто?
Неактуально, увидел в вики.
Спасибо

С deb можно попробовать alien -- судя по всему, кто-то уже так сделал.
В публичной статистике исчезла таблица с процессорами. Это так и задумано? Она вернётся?

А ещё там сейчас таблички Memory и Swap идентичны, чего быть не может - как минимум на наших серверах всегда разное количество свапа и памяти.
Просто у всех эти строчки разные, поэтому надо как-то аггрегировать, а как, я пока не придумал. Может быть, по Intel/AMD, может быть по мегагерцам, я не знаю пока, будет время -- посмотрю.

Memory тоже разрослась, у всех разное количество рама, поэтому я аггрегирую как и своп, по степеням двойки, то есть значения 1 2 4 8 16 32 64 128 и т.п., и, скажем, в клетке 128 все, у кого больше 64, но меньше или равно 128. Как-то так. Возможно, проще будет гистограмму нарисовать, но это я пока не осилил.
Процессоры по мегагерцам сейчас уже нет совершенно никакого смысла агрегировать. Лично мне была бы интересна статистика как есть (вот хоть CSV исходных данных таблички), но вообще достаточно показательна была бы агрегация по поколениям, возможно с делением на обычные и ксеоны. Но это, конечно, будет сложно писать.
А может быть на численные штуки вроде памяти, дисков, числа вдс, лучше рисовать графики? rrdtool или на js что-нибудь.

Ибо степени двойки - это достаточно неудобная шкала, и с числом вдс, по крайней мере по началу, пик был где-то в районе 17-20 вдс на сервер, что любопытно, а текущей табличкой не увидеть (более того, она показывает другое, вплоть до искажения реальной статистики)
Да, я хочу в картинках сделать, но пока руки не дошли.

Выложу код, может, кто напишет мне )
Это я опечатался -- вот сейчас поправил.
for debian http://lists.openvz.org/pipermail/users/2013-May/005144.html

P.S. А зачем у тебя сервера с центосом?
Да, я читаю рассылку, спасибо.

Затем, что дебиан версии опенвз ядра не стабильны.
Про ядра понятно, ядра брать рхеловские, все равно вы их патчите и сами собираете. Если других факторов нет - ок.
Похоже, подглючивает статистика.
Посмотрел в таблицу, такого же CPU как у меня (Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz) не нашел.
Поставил vzstats, заметил, что Reports to process стало 1, поF5ячил страницу пару минут и увидел, что в таблице появился мой процессор. Один нюанс: справа от его названия написано, что Count сразу аж 2.
Эксперимента ради запустил vzstats руками, дождался, пока обработается. Count не изменился. Значит, не дубль.
Я пока обработку руками запускаю (ненулевой reports to process показывает, что я её не запустил) -- слежу за возможными ошибками в обработке, одну уже нашёл.
При установке :
# yum install vzstats
Running Transaction
Installing : vzstats-0.2.1-1.noarch 1/1
Non-fatal scriptlet failure in rpm package vzstats-0.2.1-1.noarch
curl: (6) name lookup timed out
Invalid UUID , aborting
warning: %triggerin(vzstats-0.2.1-1.noarch) scriptlet failed, exit status 1
Verifying : vzstats-0.2.1-1.noarch


Думаю, что стоит увеличить таймаут:

--- /usr/sbin/vzstats 2013-04-27 03:47:05.000000000 +0400
+++ /usr/sbin/vzstats.new 2013-05-06 13:16:30.561968872 +0400
@@ -5,7 +5,7 @@
. /etc/vz/vzstats.conf
IDFILE=/etc/vz/.vzstats-uuid
VERSION=0.2.1
-CURL='curl -sS --connect-timeout 3'
+CURL='curl -sS --connect-timeout 10'

# Check that config is sufficient
set -u


P.S. У меня корректно заработало после установки таймаута в 10 секунд. Сервер за NAT.
Чёрт, я думал, что три секунды для всех достаточно. Поправлю.
Добрый день!

Идея отличная, но откровенно влом ставить на сотни машин это дело (даже с деплоем и прочим). Раз требуется фидбэк, может быть, просто запросите краткие репорту от владельцев самых крупных инсталляций? Всяко это будет говорить больше, чем сухая техническая статистика.
Очень хочу ваши сотни машин! Ну запустите уже у себя yum install vzstats на всех, больше ж ничего не надо делать :)

Вся идея в том, чтобы всё это автоматом собиралось, и всегда была доступна самая свежая статистика. А спрашивать и потом обрабатывать -- это ручная работа. Я лучше один раз vzstats напишу.

Отдельный вопрос -- у кого спрашивать? Есть же люди, у которых просто оно где-то стоит, а я про них ничего не знаю.
Запустили деплой пакета vzstats на всю ферму, скоро данные вам прилетят.
Спасибо, теперь почти 10000 контейнеров, половина ваша )
Спасибо за хороший софт. Всегда рады Вам помочь :)

А по поводу ploop - останавливает неполный комплект ПО для работы с такими VPS, даже банальный бэкап делается не особенно тривиально. Также очень полезна была бы функция reinstall, без которой нужно городить костыли в стиле хитрых монтирований и операций с tar напрямую.

Если хотите - могу попробовать сформулировать все это в более-менее подробном виде.
С округлением по степеням двойки, конечно, хорошо, но мы со своим 384 ни два ни полтора :/ То есть ни 256 и не 512 вовсе...
Пока лучше не придумалось, потом гистограммкой нарисую.