Настройка получения событий по произвольному порту
Некоторые точки входа, такие как Syslog, позволяют получать события только по портам из определенного диапазона, например, 30000—32767. Однако, если нет возможности передавать события из внешней системы на порты из этого диапазона, вы можете настроить проксирование трафика через Ingress-контроллер. В таком случае информация о событиях будет перенаправляться из порта, на который она поступает, на порт, который будет использоваться в конвейере обработки событий.
Чтобы настроить проксирование трафика TCP и UDP с данными о событиях, выполните следующие действия:
-
Подключитесь к терминалу master-узла кластера.
-
Создайте ConfigMap
tcp-services, выполнив следующую команду:kubectl apply -f - <<EOF apiVersion: v1 kind: ConfigMap metadata: name: tcp-services namespace: <namespace> data: <tcp_port>: "<namespace>/wl-<collector_id>-collector-main:<entry_point_port>" EOFЗдесь:
-
<namespace>— название пространства имен, в котором установлена система. -
<tcp_port>— порт, с которого перенаправляется TCP-трафик. -
<collector_id>— идентификатор коллектора, в котором находится точка входа.Идентификатор можно посмотреть в поле ID на вкладке Информация в карточке коллектора. -
<entry_point_port>— порт точки входа, на который необходимо перенаправить TCP-трафик.
-
-
Создайте ConfigMap
udp-services, выполнив следующую команду:kubectl apply -f - <<EOF apiVersion: v1 kind: ConfigMap metadata: name: udp-services namespace: <namespace> data: <tcp_port>: "<namespace>/wl-<collector_id>-collector-main:<entry_point_port>" EOFЗдесь:
-
<namespace>— название пространства имен, в котором установлена система. -
<udp_port>— порт, с которого перенаправляется UDP-трафик. -
<collector_id>— идентификатор коллектора, в котором находится точка входа.Идентификатор можно посмотреть в поле ID на вкладке Информация в карточке коллектора. -
<entry_point_port>— порт точки входа, на который необходимо перенаправить UDP-трафик.
-
-
Добавьте созданные объекты ConfigMap в список аргументов запуска контроллера Nginx, выполнив следующие команды:
kubectl -n ingress-nginx patch deployment ingress-nginx-controller --type='json' -p='[{"op": "add", "path": "/Pod Template/Containers/controller/Args", "value": "--tcp-services-configmap=<namespace>/tcp-services"}]' kubectl -n ingress-nginx patch deployment ingress-nginx-controller --type='json' -p='[{"op": "add", "path": "/Pod Template/Containers/controller/Args", "value": "--udp-services-configmap=<namespace>/udp-services"}]'Здесь:
-
<namespace>— название пространства имен, в котором установлена система.
-
-
Чтобы открыть на прослушивание порты, на которые поступают события из внешней системы, добавьте их в конфигурацию сервиса
ingress-nginx-controller:-
Создайте файл патча
ingress-nginx-svc-controller-patch.ymlсо следующим содержимым:spec: ports: - name: syslog-tcp port: <tcp_port> - name: syslog-udp port: <udp_port>Здесь:
-
<tcp_port>— порт, с которого перенаправляется TCP-трафик. -
<udp_port>— порт, с которого перенаправляется UDP-трафик.
-
-
Примените патч к конфигурации сервиса
ingress-nginx-controller, выполнив следующую команду:kubectl -n ingress-nginx patch service ingress-nginx-controller --patch "$(cat ingress-nginx-svc-controller-patch.yml)"
-
-
Дождитесь, пока поды контроллера Nginx перезапустятся и перейдут в статус
Running.Чтобы проверить статус подов контроллера Nginx, вы можете выполнить следующую команду:
kubectl -n ingress-nginx get pods -l app.kubernetes.io/instance=ingress-nginx -
Добавьте на конвейер точку входа со следующими свойствами:
-
Тип точки входа: в соответствии с типом внешней системы.
-
Протокол: TCP или UDP.
-
Порт: порт, указанный в значении ключа порта для ConfigMap
tcp-servicesилиudp-services, в соответствии с выбранным вами протоколом.
-
-
Включите конвейер и убедитесь, что события поступают в систему.
Если после выполнения вышеперечисленных шагов события не поступают в систему, обратитесь в службу поддержки по адресу support@rvision.ru.
Пример настройки проксирования событий
Рассмотрим следующий пример настройки проксирования трафика для точки входа Syslog:
-
Точка входа находится в коллекторе с идентификатором
20483267-4a08-49b8-8abd-7389c50a805d. -
TCP-трафик перенаправляется с порта 514 на 30000.
-
UDP-трафик перенаправляется с порта 515 на 30001.
-
Система установлена в пространстве имен Kubernetes
evo.
Чтобы настроить проксирование трафика с данными о событиях, выполните следующие действия:
-
Подключитесь к терминалу master-узла кластера.
-
Создайте ConfigMap
tcp-services, выполнив следующую команду:kubectl apply -f - <<EOF apiVersion: v1 kind: ConfigMap metadata: name: tcp-services namespace: evo data: 514: "evo/wl-20483267-4a08-49b8-8abd-7389c50a805d-collector-main:30000" EOF -
Создайте ConfigMap
udp-services, выполнив следующую команду:kubectl apply -f - <<EOF apiVersion: v1 kind: ConfigMap metadata: name: udp-services namespace: evo data: 515: "evo/wl-20483267-4a08-49b8-8abd-7389c50a805d-collector-main:30001" EOF -
Добавьте созданные объекты ConfigMap в список аргументов запуска контроллера Nginx, выполнив следующие команды:
kubectl -n ingress-nginx patch deployment ingress-nginx-controller --type='json' -p='[{"op": "add", "path": "/Pod Template/Containers/controller/Args", "value": "--tcp-services-configmap=evo/tcp-services"}]' kubectl -n ingress-nginx patch deployment ingress-nginx-controller --type='json' -p='[{"op": "add", "path": "/Pod Template/Containers/controller/Args", "value": "--udp-services-configmap=evo/udp-services"}]' -
Чтобы открыть на прослушивание порты, на которые поступают события из внешней системы, добавьте их в конфигурацию сервиса
ingress-nginx-controller:-
Создайте файл патча
ingress-nginx-svc-controller-patch.ymlсо следующим содержимым:spec: ports: - name: syslog-tcp port: 514 - name: syslog-udp port: 515 -
Примените патч к конфигурации сервиса
ingress-nginx-controller, выполнив следующую команду:kubectl -n ingress-nginx patch service ingress-nginx-controller --patch "$(cat ingress-nginx-svc-controller-patch.yml)"
-
-
Дождитесь, пока поды контроллера Nginx перезапустятся и перейдут в статус
Running.Чтобы проверить статус подов контроллера Nginx, вы можете выполнить следующую команду:
kubectl -n ingress-nginx get pods -l app.kubernetes.io/instance=ingress-nginx -
Добавьте на конвейер точку входа со следующими свойствами:
-
Тип точки входа: Syslog.
-
Протокол: TCP или UDP.
-
Порт:
-
Если выбран протокол TCP — 30000.
-
Если выбран протокол UDP — 30001.
-
-
-
Включите конвейер и убедитесь, что события поступают в систему.
Была ли полезна эта страница?