Глава 73. Регистрация событий libvirt
Настройка регистрации событий в libvirt осуществляется в файле /etc/libvirt/libvirtd.conf. Логи сохраняются в каталоге /var/log/libvirt.
Функция журналирования в libvirt основана на трёх ключевых понятиях:
сообщения журнала;
фильтры;
формат вывода.
Сообщения журнала — это информация, получаемая во время работы libvirt. Каждое сообщение включает в себя уровень приоритета (отладочное сообщение — 1, информационное — 2, предупреждение — 3, ошибка — 4). По умолчанию, log_level=1, т.е. журналируются все сообщения.
Фильтры — это набор шаблонов и приоритетов, определяющих, какие сообщения следует принять или отклонить. Если категория сообщения совпадает с фильтром, приоритет сравнивается с приоритетом фильтра. Если приоритет сообщения ниже, оно отбрасывается. В противном случае — записывается в журнал. Если сообщение не соответствует ни одному фильтру, применяется общий уровень приоритета. Это позволяет, например, фиксировать все отладочные сообщения для QEMU, а для остальных — только ошибки.
Формат фильтра:
x:name # только сообщение журнала
x:+name # сообщение журнала + трассировка стека
где
name — категория, например, remote, qemu, util.json;
+ — указывает на необходимость включения трассировки стека;
x — минимальный уровень ошибки (1 — 4).
Пример фильтра:
log_filtrers="3:remote 4:event"
Как только сообщение прошло через фильтрацию, формат вывода определяет, куда отправить это сообщение. Вывод также может фильтроваться по приоритету (например, вывод только ошибок в файл).
Форматы вывода:
x:stderr — вывод в стандартный поток ошибок (STDERR);
x:syslog:name — вывод в системный журнал с заданным идентификатором;
x:file:file_path — вывод в файл, с соответствующим filepath;
x:journal — вывод в systemd-журнал.
Пример настройки:
log_outputs=”3:syslog:libvirtd 1:file:/tmp/libvirt.log”
Журналы работы ВМ хранятся в каталоге /var/log/libvirt/qemu/. Например, для машины alt-server-test журнал будет расположен по адресу: /var/log/libvirt/qemu/alt-server-test.log.