Массовое обновление KUMA агентов
Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.
Данный механизм работает с версии 3.4 KUMA, т.к именно в ней добавиляась поддержка ключа --accept-eula
С сервера, нас которойким базового аудем запускать скрипта Clickhouse понадобиятся:1. Дсетевые доступы к серверам по 5985/TCP для запуска команд и 445/TCP для передачи файлов, также права локального администратора на сервере.
За основу берем скрипт
И заполняем в нём ключевые поля, а именно:
# Список серверов
$servers = @("server1.domain.local", "server2.domain.local")
# Задаем переменную версии
$version = "3.4.0.551"
# Локальный путь к файлу, который нужно скопировать
$localFilePath = "C:\Temp\kuma.exe"
# Путь на удаленном сервере, куда будет скопирования обычных запросов (в том числе grant, create) включить логирование в основном файл (если
используется /etc/clickhouse-server/config.xmlнестандартный путь для установки KUMA агента)
$remoteFilePath = "C$\Program Files\Kaspersky Lab\KUMA\kuma.exe"
вПринцип работы секцриипта:
1. logger как минимум необходимо задать формат information
#########################################
<clickhouse>
<logger>
<level>information</level>
#########################################
2. Для логирования пПодключаений, таких как:
вход пользователя
выход пользователя
неуспешный вход
потребуетмся к серверу
2. Проздаверяем, есть ли служба KUMA на сервере
3. Останотдвка службы KUMA
4. Копируем обновльенный файл kuma.exe /etc/clickhouse-server/config.d/session_log.xml
с содержимым:
<clickhouse>
<session_log>
<database>system</database>
<table>session_log</table>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</session_log>
</clickhouse>
3. Перезапустить службу командой systemctl restart clickhouse-server
В базе system появится новая таблица со следующими колонками:
Создаём пользователя для подключения к БД для KUMA и выдаём ему необходимые права следующим командами:
###Создание пользователя для коллектораию KUMA
CREATE5. USERПравим kumaфайл HOSTс IPлицензионным '10.10.10.1/32'соглашением IDENTIFIED(обновляем WITH sha256_password BY 'supersecretpassword';
####Создначение VIEW дляверсии вывод файле нескольких.license-version
запросов
CREATE VIEW combined_logs AS
SELECT event_time,
user,
query_kind,
exception,
client_hostname,
client_name,
http_user_agent,
type,
replace(toString(initial_address), '::ffff:', '') AS ipv4_address,
query
FROM system.query_log ql
WHERE match(toString(initial_address), '^::ffff:')
AND query_kind IN ('Grant', 'Create', 'Drop')
UNION ALL
SELECT event_time,
user,
NULL AS query_kind, --6. Добавляем NULL для отсутствующего столбца `query_kind`
NULL AS exception, -- Добавляем NULL для отсутствующего столбца `exception`
NULL AS client_hostname, -- Добавляем NULL для отсутствующего столбца `client_hostname`
NULL AS client_name, -- Добавляем NULL для отсутствующего столбца `client_name`
NULL AS http_user_agent, -- Добавляем NULL для отсутствующего столбца `http_user_agent`
type,
replace(toString(client_address), '::ffff:', '') AS ipv4_address,
NULL AS query -- Добавляем NULL для отсутствующего столбца `query`
FROM system.session_log
WHERE `type` = '0';
####Назначение прав на VIEW
GRANT SELECT ON combined_logs TO kuma
Нареестройка инстанса завершена, мов служнобе приступатьKUMA к подключению логов в KUMA.
В KUMA необходимо создать коллектор с транспортом sql (плейсхолдер для Clickhouse --accept-eula
?)7. и Запараметрами как на ускриншоте:
Создаём нормализатор, мапим колонки БД в нужные нам поля KUMA и получаем слоужбу KUMA аг.
ента