Первичный траблшут в KUMA :::warning :warning: Для открытия рисунка в полном размере, нажмите правой кнопкой мыши на изображении и выберите пункт "Открыть изображение в новой вкладке" ::: # Содержание [toc] # Проверка статуса основных компонентов Основные службы KUMA: ```bash= systemctl status kuma-collector-ID_СЕРВИСА.service systemctl status kuma-correlator-ID_СЕРВИСА.service systemctl status kuma-storage-ID_СЕРВИСА.service systemctl status kuma-core.service systemctl status kuma-clickhouse.service systemctl status kuma-mongodb.service systemctl status kuma-victoria-metrics.service systemctl status kuma-grafana.service ``` ID_СЕРВИСА можно скопировать в веб-интерфейсе системы, в разделе Активные сервисы, выделив в checkbox нужный сервис, затем нажав кнопку скопировать ID. ![](https://hackmd.io/_uploads/Sy6ch8Ri3.png) <br> # Проверка журнала ошибок KUMA ```/opt/kaspersky/kuma/<Компонент>/<ID_компонента>/log/<Компонент>``` Пример: ```/opt/kaspersky/kuma/storage/<ID хранилища>/log/storage``` Для неактуальных версий: - ```journalctl –xe``` - Журнал ошибок Click-House: ```/opt/kaspersky/kuma/clickhouse/logs/clickhouse-server.err.log``` <br> # Вывод ошибок сервиса в консоль В случае отсутствия информации в журналах целесообразно вывести информацию в консоль. Проверяем статус сервиса и копируем его параметры запуска: ![](https://hackmd.io/_uploads/rJ1QA8Cs3.png) **Останавливаем сервис** и запускаем следующим образом, пример команды ниже: ```bash sudo -u kuma /opt/kaspersky/kuma/kuma collector --id cef0527c-25ad-4490-a8ce-bf9ab2af71ee --core https://test-kuma.sales.lab:7210 --api.port 7276 ``` <br> # Пустые метрики В случае если раздел метрик пустой (отсутствуют значения на дашбордах), то проверьте указан ли IP и hostname сервера KUMA в файле /etc/hosts, если нет то добавьте. Перезапустите службы: ```bash systemctl restart kuma-victoria-metrics.service systemctl restart kuma-grafana.service ``` Либо присутствует конфликт со службой Cockpit на Oracle Linux. Она слушает тот же порт 9090, что и Victoria Metrics. Останови Cockpit и посмотри, поднимутся ли метрики. Либо проблема из-за наличия прокси между ядром и АРМом, с которого к вебке подключались. <br> # Проверка прослушивания порта, например, 5144 ```bash netstat –antplu | grep 5144 ``` <br> # Работа с портами на МЭ (firewall-cmd) Проверка открытых портов на МЭ: ```bash firewall-cmd --list-ports ``` Добавление порта 7210 на МЭ: ```bash firewall-cmd --add-port=7210/tcp --permanent ``` Применение настроек: ```bash firewall-cmd --reload ``` <br> # Проверка получения событий на порту 5144 в ASCII ```bash tcpdump -i any port 5144 -A ``` <br> # Отправка тестового события на порт 5144, для проверки работы коллектора Для TCP: ```bash nc 127.0.0.1 5144 <<< 'CEF:0|TESTVENDOR|TESTPRODUCT|1.1.1.1|TEST_EVENT|This is a test event|Low|message="just a test coming through"' ``` Для UDP: ```bash nc -u 127.0.0.1 5144 <<< 'CEF:0|TESTVENDOR|TESTPRODUCT|1.1.1.1|TEST_EVENT|This is a test event|Low|message="just a test coming through"' ``` <br> # Статус службы красный / Ошибка на компоненте Переписать / перепроверить учетные данные (если используются) используемые в коннекторе на коллекторе. Проверить владельца папки службы, должно быть **kuma:kuma** Посмотреть статус сервиса через консоль ssh. В случае если он запущен остановить: ```bash systemctl stop kuma-collector-ID_СЕРВИСА.service ``` запустить вручную (```--api.port``` выбирайте любой свободный), и посмотреть есть ли ошибки при запуске: ```bash /opt/kaspersky/kuma/kuma collector --id ID_СЕРВИСА --core https://FQDN_KUMA:7210 --api.port 7225 ``` Если будут ошибки, они явно отразятся в консоли. <br> # Ручная очистка пространства хранилища Выберите в активных сервисах - сервис хранилища (storage) и нажмите на кнопку смотреть разделы. Удаляйте наиболее старые партиции. <br> # Создание сервисов в случае их отсутствия Если в разделе **Ресурсы – Активные сервисы** отсутствуют что-либо, то необходимо создать необходимые службы. ## Создаем сервис хранилища Перейдите в **Ресурсы – Хранилища** затем нажать на кнопку **Добавить хранилище** придумайте название и затем укажите количество дней хранения событий и событий аудита (от 365 дней срок хранения аудита), затем нажмите **Сохранить**. Публикуем созданный сервис **Ресурсы – Активные сервисы** затем выбрать созданный ранее сервис и нажать на кнопку Создать сервис. Скопируйте идентификатор сервиса: ![](https://hackmd.io/_uploads/BkPEGvRi2.png) Выполните команду в консоли: ```bash /opt/kaspersky/kuma/kuma storage --id <ВАШ_ИДЕНТИФИКАТОР> --core https://<FQDN/ИМЯ_ХОСТА_СЕРВЕРА_ЯДРА>:7210 --api.port 7230 --install ``` В разделе **Ресурсы – Активные сервисы** убедитесь, что служба работает более 30 секунд с «зеленым» статусом индикатора: ![](https://hackmd.io/_uploads/HyC5GD0sn.png) Далее создадим точку назначения, которая используется в маршрутизации событий, перейдите в **Ресурсы – Точки назначения**, затем нажмите на кнопку **Добавить точку назначения**. Придумайте название и затем в поле URL укажите FQDN и порт службы хранилища, например: ```kuma-1-5-1.sales.lab:7230```, затем нажмите **Сохранить**. Аналогичные действия понадобятся для установки остальных компонентов, только в интерфейсе будет доступна команда, которую необходимо будет выполнить для установки службы. ## Создаем сервис коррелятора Развернем коррелятор, перейдите в **Ресурсы – Корреляторы**, нажмите на кнопку Добавить коррелятор и затем пройдите по мастеру настроек, на шаге добавления маршрутизации добавьте точку назначения ранее созданного хранилища: ![](https://hackmd.io/_uploads/rJezmwCjn.png) На последнем шаге нажмите кнопку **Сохранить и создать сервис**, в случае отсутствия ошибок появится командная строка для установки службы, скопируйте ее и выполните по ssh. ![](https://hackmd.io/_uploads/B1NmQD0in.png) Аналогично по мастеру создаются коллекторы для приема или получения событий с источников. <br> # Ошибка скрипта при установке - ipaddr Если при установке возникает следующая ошибка (пишется в конце исполнения скрипта): ![](https://hackmd.io/_uploads/B1dr7wAs3.png) То попробуйте установить нужную библиотеку для python, это было в требованиях https://support.kaspersky.com/KUMA/1.6/ru-RU/231034.htm, в случае отсутствия возможности это сделать то закомментируйте (вставьте # перед строками) следующие строки в файле ```kuma-ansible-installer/tasks/validate-inventory.yml```: ``` #- name: Ensure there is no IP as hostname # loop: "{{ groups.all }}" # when: item | ansible.netcommon.ipaddr # fail: # msg: | # host: {{ item }} # error: Hostname expected ``` <br> # Мониторинг работы ядра в кластере Kubernetes На хосте контроллера можно посмотреть какие сервисы запущены: ```bash k0s kubectl get pods --all-namespaces ``` По команде выше, в столбце NAMESPACE нам интересна строка kuma, в этой строке берем значение столбца NAME для просмотра конфигурации используем команду: ```bash k0s kubectl get pod core-deployment-984fd44df-5cfk5 -n kuma -o yaml | less ``` Получить список рабочих узлов: ```bash k0s kubectl get nodes ``` Получить расширенную инфу по рабочему узлу, в т.ч. потребление: ```bash k0s kubectl describe nodes kuma-4.local ``` Зайти в командную строчку пода core-*: ```bash k0s kubectl exec --stdin --tty core-deployment-984fd44df-gqzlx -n kuma -- /bin/sh ``` Потребление ресурсов контейнеров внутри пода: ```bash k0s kubectl top pod core-deployment-984fd44df-gqzlx -n kuma --containers ``` Для более удобного управления кластером используйте утилиту k9s - https://github.com/derailed/k9s После установки ядра в кластере в папке установки прописывается конфиг, например, ```/root/kuma-ansible-installer/artifacts/k0s-kubeconfig.yml```. Его надо “скормить” k9s командой: ```export KUBECONFIG=/root/kuma-ansible-installer/artifacts/k0s-kubeconfig.yml``` Далее можно запустить утилиту просто указав на исполняемый файл ```/root/.local/opt/k9s-v0.27.2/bin/k9s``` ![](https://hackmd.io/_uploads/SJnp7vRjh.png) <br> # Не запускается хранилище после перезагрузки в версии от 2.1 Прописать следующую команду в SSH консоли: ```bash sudo -u kuma touch /opt/kaspersky/kuma/clickhouse/data/flags/force_restore_data ``` <br> # Слушать на 514 порту (порты < 1024) По умолчанию это невозможно, так работает Linux. Для обхода этого в описании сервиса: ``` /usr/lib/systemd/system/kuma-collector-<ID> ``` Добавьте значение ниже тега [Service] ``` AmbientCapabilities=CAP_NET_BIND_SERVICE ``` Затем запустите команду ниже для обновления параметров сервиса ``` systemctl daemon-reload ``` <br> # Ошибка БД Table read only replicas Ошибка в логах хранилища выглядит так: ![](https://hackmd.io/_uploads/HyVkodCjn.png) Зайдите в клиент ClickHouse: ``` /opt/kaspersky/kuma/clickhouse/bin/client.sh ``` Выполните команду: ``` system restart replica on cluster kuma kuma.events_local_v2 ``` Для выхода из клиента нажмите **Ctrl+D**. <br>