Skip to main content

Proxmox Virtual Environment

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Proxmox Virtual Environment - открытая система виртуализации на базе Debian, которая объединяет два типа виртуализации — KVM (полная виртуализация) и контейнеры (контейнеры LXC, не Docker) — в единую платформу.  Она предоставляет веб-интерфейс и инструменты командной строки для управления виртуальными машинами, контейнерами, сетями и хранилищами. RSysylog передает события из journald ( источник - приложение pvedaemon) на Sysylog-server (e.g. SIEM), а также система поддерживает кластеризацию, live-миграцию виртуальных машин и функции высокой доступности (HA). 

 

Типы собираемых событий
  • Аутентификация
  • Создание / Удаление LXC-контейнеров и VM (vzcreate, qmcreate, vzdestroy, qmdestroy)
  • Запуск / Остановка LXC-контейнеров и VM (qmshutdown, qmstop, vzshutdown, vzstop)
  • Запуск / завершение задач

Примеры событий:
27>Oct  4 03:34:32 pve pvedaemon[882]: authentication failure; rhost=::ffff:172.20.100.2 user=rootsd@pam msg=no such user ('rootsd@pam')
<27>Oct  4 03:34:28 pve pvedaemon[881]: authentication failure; rhost=::ffff:172.20.100.2 user=root@pam msg=Authentication failure
<30>Oct  4 03:34:20 pve pvedaemon[882]: <root@pam> successful auth for user 'root@pam'
<30>Oct  4 03:26:33 pve pveupdate[126546]: <root@pam> starting task UPID:pve:0001EE57:00478E4A:68E04D99:aptupdate::root@pam:
<27>Oct  4 03:26:35 pve pveupdate[126546]: <root@pam> end task UPID:pve:0001EE57:00478E4A:68E04D99:aptupdate::root@pam: command 'apt-get update' failed: exit code 100
<30>Oct  4 03:42:57 pve pvedaemon[882]: <root@pam> starting task UPID:pve:0001F9D4:00490EA0:68E05171:qmcreate:100:root@pam:
<30>Oct  4 03:42:58 pve pvedaemon[882]: <root@pam> end task UPID:pve:0001F9D4:00490EA0:68E05171:qmcreate:100:root@pam: OK
<30>Oct  4 03:49:22 pve pvedaemon[882]: <root@pam> starting task UPID:pve:0001FE11:0049A4D0:68E052F2:vzcreate:101:root@pam:
<30>Oct  4 03:50:37 pve pvedaemon[882]: <root@pam> starting task UPID:pve:0001FF17:0049C265:68E0533D:vzstart:101:root@pam:
<30>Oct  4 03:50:37 pve pvedaemon[130839]: starting CT 101: UPID:pve:0001FF17:0049C265:68E0533D:vzstart:101:root@pam:
<30>Oct  4 03:50:40 pve pvedaemon[882]: <root@pam> end task UPID:pve:0001FF17:0049C265:68E0533D:vzstart:101:root@pam: OK
<30>Oct  4 03:50:44 pve pvedaemon[881]: <root@pam> starting task UPID:pve:000200F9:0049C501:68E05344:qmstart:100:root@pam:
<30>Oct  4 03:50:44 pve pvedaemon[131321]: start VM 100: UPID:pve:000200F9:0049C501:68E05344:qmstart:100:root@pam:
<30>Oct  4 03:50:45 pve pvedaemon[131321]: VM 100 started with PID 131333.
<30>Oct  4 03:50:45 pve pvedaemon[881]: <root@pam> end task UPID:pve:000200F9:0049C501:68E05344:qmstart:100:root@pam: OK
<30>Oct  4 03:52:43 pve pvedaemon[881]: <root@pam> starting task UPID:pve:00020351:0049F3A3:68E053BB:vzstop:101:root@pam:
<30>Oct  4 03:52:43 pve pvedaemon[131921]: stopping CT 101: UPID:pve:00020351:0049F3A3:68E053BB:vzstop:101:root@pam:
<28>Oct  4 03:52:44 pve pvedaemon[881]: unable to get PID for CT 101 (not running?)
<30>Oct  4 03:52:45 pve pvedaemon[881]: <root@pam> end task UPID:pve:00020351:0049F3A3:68E053BB:vzstop:101:root@pam: OK
<30>Oct  4 03:52:47 pve pvedaemon[882]: <root@pam> starting task UPID:pve:0002037E:0049F53E:68E053BF:qmstop:100:root@pam:
<30>Oct  4 03:52:47 pve pvedaemon[131966]: stop VM 100: UPID:pve:0002037E:0049F53E:68E053BF:qmstop:100:root@pam:
<30>Oct  4 03:52:48 pve pvedaemon[882]: <root@pam> end task UPID:pve:0002037E:0049F53E:68E053BF:qmstop:100:root@pam: OK
<30>Oct  4 03:55:33 pve pvedaemon[882]: <root@pam> starting task UPID:pve:000207D6:004A35D1:68E05465:vzshutdown:101:root@pam:
<30>Oct  4 03:55:33 pve pvedaemon[133078]: shutdown CT 101: UPID:pve:000207D6:004A35D1:68E05465:vzshutdown:101:root@pam:
<30>Oct  4 03:55:35 pve pvedaemon[882]: <root@pam> end task UPID:pve:000207D6:004A35D1:68E05465:vzshutdown:101:root@pam: OK
<30>Oct  4 03:55:46 pve pvedaemon[133175]: shutdown VM 100: UPID:pve:00020837:004A3ADC:68E05472:qmshutdown:100:root@pam:
<30>Oct  4 03:55:46 pve pvedaemon[883]: <root@pam> starting task UPID:pve:00020837:004A3ADC:68E05472:qmshutdown:100:root@pam:
<27>Oct  4 03:56:46 pve pvedaemon[133175]: VM quit/powerdown failed - got timeout
<27>Oct  4 03:56:46 pve pvedaemon[883]: <root@pam> end task UPID:pve:00020837:004A3ADC:68E05472:qmshutdown:100:root@pam: VM quit/powerdown failed - got timeout
<30>Oct  4 04:00:32 pve pvedaemon[882]: <root@pam> starting task UPID:pve:00020B30:004AAAEA:68E05590:clustercreate:Test:root@pam:
<30>Oct  4 04:00:35 pve pvedaemon[882]: <root@pam> end task UPID:pve:00020B30:004AAAEA:68E05590:clustercreate:Test:root@pam: OK
<30>Oct  4 18:58:52 pve pvedaemon[287275]: <root@pam> starting task UPID:pve:00048FB9:009CE97A:68E1281C:qmdestroy:100:root@pam:
<30>Oct  4 18:58:52 pve pvedaemon[298937]: destroy VM 100: UPID:pve:00048FB9:009CE97A:68E1281C:qmdestroy:100:root@pam:
<30>Oct  4 18:58:52 pve pvedaemon[287275]: <root@pam> end task UPID:pve:00048FB9:009CE97A:68E1281C:qmdestroy:100:root@pam: OK

 

Настройка сбора событий с помощью Rsyslog

RSyslog — системный демон для журналирования в Linux. Он собирает события от различных источников (файлы логов, системные службы, journald) и отправляет их дальше по стандартному протоколу Syslog (UDP/TCP, а также с поддержкой TLS)

1. Проверьте статус сервиса RSyslog. Если сервис отсутствует - выполните установку пакета:

### Debian, Ubuntu (apt-get)
apt-get install rsyslog

### RHEL (yum)
yum install rsyslog

или для поддержи TLS-шифрования при отправке логов установите библиотеку gtls для RSyslog:

### Debian, Ubuntu (apt-get)
apt install rsyslog-gnutls

### RHEL (yum)
yum install rsyslog-gnutls

2. Запустите сервис:

systemctl enable rsyslog.service
systemctl start rsyslog.service

3.Проверьте статус:

systemctl status rsyslog.service

4. Создайте файл конфигурации для загрузки необходимых модулей  /etc/rsyslog.d/00-modules.conf

Раскомментируйте секцию “For journald”. Для работы TLS: раскомментируйте секцию “For tls

module(load="imfile")

### For tls
#module(load="gtls")
#global(DefaultNetstreamDriver="gtls")

### For journald
module(load="imjournal" StateFile="imjournal.state")

5. Добавьте файл конфигурации для логов /etc/rsyslog.d/pve.conf

if ($inputname == "imuxsock" and
    ($programname == "pvedaemon"
    )) then {
            action(
                name="fwd_pve_journal_tcp"
                type="omfwd"
                target="IP or FQDN" # IP or FQDN of Sysylog server (FQDN only for TLS)
                port="port" # port of Sysylog server
                protocol="tcp" # tcp or udp
                # StreamDriver="gtls" # For TLS
                # StreamDriverMode="1"  # For TLS
                # StreamDriverAuthMode="anon" # For TLS without Verification
                # StreamDriverAuthMode="x509/name" # For TLS with Verification
                # StreamDriverPermittedPeer="FQDN" # For TLS with Verification
                # tls.cacert="/etc/rsyslog/ca.crt" # For TLS with Verification
                queue.type="LinkedList"
                queue.size="10000"
                action.resumeRetryCount="-1"
        )
        stop
}

6. примените конфигурационные файлы RSyslog, перезапустите сервис, убедитесь в отсутствии ошибок 

systemctl restart rsyslog.service
systemctl status rsyslog.service