FastNetMon

четверг, 10 декабря 2009 г.

OpenVZ: очень полезные утилиты vztop и vzps

Ни для кого не секрет, что команды ps и top, будучи вызваны на хост машине, покажут все процессы со всех контейнеров и в том числе с HWN (ноды, хост-системы). Это не всегда удобно и вообще неудобно :) От разработчиков Virtuozza для этого есть отличные утилиты, упомянутые вот здесь. Но они, к сожалению, не имеют версий под x86_64, поэтому придется пакеты собрать вручную.

Идем на страницу загрузок и стягиваем оттуда файл "vzprocps-2.0.11-6.13.swsoft.i386.rpm " или с нашего зеркала. Кстати, как я понял из исходников - это набор патчей для http://procps.sourceforge.net/download.html

Ставим зависимости:

yum install ncurses -y


Ставим (эта сборка также отлично работает и на 64 битных системах, так что не смущайтесь приписке 386):

rpm -ivh http://download.openvz.org/contrib/utils/vzprocps-2.0.11-6.13.swsoft.i386.rpm


Итого, у нас в системе появились утилиты:
vztop и vzps


Они обе имеют ключик -E, который задает VEID (идентификатор контенера), для которого выводить top/список процессов. При этом, основной системе соответствует VEID = 0.

Итого, для запроса списка процессов и top для хост-системы используются команды:

vztop -E 0
vzps aux -E 0


Для какого-либо конкретного VEID:

vztop -E 201
vzps aux -E 201


Также у vzps появляется спец-флаг, при указании которого в выдаче появляется поле VEID:


vzps aux -E


Пример выдачи:


vzps aux -E
VEID USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
0 root 1 0.0 0.0 10348 744 ? S Dec09 0:02 init [3]
0 root 2 0.0 0.0 0 0 ? SW< Dec09 0:00 [migration/ 0 exim 6268 0.0 0.0 77792 1468 ? S Dec09 0:00 /usr/sbin/e 0 root 6476 0.0 0.0 3788 536 tty5 S Dec09 0:00 /sbin/minge 0 root 6477 0.0 0.0 3788 532 tty6 S Dec09 0:00 /sbin/minge 0 nobody 6574 0.0 0.0 6016 572 ? S Dec09 0:00 /usr/sbin/d 0 root 26787 0.0 0.1 90116 3388 ? S 07:16 0:00 sshd: root@ 0 root 26789 0.0 0.0 66060 1692 pts/0 S 07:16 0:00 -bash 201 root 27173 0.0 0.0 10348 744 ? S 07:25 0:00 init [3] 0 root 27174 0.0 0.0 0 0 ? SW< 07:25 0:00 [migration/ 0 root 27175 0.0 0.0 0 0 ? SW< 07:25 0:00 [migration/ 202 root 27190 0.0 0.0 10348 744 ? S 07:25 0:00 init [3] 0 root 27191 0.0 0.0 0 0 ? SW< 07:25 0:00 [migration/ 0 root 27192 0.0 0.0 0 0 ? SW< 07:25 0:00 [migration/ 203 root 27212 0.0 0.0 10348 748 ? S 07:25 0:00 init [3] 0 root 27213 0.0 0.0 0 0 ? SW< 07:25 0:00 [migration/ 0 root 27214 0.0 0.0 0 0 ? SW< 07:25 0:00 [migration/ 202 root 27322 0.0 0.0 12604 668 ? S< 07:25 0:00 /sbin/udevd 203 root 27369 0.0 0.0 12604 672 ? S< 07:25 0:00 /sbin/udevd 203 root 28735 0.0 0.0 5908 624 ? S 07:25 0:00 syslogd -m 202 root 28746 0.0 0.0 5908 620 ? S 07:25 0:00 syslogd -m 201 root 28775 0.0 0.0 12604 664 ? S< 07:25 0:00 /sbin/udevd 203 root 28822 0.0 0.0 63508 1176 ? S 07:25 0:00 /usr/sbin/s



Ну вот и все, пользуемся и наслаждаемся :)

7 комментариев :

  1. да, штуки мегаполезные! особенно когда у клиента контейнер завается по завязку и vzctl не заходит - говорит, что форкнуться не может. Посмотрел, что там у него, прибил "виновника", разобрался - и все довольны )

    ОтветитьУдалить
  2. Да, это чуть ли не основное их применение.

    ОтветитьУдалить
  3. Как бы посмотреть все прослушиваемые порты на хосте (127.0.0.0 , 0.0.0.0 , my_ip )?

    ОтветитьУдалить
    Ответы
    1. Скорее никак :) Ну или вот так: https://github.com/FastVPSEestiOu/linux_network_activity_tracker

      Удалить
    2. Блиин , благодарю ...
      А так netstat вполне устраивал и удобно показывал что активно.

      Удалить
  4. Этот комментарий был удален автором.

    ОтветитьУдалить