Обновление системы
В данном разделе описаны действия по обновлению R-Vision SIEM.
Обновление состоит из следующих этапов:
Подготовка к обновлению
Перед обновлением R-Vision SIEM до новой версии выполните подготовительные действия:
При обновлении системы с определенных версий имеется ряд особенностей:
Особенности обновления системы с версии ниже 2.0.0
В системе версии ниже 2.0.0 может возникать ошибка при просмотре логов коллектора в интерфейсе:
Не удалось получить логи коллектора.
connect ECONNREFUSED <...>
В логах пода loki-gateway
отображается ошибка:
host not found in resolver "coredns.kube-system.svc.cluster.local." in /etc/nginx/nginx.conf:33
Причина: чарт Loki по умолчанию использует имя coredns
для конфигурации разрешения имен пода loki-gateway
, однако в кластере может использоваться другое имя для сервиса DNS — например, kube-dns
.
В системе версии 2.0.0 и выше данный параметр определяется автоматически, но при обновлении с более старой версии проблема может воспроизводиться, поэтому перед обновлением следует ее устранить.
Решение: нужно исправить конфигурацию сервиса loki-gateway
. Для этого:
-
Получите фактическое имя DNS-сервиса:
K8S_DNS_SERVICE="$(kubectl get service -n kube-system -l k8s-app=kube-dns -o 'jsonpath={.items..metadata.name}')"
-
Получите конфигурацию
loki-gateway
:LOKI_CONFIG="$(get cm loki-gateway -n kube-prometheus-stack -o 'jsonpath={.data.nginx\.conf}')"
-
Сравните имена DNS-сервисов:
echo "K8s DNS: $K8S_DNS_SERVICE" echo "Loki DNS: $(echo "$LOKI_CONFIG" | grep resolver)"
Пример вывода имен DNS-сервисов
K8s DNS: kube-dns Loki DNS: resolver coredns.kube-system.svc.cluster.local.;
Если в выводе имена сервисов разные, перейдите к шагу 4.
-
Откройте карту конфигурации
loki-gateway
:KUBE_EDITOR=nano kubectl edit configmap/loki-gateway -n kube-prometheus-stack
Замените имя DNS-сервиса
coredns
послеresolver
на значение переменнойK8S_DNS_SERVICE
. После исправления строка карты конфигурации должна принять вид:resolver <dns_name>.kube-system.svc.cluster.local.;
Здесь:
-
<dns_name>
— имя DNS-сервиса Kubernetes, полученное на шаге 3, например,kube-dns
.
-
-
Сохраните файл и перезапустите
loki-gateway
:kubectl rollout restart deployment/loki-gateway -n kube-prometheus-stack
Особенности обновления системы с версии ниже 2.3.0
Начиная с версии 2.3.0 R-Vision SIEM поставляется на базе платформы R-Vision EVO.
Обновление SIEM с версий ниже 2.3.0 требует ручных действий.
Выключение коллекторов
Перед обновлением системы с версии ниже 2.3.0 необходимо выключить все работающие коллекторы.
После обновления все необходимые коллекторы и конвейеры нужно будет включить вручную.
Создание общей БД PostgreSQL
Сервисы платформы могут использовать как общую БД, так и собственные. В установщиках R-Vision SIEM версий ниже 2.3.0 общая БД отсутствует. Необходимо создать ее вручную с помощью команды:
kubectl exec -n <namespace> sts/postgresql -- psql -U <username> -d postgres -c 'CREATE DATABASE evo;'
Здесь:
-
<namespace>
— имя пространства имен, в котором установлен кластер. -
<username>
— имя пользователя PostgreSQL. По умолчанию:siem-user
.
Обновление NATS
Начиная с версии 2.2.0 в поставку R-Vision SIEM входит NATS. При обновлении с 2.2.x необходимо предварительно удалить предыдущие helm-релизы NATS, чтобы избежать ошибок. Для этого:
-
Удостоверьтесь, что NATS развернут в необходимом пространстве имен:
helm list -n <namespace> | grep nats-
-
Удалите nats-main и nats-bridge при их наличии:
helm uninstall -n <namespace> nats-bridge helm uninstall -n <namespace> nats-main
Здесь:
-
<namespace>
— имя пространства имен, в котором установлен кластер.
Устранение проблем при обновлении
При обновлении системы установщик выполняет ряд специфичных действий по переносу конфигурационных параметров SIEM в платформу.
Если во время обновления системы произошел сбой, выполните следующие действия:
-
Удалите метаданные модулей, которые успели развернуться до сбоя:
kubectl get cm -n <namespace> -o name | grep release-info | xargs -n1 -t kubectl delete -n <namespace>
-
Запустите обновление повторно без распаковки дистрибутива:
export PATH=$PATH:/opt/r-vision/common/bin evoctl instance update -v
Обновление системы
Чтобы обновить систему до новой версии:
-
Запустите установщик и выберите режим установки Updating previous version.
При выборе обновления выполняется распаковка пакетов в каталог продукта и управление передается скрипту установщика.
-
Выберите пространство имен, в котором установлена система.
-
Задайте параметры Ansible:
-
Имя пользователя.
-
Метод аутентификации: через ключ или по паролю.
-
Пароль: задайте и подтвердите пароль пользователя.
-
В целевом пространстве имен будут обновлены все чарты системы из директории siem/helm
.
После обновления системы убедитесь, что у вас установлена поддерживаемая версия ClickHouse. Если ваша версия ClickHouse отличается от поддерживаемой, обновите ClickHouse до требуемой версии. |
После обновления на экран будет выведен URL-адрес для подключения к системе.
Авторизация в системе
Чтобы выполнить вход в систему:
-
В адресной строке браузера введите URL-адрес, выведенный на экран после обновления системы. На экране отобразится страница авторизации.
-
Укажите логин и пароль учетной записи пользователя и нажмите на кнопку Войти.