Перейти к содержанию

Системы виртуализации

При работе по подключению систем виртуализации в качестве источника событий в Платформу Радар вам может пригодиться следующая справочная информация:

KVM Hypervisor

Характеристики источника в Платформе Радар:

Характеристика Значение
Название KVM-Hypervisor
Тип Hypervisor
Вендор RedHat
Порт 2746
Протокол TCP

Для настройки источника выполните следующие действия:

  1. При необходимости установите 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
      
  2. Проверьте работу 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
      
  3. Настройте службу 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-адрес лог-коллектора и порт, по которому лог-коллектор будет принимать события от данного источника.
  4. Проверьте конфигурацию службы 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.
    
  5. Для проверки конкретного файла конфигурации используйте следующие команды:

    # 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.
    
  6. Перезапустите службу rsyslog:

    # systemctl restart rsyslog
    
  7. В файл конфигурации лог-коллектора 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
    
  8. Перезапустите службу лог-коллектора.

  9. Перейдите в раздел АдминистрированиеИсточникиУправление источниками.
  10. Включите источник KVM-Hypervisor.
  11. Нажмите кнопку Синхронизировать.
  12. Перейдите в раздел События и проверьте наличие потока событий от данного источника.

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.

Для настройки источника выполните следующие действия:

  1. В файл конфигурации лог-коллектора 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
    
  2. Перезапустите службу лог-коллектора.

  3. Перейдите в раздел АдминистрированиеИсточникиУправление источниками.
  4. Включите источник Microsoft-Windows-HyperV.
  5. Нажмите кнопку Синхронизировать.
  6. Перейдите в раздел События и проверьте наличие потока событий от данного источника.

Proxmox

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Proxmox
Тип Hypervisor
Вендор Proxmox
Порт 4400
Протокол TCP

Журналирование событий Proxmox выполняется в системный журнал syslog. За журналирование отвечает демон pvedaemon.

Для настройки источника выполните следующие действия:

  1. Создайте шаблон для службы rsyslog по пути /etc/rsyslog.d/. Например, proxmox_to_pangeoradar.conf:

    # sudo nano /etc/rsyslog.d/proxmox_to_pangeoradar.conf
    
  2. Добавьте пустую строку в шаблон и сохраните изменения.

  3. После создания шаблона, журналы событий в системе 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
    
  4. Перезапустите службу rsyslog.

    # systemctl restart rsyslog
    
  5. При необходимости исключите ненужные журналы при отправке. Для этого в функции $msg contains добавьте отрицание not и укажите слово, характеризующее журнал, например:

    if ($programname == 'pvedaemon') and not ($msg contains 'worker') then @IP:PORT
    

    Где:

    • worker - будут отправлены все журналы, кроме тех, в которых встречается слово worker;
    • IP- IP-адрес лог-коллектора;
    • PORT - порт, по которому лог-коллектор будет принимать события от данного источника;
    • @ - отправка журналов по протоколу UDP.
  6. В файл конфигурации лог-коллектора 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
    
  7. Перезапустите службу лог-коллектора.

  8. Перейдите в раздел АдминистрированиеИсточникиУправление источниками.
  9. Включите источник Proxmox.
  10. Нажмите кнопку Синхронизировать.
  11. Перейдите в раздел События и проверьте наличие потока событий от данного источника.

vGate

Характеристики источника в Платформе Радар:

Характеристика Значение
Название vGate
Тип Hypervisor
Вендор Security-Code
Порт 2745
Протокол TCP

Для настройки источника выполните следующие действия:

  1. Войдите в консоль управления системой.
  2. Перейдите в раздел НастройкиАудит и нажмите на ссылку Настройки сбора сообщений. Откроется окно "Настройка аудита события" (см. рисунок 1).

    Настройка отправки событий в Syslog

    Рисунок 1 -- Настройка аудита события

  3. В окне "Настройка аудита события" установите флаги Включить аудит события и Отправка Syslog.

  4. Нажмите кнопку ОК.
  5. Отметьте уведомления, которые необходимо отправлять в Платформу Радар, установив соответствующие флаги (см. рисунок 2).

    Добавление всех уведомлений Рисунок 2 -- Выбор уведомлений для отправки

  6. Нажмите кнопку Применить.

  7. Нажмите на ссылку Настройка уведомлений о событиях по протоколу Syslog. Откроется окно "Настройка отправки сообщений Syslog" (см. рисунок 3).

    Настройка адреса и порта

    Рисунок 3 -- Окно "Настройка отправки сообщений Syslog"

  8. В окне укажите следующие настройки:

    • включите отправку уведомлений установив соответствующий флаг;
    • в поле Сервер укажите IP-адрес лог-коллектора;
    • в поле Порт укажите порт, по которому лог-коллектор будет принимать события от данного источника: "515";
    • нажмите кнопку ОК.
  9. В файл конфигурации лог-коллектора 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
    
  10. Перезапустите службу лог-коллектора.

  11. Перейдите в раздел АдминистрированиеИсточникиУправление источниками.
  12. Включите источник vGate.
  13. Нажмите кнопку Синхронизировать.
  14. Перейдите в раздел События и проверьте наличие потока событий от данного источника.

VMware ESXi

Характеристики источника в Платформе Радар:

Характеристика Значение
Название Vmware-ESXi
Тип Hypervisor
Вендор Vmware
Порт 2740
Протокол TCP

Для настройки источника выполните следующие действия:

  1. Войдите в интерфейс системы под учетной записью с правами администратора.
  2. Перейдите в раздел ManageSystemAdvanced settings.
  3. Откройте на редактирование настройку Syslog.global.logHost (см. рисунок 4).

    Настройка адреса и порта

    Рисунок 4 -- Настройка Syslog.global.logHost

  4. В открывшемся окне (см. рисунок 5) укажите IP-адрес лог-коллектора и порт, по которому лог-коллектор будет принимать события от данного источника: "2740".

    Настройка адреса и порта

    Рисунок 5 -- Настройка Syslog.global.logHost

  5. Создайте правило службы 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 -- Проверка состояния добавленного правила

  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
    
  7. Перезапустите службу лог-коллектора.

  8. Перейдите в раздел АдминистрированиеИсточникиУправление источниками.
  9. Включите источник Vmware-ESXi.
  10. Нажмите кнопку Синхронизировать.
  11. Перейдите в раздел События и проверьте наличие потока событий от данного источника.