Использование virt-top
¶
virt-top
- это утилита, для отображения статистики виртуализированных доменов. Многие параметры командной строки такие же, как и для обычного top.
virt-top
использует libvirt, поэтому способен показывать статистику в самых разных системах виртуализации.
В процессе мониторинга виртуальных машин на kvm отображаются следующие параметры:
- S — состояние виртуальной машины.
- R — Для запущенных.
- RDRQ/WRRQ — дисковое i/o.
- RXBY/TXBY — i/o сети.
Работа с клавишами:
- 1 - переключимся в режим отображения по процессорам (по ядрам процессора).
- 2 - просмотрим текущий i/o на различных виртуальных сетевых интерфейсах (vnetX, например).
- 3 - просмотрим текущий i/o по виртуальным дисковым устройствам.
Для записи в файл:
- virt-top –csv file.csv - для того, что бы virt-top писал свои данные в файл.
- virt-top –csv file.csv -d 1 - заставим писать статистику каждую секунду, а не 3.
- virt-top –csv file.csv -d 1 –script - выключим отображение основного интерфейса virt-top.
Особенный интерес представляет опция --csv-файл.csv
, которая позволяет записывать статистику в файл file.csv. Сначала пишется заголовок, показывающий статистику, записываемую в каждом столбце, затем пишется одна строка для каждого обновления экрана. Далее CSV-файл может быть загружен большинством программ для работы с электронными таблицами.
В настоящее время записываемая в файл статистика варьируется в зависимости от версий virt-top (но заголовки столбцов останутся прежними, поэтому вы можете использовать их для обработки CSV-файла).
Не каждая версия virt-top поддерживает вывод в формате CSV - это зависит от того, как была скомпилирована программа (подробности в файле README в исходном дистрибутиве).
Чтобы сэкономить место, вы можете сжать свои CSV-файлы (если ваша оболочка поддерживает эту функцию, например, bash):
virt-top --csv >(gzip -9 > output.csv.gz)
Вы можете использовать аналогичный способ, чтобы разделить CSV-файл на части. В этом примере файл CSV разбивается каждые 1000 строк на файлы с именами output.csv.00, output.csv.01 и т.д.:
virt-top --csv >(split -d -l 1000 - output.csv.)
RHEL 6 предоставляет короткий скрипт на Python под названием «processcsv.py «, который может быть использован для последующей обработки выходных данных CSV. Запуск скрипта производится командой:
virt-top --csv data.csv
processcsv.py < data.csv
Это создает или перезаписывает следующие файлы в текущем каталоге:
global.csv
domain<NNN>.csv
«global.csv» будет содержать глобальные данные. Для каждого домена также будет создан один файл «domain<NNN>.csv» с идентификатором «NNN», содержащий данные для каждого домена.
Подробнее с работой утилиты можно ознакомиться в официальной документации.