Системы виртуализации
При работе по подключению систем виртуализации в качестве источника событий в Платформу Радар вам может пригодиться следующая справочная информация:
- Включение/выключение источников в Платформе;
- Пример конфигурационного файла лог-коллектора;
- Руководство по настройке лог-коллектора.
KVM Hypervisor
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | KVM-Hypervisor |
Тип | Hypervisor |
Вендор | RedHat |
Порт | 2746 |
Протокол | TCP |
Для настройки источника выполните следующие действия:
-
При необходимости установите KVM Hypervisor:
-
проверьте поддержку виртуализации и разрядности:
# egrep -c '(vmx|svm)' /proc/cpuinfo # egrep -c 'lm' /proc/cpuinfo
-
установите пакеты:
# apt install virtinst # apt install qemu-kvm bridge-utils virt-manager virt-viewer
-
добавьте пользователя в группы:
# adduser <user> libvirt # adduser <user> kvm
-
-
Проверьте работу KVM:
-
проверьте наличие
qemu
в системе с помощью утилитыvirsh
:# virsh -c qemu:///system list Id Name State --------------------
-
проверьте права доступа к файлам:
# ls -la /var/run/libvirt/libvirt-sock # srw-rw-rw- 1 root root 0 Aug 23 13:52 /var/run/libvirt/libvirt-sock # ls -lh /usr/bin/kvm # lrwxrwxrwx 1 root root 18 Jul 11 23:07 /usr/bin/kvm -> qemu-system-x86_64
-
если запущена хотя бы одна виртуальная машина, то проверка будет выглядеть следующим образом:
# virsh -c qemu:///system list Id Name State ----------------------------- 7 ubuntu22.04 running
-
-
Настройте службу
rsyslog
:-
журнал KVM располагается в директории:
/home/$USER/.cache/virt-manager/virt-manager.log
-
настройте доступ к данному файлу:
# chmod 644 /home/$USER/.cache/virt-manager/virt-manager.log
-
подготовьте конфигурационный файл для
rsyslog
и поместите его в директорию/etc/rsyslog.d/
. Рекомендуется назвать файл в соответствии с системным шаблоном:[00]-<name>.conf
, где[00]
- приоритетный номер конфигурации в директорииrsyslog.d
, а<name>
- имя источника. Чем меньше номер конфигурации, тем выше приоритет его обработки системой.# sudo vi /etc/rsyslog.d/30-kvm.conf
-
укажите в конфигурационном файле следующие настройки:
# Input modules module(load="imfile" mode="inotify" PollingInterval="10") # KVM log input(type="imfile" File="/home/$USER/.cache/virt-manager/virt-manager.log" Tag="kvm" Severity="info" Facility="local3") local3.* @@<IP-адрес лог-коллектора>:3000
Где:
imfile
- модуль, обрабатывающий журналы;File
- полный путь к файлу журнала;Tag
- тег, который будет использоваться для записей, полученных из указанного выше файла журнала;Severity
- уровень критичности события (info, debug, warning, error);Facility
- необходимый уровень facility, например local3;local3.* @@<IP-адрес лог-коллектора>:3000
- используемый протокол (@@ - TCP, @ - UDP), IP-адрес лог-коллектора и порт, по которому лог-коллектор будет принимать события от данного источника.
-
-
Проверьте конфигурацию службы
rsyslog
:# rsyslogd -N1 # rsyslogd: version 8.2310.0-1.fc38, config validation run (level 1), master config /etc/rsyslog.conf # rsyslogd: End of config validation run. Bye.
-
Для проверки конкретного файла конфигурации используйте следующие команды:
# rsyslogd -f /etc/rsyslog.d/30-kvm.conf -N1 # rsyslogd: version 8.2310.0-1.fc38, config validation run (level 1), master config /etc/rsyslog.d/30-kvm.conf.conf # rsyslogd: End of config validation run. Bye.
-
Перезапустите службу
rsyslog
:# systemctl restart rsyslog
-
В файл конфигурации лог-коллектора
config.yaml
внесите следующие изменения:tcp_input_kvm: & tcp_input_kvm id: "tcp_input_kvm" host: "<ip-адрес лог-коллектора>" port: 3000 sock_buf_size: 0 format: "json" log_level: "WARN" tcp_output_kvm: & tcp_output_kvm id: "tcp_output_kvm" target_host: "<ip адрес Платформы Радар/или балансера>" port: 2746 log_level: "WARN" collectors: tcp_receiver: - <<: *tcp_input_kvm senders: port: 48002 out_file: - <<: *out_file tcp: - <<: *tcp_output_kvm route_kvm: &route_kvm collector_id: - "tcp_input_kvm" sender_id: - "tcp_output_kvm" routers: - <<: *route_kvm
-
Перезапустите службу лог-коллектора.
- Перейдите в раздел Администрирование → Источники → Управление источниками.
- Включите источник KVM-Hypervisor.
- Нажмите кнопку Синхронизировать.
- Перейдите в раздел События и проверьте наличие потока событий от данного источника.
Microsoft Windows HyperV
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Microsoft-Windows-HyperV |
Тип | Hypervisor |
Вендор | Microsoft |
Порт | 1517 |
Протокол | TCP |
Примечание: события от источника включены по умолчанию и записываются в следующие журналы Windows: Microsoft-Windows-Hyper-V-VMMS-Admin и Microsoft-Windows-Hyper-V-VMMS-Operational. Лог-коллектор должен быть установлен на том же сервере, где и Microsoft Windows HyperV.
Для настройки источника выполните следующие действия:
-
В файл конфигурации лог-коллектора
config.yaml
внесите следующие изменения:microsoft_hyperv: & microsoft_hyperv id: "microsoft_hyperv" channel: ['Microsoft-Windows-Hyper-V-VMMS-Admin', 'Microsoft-Windows-Hyper-V-VMMS-Operational'] query: "*" file: "" batch_size: 31 timeout: 3 poll_interval: 1 read_from_last: true resolve_sid: false log_level: "INFO" format: "json" tcp_output_microsoft_hyperv: &tcp_output_microsoft_hyperv id: "tcp_output_microsoft_hyperv" target_host: "<ip адрес Платформы Радар/или балансера>" port: 1517 log_level: "INFO" journal: port: 48004 log_level: "INFO" log_path: "C:\\Program Files\\Log Collector\\journal.log" rotation_size: 30 max_backups: 7 max_age: 7 collectors: event_log: - <<: *microsoft_hyperv senders: port: 48002 tcp: - <<: *tcp_output_microsoft_hyperv route_microsoft_hyperv: &route_microsoft_hyperv collector_id: - "microsoft_hyperv" sender_id: - "tcp_output_microsoft_hypervr" routers: - <<: *route_microsoft_hyperv
-
Перезапустите службу лог-коллектора.
- Перейдите в раздел Администрирование → Источники → Управление источниками.
- Включите источник Microsoft-Windows-HyperV.
- Нажмите кнопку Синхронизировать.
- Перейдите в раздел События и проверьте наличие потока событий от данного источника.
Proxmox
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Proxmox |
Тип | Hypervisor |
Вендор | Proxmox |
Порт | 4400 |
Протокол | TCP |
Журналирование событий Proxmox выполняется в системный журнал syslog
. За журналирование отвечает демон pvedaemon
.
Для настройки источника выполните следующие действия:
-
Создайте шаблон для службы
rsyslog
по пути/etc/rsyslog.d/
. Например,proxmox_to_pangeoradar.conf
:# sudo nano /etc/rsyslog.d/proxmox_to_pangeoradar.conf
-
Добавьте пустую строку в шаблон и сохраните изменения.
-
После создания шаблона, журналы событий в системе Proxmox перестанут сохраняться. При необходимости настройте дополнительное сохранение отправляемых журналов в Proxmox. Для этого в шаблоне укажите следующие настройки:
if $programname == 'pvedaemon' then /var/log/proxmox.log action( type="omfwd" target="<IP>" port="<PORT>" protocol="udp" action.resumeRetryCount="100" queue.type="linkedList" queue.size="10000" ) & stop
-
Перезапустите службу
rsyslog
.# systemctl restart rsyslog
-
При необходимости исключите ненужные журналы при отправке. Для этого в функции
$msg contains
добавьте отрицаниеnot
и укажите слово, характеризующее журнал, например:if ($programname == 'pvedaemon') and not ($msg contains 'worker') then @IP:PORT
Где:
worker
- будут отправлены все журналы, кроме тех, в которых встречается слово worker;IP
- IP-адрес лог-коллектора;PORT
- порт, по которому лог-коллектор будет принимать события от данного источника;@
- отправка журналов по протоколу UDP.
-
В файл конфигурации лог-коллектора
config.yaml
внесите следующие изменения:udp_input_proxmox: & udp_input_proxmox id: "udp_input_proxmox" host: "<ip-адрес лог-коллектора>" port: 4400 sock_buf_size: 0 format: "json" log_level: "INFO" tcp_output_proxmox: & tcp_output_proxmox id: "tcp_output_proxmox" target_host: "<ip адрес Платформы Радар/или балансера>" port: 4400 sock_buf_size: 0 log_level: "INFO" collectors: udp_receiver: - <<: *udp_input_proxmox senders: port: 48002 tcp: - <<: *tcp_output_proxmox route_proxmox: &route_proxmox collector_id: - "udp_input_proxmox" sender_id: - "tcp_output_proxmox" routers: - <<: *route_proxmox
-
Перезапустите службу лог-коллектора.
- Перейдите в раздел Администрирование → Источники → Управление источниками.
- Включите источник Proxmox.
- Нажмите кнопку Синхронизировать.
- Перейдите в раздел События и проверьте наличие потока событий от данного источника.
vGate
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | vGate |
Тип | Hypervisor |
Вендор | Security-Code |
Порт | 2745 |
Протокол | TCP |
Для настройки источника выполните следующие действия:
- Войдите в консоль управления системой.
-
Перейдите в раздел Настройки → Аудит и нажмите на ссылку Настройки сбора сообщений. Откроется окно "Настройка аудита события" (см. рисунок 1).
Рисунок 1 -- Настройка аудита события
-
В окне "Настройка аудита события" установите флаги Включить аудит события и Отправка Syslog.
- Нажмите кнопку ОК.
-
Отметьте уведомления, которые необходимо отправлять в Платформу Радар, установив соответствующие флаги (см. рисунок 2).
Рисунок 2 -- Выбор уведомлений для отправки
-
Нажмите кнопку Применить.
-
Нажмите на ссылку Настройка уведомлений о событиях по протоколу Syslog. Откроется окно "Настройка отправки сообщений Syslog" (см. рисунок 3).
Рисунок 3 -- Окно "Настройка отправки сообщений Syslog"
-
В окне укажите следующие настройки:
- включите отправку уведомлений установив соответствующий флаг;
- в поле Сервер укажите IP-адрес лог-коллектора;
- в поле Порт укажите порт, по которому лог-коллектор будет принимать события от данного источника: "515";
- нажмите кнопку ОК.
-
В файл конфигурации лог-коллектора
config.yaml
внесите следующие изменения:udp_input_vGate: & udp_input_vGate id: "udp_input_vGate" host: "<ip-адрес лог-коллектора>" port: 515 sock_buf_size: 0 format: "json" log_level: "INFO" tcp_output_vGate: & tcp_output_vGate id: "tcp_output_asa" target_host: "<ip адрес Платформы Радар/или балансера>" port: 2745 sock_buf_size: 0 log_level: "INFO" collectors: udp_receiver: - <<: *udp_input_vGate senders: port: 48002 tcp: - <<: *tcp_output_vGate route_vGate: &route_vGate collector_id: - "udp_input_vGate" sender_id: - "tcp_output_vGate" routers: - <<: *route_vGate
-
Перезапустите службу лог-коллектора.
- Перейдите в раздел Администрирование → Источники → Управление источниками.
- Включите источник vGate.
- Нажмите кнопку Синхронизировать.
- Перейдите в раздел События и проверьте наличие потока событий от данного источника.
VMware ESXi
Характеристики источника в Платформе Радар:
Характеристика | Значение |
---|---|
Название | Vmware-ESXi |
Тип | Hypervisor |
Вендор | Vmware |
Порт | 2740 |
Протокол | TCP |
Для настройки источника выполните следующие действия:
- Войдите в интерфейс системы под учетной записью с правами администратора.
- Перейдите в раздел Manage → System → Advanced settings.
-
Откройте на редактирование настройку Syslog.global.logHost (см. рисунок 4).
Рисунок 4 -- Настройка Syslog.global.logHost
-
В открывшемся окне (см. рисунок 5) укажите IP-адрес лог-коллектора и порт, по которому лог-коллектор будет принимать события от данного источника: "2740".
Рисунок 5 -- Настройка Syslog.global.logHost
-
Создайте правило службы
firewall
для ESXi:- перейдите в консоль ESXi;
-
сделайте резервную копию конфигурационного файла с правилами службы
firewall
:# cp /etc/vmware/firewall/service.xml /etc/vmware/firewall/service.xml.bak
-
выдайте разрешение на запись конфигурационного файла:
# chmod 644 /etc/vmware/firewall/service.xml
-
установите
sticky bit flag
:# chmod +t /etc/vmware/firewall/service.xml
-
откройте на редактирование конфигурационный файл службы:
# vi /etc/vmware/firewall/service.xml
-
перед последней строчкой файла укажите следующее правило:
<service id='0045'> <id>CustomSyslog</id> <rule id='0000'> <direction>outbound</direction> <protocol>udp</protocol> <porttype>dst</porttype> <port>2740</port> </rule> <enabled>true</enabled> <required>true</required> </service>
-
сохраните внесенные изменения;
-
верните права на запись конфигурационного файла в исходное состояние:
# chmod 444 /etc/vmware/firewall/service.xml
-
обновите состояние службы
firewall
:# localcli network firewall refresh
-
проверьте состояние добавленного правила (см. рисунок 6).
Рисунок 6 -- Проверка состояния добавленного правила
-
В файл конфигурации лог-коллектора
config.yaml
внесите следующие изменения:udp_input_vmware_esxi: & udp_input_vmware_esxi id: "udp_input_vmware_esxi" host: "<ip-адрес лог-коллектора>" port: 2740 sock_buf_size: 0 format: "json" log_level: "INFO" tcp_output_vmware_esxi: & tcp_output_vmware_esxi id: "tcp_output_vmware_esxi" target_host: "<ip адрес Платформы Радар/или балансера>" port: 2740 sock_buf_size: 0 log_level: "INFO" collectors: udp_receiver: - <<: *udp_input_vmware_esxi senders: port: 48002 tcp: - <<: *tcp_output_vmware_esxi route_vmware_esxi: &route_vmware_esxi collector_id: - "udp_input_vmware_esxi" sender_id: - "tcp_output_vmware_esxi" routers: - <<: *route_vmware_esxi
-
Перезапустите службу лог-коллектора.
- Перейдите в раздел Администрирование → Источники → Управление источниками.
- Включите источник Vmware-ESXi.
- Нажмите кнопку Синхронизировать.
- Перейдите в раздел События и проверьте наличие потока событий от данного источника.