Установка агентов Proto Observability Platform
На этой странице:
- Описание
- Linux
- Windows
- Docker
- Kubernetes
- Работа агента через proxy
- Файлы конфигурации агента
- Проверка работы агента
- Логи агента
Описание
ProtoOBP агент автоматически собирает метрики, трейсы и логи и отправляет полученные данные на ProtoOBP Backend сервер.
Сбор трейсов приложения осуществляется с помощью трейсеров, автоматически инструментируя код следующих языков программирования:
Сбор метрик осуществляется автоматически для всех поддерживамых технологий
Схема взаимодействия компонентов ProtoOBP

Поддерживаемые технологии
Linux
Linux агент – установка
Агент работает на всех основных DEB/RPM дистрибутивах ОС Linux. Подробнее
-
Скачайте и установите пакет с агентом для вашей ОС
curl --header "PRIVATE-TOKEN:<your_token>" "https://git.proto.group/api/v4/projects/125/packages/generic/protoobp-agent/7.40.2/protoobp-agent_7.40.2_amd64.deb" --output protoobp-agent_7.40.2_amd64.deb apt install ./protoobp-agent_7.40.2_amd64.debЗначение
<your_token>берется из лицензионного сертификата, полученного ранее от вендора, из раздела “Учетные данные -> Пароль”curl --header "PRIVATE-TOKEN:<your_token>" "https://git.proto.group/api/v4/projects/125/packages/generic/protoobp-agent/7.40.2/protoobp-agent_7.40.2_amd64.rpm" --output protoobp-agent_7.40.2_amd64.rpm rpm -ivh protoobp-agent_7.40.2_amd64.rpmЗначение
<your_token>берется из лицензионного сертификата, полученного ранее от вендора, из раздела “Учетные данные -> Пароль”.В случае появления ошибки на Альт или Роса Линукс:
ошибка: Неудовлетворенные зависимости: glibc-common нужен для protoobp-agent-1:7.40.2-1.x86_64установку агента необходимо выполнить следующей командой:
rpm -ivh --nodeps protoobp-agent_7.40.2_amd64.rpm -
Убедитесь что агент корректно установлен, выполнив:
protoobp-agent versionРезультат выполнения команды:
Agent 7.40.2 - Meta: git.8.d01c4fd - Commit: d01c4fd - Serialization version: v5.0.32 - Go version: go1.18.8
Linux агент – конфигурация
-
По умолчанию файл конфигурации агента расположен в каталоге
/etc/protoobp-agent/ -
Создайте файл
protoobp.yaml:vim /etc/protoobp-agent/protoobp.yamlи укажите в нем следующее:
api_key: my_api_key pobp_url: http://protoobp-backend # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификат apm_config: apm_non_local_traffic: true apm_pobp_url: http://protoobp-backend # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификат telemetry: enabled: false agent_telemetry: enabled: false process_config: enabled: false process_collection: enabled: false container_collection: enabled: false process_discovery: enabled: falseГде,
api_key- ваш токен из лицензионного сертификатаpobp_url- адрес ProtoOBP Backend сервераapm_pobp_url- адрес ProtoOBP Backend сервера
Полный пример конфигурации, можно посмотреть в файле
protoobp.yaml.example -
Если на хосте запускаются
Dockerконтейнеры, то необходимо добавить пользователяpobp-agentв группу Docker, чтобы агент мог собирать метрики по работе контейнеров, в дополнение к метрикам самого хоста:usermod -a -G docker pobp-agent -
Если на хосте запускаются
Dockerконтейнеры с приложениями, в которые будут добавлены трейсеры:- При конфигурации трейсера для Docker контейнера с приложением, отсылающим трейсы в Агента, установленного на хосте (не в контейнере):
POBP_AGENT_HOST=host.docker.internal - При запуске контейнера с приложением добавьте опцию
extra_hostsв вашdocker-compose.yamlфайл:extra_hosts: - "host.docker.internal:host-gateway"host-gateway– это специальная строка-шаблон, появившаяся в Docker 20.10.0+, ее значение при использовании вextra_hostsбудет соответствовать IP адресу машины. Таким образом, по имениhost.docker.internalбудет доступен IP адрес машины.
- При конфигурации трейсера для Docker контейнера с приложением, отсылающим трейсы в Агента, установленного на хосте (не в контейнере):
-
Запустите агента, выполнив:
systemctl start protoobp-agentПри успешной настройке агента вы сможете увидеть новый хост в разделе
Инфраструктура>Хостыв течение одной-двух минут.
Обратите внимание
Для отображения нового хоста следует обновить страницу браузера целиком (кнопкаОбновить в правом верхнем углу веб-консоли обновляет только значения метрик на дашборде, но не список серверов).
Linux агент – управление
ProtoOBP Agent запускается как systemd служба - protoobp-agent.
| Действие | Команда |
|---|---|
| Запуск агента | systemctl start protoobp-agent |
| Остановка агента | systemctl stop protoobp-agent |
| Перезапуск службы | systemctl restart protoobp-agent |
Windows
Windows агент – установка
-
Скачайте
.msiустановщик с агентом (замените<YOUR_TOKEN>на значение вашего токена из вашего лицензионного сертификата)curl --header "PRIVATE-TOKEN:<YOUR_TOKEN>" "https://git.proto.group/api/v4/projects/125/packages/generic/protoobp-agent/7.40.2/protoobp-agent-7.40.2-x64.msi" --output protoobp-agent-7.40.2-x64.msi[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $webClient = New-Object System.Net.WebClient $webClient.Headers.Add("PRIVATE-TOKEN", "<YOUR_TOKEN>") $webClient.DownloadFile( "https://git.proto.group/api/v4/projects/125/packages/generic/protoobp-agent/7.40.2/protoobp-agent-7.40.2-x64.msi", "protoobp-agent-7.40.2-x64.msi" ) -
Запустите
.msiустановщик в графическом режиме и следуйте указаниям мастера установки агента, разрешите административные привилегии в момент запроса.- Для консольной установки используйте PowerShell команду (запуск PowerShell должен быть от Администратора):
Start-Process -Wait msiexec -ArgumentList '/qn /i protoobp-agent-7.40.2-x64.msi APIKEY="<YOUR-TOKEN>"'
- Для консольной установки используйте PowerShell команду (запуск PowerShell должен быть от Администратора):
GMSA
Использование GMSA не является обязательным. GMSA для установки и запуска агент может применяться в доменной структуре с ограничивающими доменными политиками безопасности или если при использовании стандартного способа установки агенту не хватает прав на запуск сервисов из-за ограничений безопасности.
Для использования агента с GMSA выполните следующие шаги:
-
Создайте Security Group и добавьте в нее все компьютеры, на которых будет установлен агент с использованием GMSA:
- Откройте
Active Directory Users and Computers(ADUC). - Перейдите в нужный
Organizational Unit(OU). - Сделайте клик правой кнопкой мыши и выберите
New > Group. - Назовите группу, например,
ProtoOBPAgentsGroup - Установите необходимый скоуп группы, например
Domain local. - Установите тип группы:
Security. - Добавьте в эту группу все компьютеры, которые будут использовать GMSA для установки и запуска агента.
- Откройте
-
Создайте GMSA c именем
ProtoobpGMSA:-
Октройте PowerShell с привилегиями Администратора.
-
Выполните следующую команду для создания GMSA, замените
<YOUR_DOMAIN_CONTROLLER_NAME>на DNS имя вашего контроллера домена:New-ADServiceAccount ` -Name ProtoobpGMSA ` -DNSHostName <YOUR_DOMAIN_CONTROLLER_NAME> ` -PrincipalsAllowedToRetrieveManagedPassword ProtoOBPAgentsGroupУбедитесь, что команда выполнена без ошибок.
В случае ошибок:
- создайте Kds ключ:
Add-KdsRootKey -EffectiveTime ((Get-Date).AddHours(-10)) - проверьте, что указанная группа существует:
Get-ADGroup -Identity ProtoOBPAgentsGroup - выполните создание GMSA еще раз:
New-ADServiceAccount ` -Name ProtoobpGMSA ` -DNSHostName <YOUR_DOMAIN_CONTROLLER_NAME> ` -PrincipalsAllowedToRetrieveManagedPassword ProtoOBPAgentsGroup
- создайте Kds ключ:
-
-
Подключите GMSA и убедитесь, что GMSA может быть использована на целевой машине. На целевой машине откройте PowerShell и выполните:
Install-ADServiceAccount -Identity ProtoobpGMSAУбедитесь, что команда выполнена без ошибок.
Проверьте, что GMSA успешно установлена:
Test-ADServiceAccount -Identity ProtoobpGMSAОжидаемый вывод команды:
TrueУстранение неполадок подключения GMSA на целевую машину:
- проверьте, какие группы имеют разрешение использовать GMSA:
если группа
Get-ADServiceAccount -Identity ProtoobpGMSA -Properties PrincipalsAllowedToRetrieveManagedPasswordProtoOBPAgentsGroupотсутствует в списке в разделеPrincipalsAllowedToRetrieveManagedPassword, обновите GMSA и добавьте группуProtoOBPAgentsGroup:Set-ADServiceAccount -Identity ProtoobpGMSA -PrincipalsAllowedToRetrieveManagedPassword ProtoOBPAgentsGroup - проверьте, что машина является членом группы:
убедитесь, что в выводе есть имя текущего компьютра, если его нет – добавьте компьютер в группу:
Get-ADGroupMember -Identity ProtoOBPAgentsGroupAdd-ADGroupMember -Identity ProtoOBPAgentsGroup -Members <ComputerName> - выполните обновление групповых политик, удалите Kerberos тикеты и перезагрузите компьютер:
gpupdate /force klist purge Restart-Computer
- проверьте, какие группы имеют разрешение использовать GMSA:
-
Установите агента с использованием GMSA:
- Если агент ранее был установлен стандартным методом (запуск от новой учетной записи
pobpagentuser, созданной на этапе установки агента), то необходимо полностью удалить агента и его файлы, перед использованием установки с использованием GMSA.- Через
Control Panelудалите пакет агента (через графический интерфейс). - Вручную удалите папку
C:\ProgramData\Protoobp(обязательный шаг, иначе последующая установка завершится ошибкой)
- Через
- Запустите
.msiустановщик агента. - Введите запрашиваемые ключ и адрес бэкенд сервера
- На этапе выбора учётной записи (
Please enter the username) укажите созданную и установленную на этой машине GMSA в формате:<ВАШ_ДОМЕН>\ProtoobpGMSA$– обязательно с символом$в конце. Поле пароль обязательно оставьте пустым. - Зайдите в веб-интерфейс агента, и выполните конфигурацию агента через веб-интерфейс.
- Откройте
services.mscи убедитесь, что агент запускается от имени доменной GMSA:

- Если агент ранее был установлен стандартным методом (запуск от новой учетной записи
Windows агент – конфигурация
-
Запустите веб-консоль управления агентом
ProtoOBP Agent Manager.

-
Откроется веб-браузер с консолью управления. В случае запроса изменения настроек безопасности – добавьте в доверенные узлы
http://127.0.0.1иabout:blank.

-
Перейдите в раздел
Settingsи в конфигурации агента укажите следующее:api_key: my_api_key pobp_url: http://<адрес_бекенд_сервера_protoobp> # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификат apm_config: apm_non_local_traffic: true apm_pobp_url: http://<адрес_бекенд_сервера_protoobp> # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификат enabled: true telemetry: enabled: false process_config: process_collection: enabled: falseПараметры:
api_keyзначение, указанное в лицензионном сертификате, полученном ранее от вендора, в разделе Учетные данные -> Парольpobp_urlстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>- адрес вашего ProtoOBP Backend сервера, доступного для агентаapm_pobp_urlстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>– адрес вашего ProtoOBP Backend сервера, доступного для агентаПример окна конфигурации:

-
Перезапустите агента, для этого консоли управления кликните на
Restart Agent.При успешной настройке агента вы сможете увидеть новый хост в разделе
Инфраструктура>Хостыв течение одной-двух минут.
Обратите внимание
Для отображения нового хоста следует обновить страницу браузера целиком (кнопкаОбновить в правом верхнем углу веб-консоли обновляет только значения метрик на дашборде, но не список серверов).
Windows агент – управление
-
Запустите ProtoOBP Agent Manager:

-
Для перезапуска агента в левом меню выберите и нажмите на раздел
Restart Agent

Также после запуска ProtoOBP Agent Manager в системном трее доступна иконка с контекстным меню агента для управления агентом:

Для команд ниже используйте только привилегированную командную строку (run as Administrator)
| Действие | Команда |
|---|---|
| Запуск агента | "C:\Program Files\Protoobp\Protoobp Agent\bin\agent.exe" start-service |
| Остановка агента | "C:\Program Files\Protoobp\Protoobp Agent\bin\agent.exe" stopservice |
| Перезапуск службы | "C:\Program Files\Protoobp\Protoobp Agent\bin\agent.exe" restart-service |
Windows агент – типовые проблемы
Сервис не запускается
В случае, если службы Агента не запускаются с ошибкой
Access is denied:
- Убедитесь, что у служебного пользователя, от имени которого запускается агент, есть права
Log on as a service. Инсталлятор добавляет это право, но в случае использования групповых доменнных политик это право может быть отозвано у служебной учетной записи. Необходимо настроить групповые политики на разрешение служебному пользователю осуществлятьLog on as a service.- откройте
Computer Configuration>Windows Settings>Security Settings>Local Policies>User Rights Assignment - локальный пользователь, создаваемый в процессе установки (
pobpagentuser):
- в случае использования GMSA –
DomainName\ProtoobpGMSA$:

- откройте
- Убедитесь, что служебный пользователь
pobpagentuserявляется членом группыUsersна сервере. В случае использования GMSA такое право должно быть у этой учетной записи.
Ошибка “Сервис помечен для удаления”
В случае запуска процедуры удаления агента, файлы агента удаляются, но службы агента остаются видимы в системе, при попытке их удаления через командую строку выводится сообщение о том, что сервис “помечен для удаления”. В этом случае потребуется перезагрузка машины, чтобы произошло полное удаление сервисов. После перезагрузки возможно заново установить пакет агента. Это особенность операционной системы Windows.
Docker
Запуск Docker агента (отдельный контейнер)
-
Подключитесь к Docker репозиторию ProtoOBP выполнив команду:
sudo docker login --username <USERNAME> registry.git.proto.groupВаш
<USERNAME>и пароль указаны в лицензионном сертификате, полученном ранее от вендора, в разделе “Учетные данные”. Пароль вводится интерактивно. -
Запустите агента
docker run -d \ --cgroupns host \ --pid host \ --name protoobp-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e POBP_API_KEY=<your_api_key> \ -e POBP_POBP_URL=http://<адрес_бекенд_сервера_protoobp> \ -e POBP_APM_POBP_URL=http://<адрес_бекенд_сервера_protoobp> \ -e POBP_PROCESS_CONFIG_PROCESS_COLLECTION_ENABLED=false \ registry.git.proto.group/protoobp/protoobp-artifacts/protoobp-agent:7.40.3Переменные окружения:
POBP_API_KEYзначение, указанное в лицензионном сертификате, полученном ранее от вендора, в разделе Учетные данные -> ПарольPOBP_POBP_URLстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>- адрес вашего ProtoOBP Backend сервера, доступного для агентаPOBP_APM_POBP_URLстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>– адрес вашего ProtoOBP Backend сервера, доступного для агента
Запуск Docker агента (docker compose)
-
Подключитесь к Docker репозиторию ProtoOBP выполнив команду:
sudo docker login --username <USERNAME> registry.git.proto.groupВаш
<USERNAME>и пароль указаны в лицензионном сертификате, полученном ранее от вендора, в разделе “Учетные данные”. Пароль вводится интерактивно. -
Добавьте в ваш
docker-compose.yamlфайл следующее:protoobp-agent: container_name: protoobp-agent image: registry.git.proto.group/protoobp/protoobp-artifacts/protoobp-agent:7.40.3 pid: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /proc/:/host/proc/:ro - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro - /etc/os-release:/host/etc/os-release:ro environment: - POBP_API_KEY=<your_api_key> - POBP_POBP_URL=http://<адрес_бекенд_сервера_protoobp> # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификат - POBP_PROCESS_CONFIG_PROCESS_COLLECTION_ENABLED=false - POBP_APM_POBP_URL=http://<адрес_бекенд_сервера_protoobp> # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификатПеременные окружения:
POBP_API_KEYзначение, указанное в лицензионном сертификате, полученном ранее от вендора, в разделе Учетные данные -> ПарольPOBP_POBP_URLстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>- адрес вашего ProtoOBP Backend сервера, доступного для агентаPOBP_APM_POBP_URLстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>– адрес вашего ProtoOBP Backend сервера, доступного для агента -
Запустите агента, выполнив:
docker compose up -d protoobp-agent
Kubernetes
После установки агента в системе появятся поды агента:
protoobpprotoobp-cluster-agent
Необходимые сетевые порты для работы Kubernetes агента:
| Source Name | Destination Name | Destination PORT/PROTO | Description |
|---|---|---|---|
поды агента (protoobp и protoobp-cluster-agent) |
proto backend | 443/tcp | отправка данных (метрики, трейсы, логи) от агента на бэкенда |
под агента protoobp |
под агента protoobp-cluster-agent |
5005/tcp | подключение агента к cluster-агенту |
| поды приложений | под агента protoobp |
8125/udp | отправка метрик от приложения к агенту |
| поды приложений | под агента protoobp |
8126/tcp | отправка трейсов от приложения к агенту |
| IP k8s control plane | IP k8s ноды | 8000/tcp | подключение webhook автоматической инструментации приложений |
Установка Kubernetes агента
Обратите внимание
Для работы с чартами Proto OBP необходимо использоватьhelm версии 3.x – версия 2.x не подходит, так как формат helm чартов отличается.
-
Добавьте
helmрепозиторий ProtoOBP:helm repo add --username <my_login> --password <my_password> protoobp https://git.proto.group/api/v4/projects/125/packages/helm/stableВаши логин и пароль указаны в лицензионном сертификате, полученном ранее от вендора, в разделе “Учетные данные”.
-
Добавьте
secretдля скачивания Docker образов из репозитория ProtoOBP. Для этого воспользуйтесь готовым скриптомscript.sh:# Укажите имя пользователя login="my_login" # Укажите пароль password="my_password" # Укажите адрес репозитория registry="registry.git.proto.group" # Укажите namespace в котором будет установлен агент (по умолчанию protoobp) namespace="protoobp" ###################### # Скрипт set -o errexit echo 'Создаем Secret' kubectl create namespace ${namespace} kubectl create secret docker-registry protoobp-registry --docker-username=${login} --docker-password=${password} --docker-server=${registry} --namespace=${namespace} -
Создайте файл
values.yamlс конфигурацией агентаtargetSystem: "linux" commonLabels: {} registry: registry.git.proto.group/protoobp/protoobp-artifacts # необходимо изменить в случае использования собственного Docker репозитория protoobp: apiKey: <ВАШ_API_KEY> # указан в лицензионном сертификате clusterName: <ИМЯ_КЛАСТЕРА> # задается вручную в соответствии с текущим реальным именем кластер pobp_url: http://<адрес_бекенд_сервера_protoobp> # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификат pobp_apm_url: http://<адрес_бекенд_сервера_protoobp> # используйте httpS только если на сервере ProtoOBP Backend подключен доверенный сертификат logLevel: INFO processAgent: enabled: false processCollection: false kubelet: tlsVerify: false clusterAgent: image: name: cluster-agent tag: 7.40.3 pullSecrets: - name: "protoobp-registry" env: ## этот раздел и переменная ниже добавляется только в случае использования локального репозитория Docker образов для компонентов Proto Observability Platform - name: POBP_ADMISSION_CONTROLLER_AUTO_INSTRUMENTATION_CONTAINER_REGISTRY value: docker.intranet/protoobp/protoobp-artifacts ## здесь указывается адрес локального репозитория - зеркала образов agents: image: name: protoobp-agent tag: 7.40.3 pullSecrets: - name: "protoobp-registry"Параметры:
<ВАШ_API_KEY>значение, указанное в лицензионном сертификате, полученном ранее от вендора, в разделе Учетные данные -> Парольpobp_urlстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>- адрес вашего ProtoOBP Backend сервера, доступного для агентаapm_pobp_urlстрока вида http://<адрес_бекенд_сервера_protoobp>, где<адрес_бекенд_сервера_protoobp>– адрес вашего ProtoOBP Backend сервера, доступного для агента<ИМЯ_КЛАСТЕРА>имя кластера, которое будет отображаться в интерфейсе Proto Observability Platform -
Установите
helmчарт в ваш Kubernetes кластер (в примере ниже исползуется неймспейсprotoobp)Обратите внимание
Для изменения параметров агентов Proto OBP допустимы только изменения в файлеvalues.yaml, изменять сам чарт не нужно.helm install protoobp -f values.yaml protoobp/protoobp --namespace protoobp
Использование hostPath ноды
Поды агента имеют несколько hostPath mount:
| Имя Mount | Описание |
|---|---|
procdir |
Подключается в режиме read-only. Используется системными проверками. |
cgroups |
Подключается в режиме read-only. Используется для сбора метаданных контейнеров. |
os-release-file |
Подключается в режиме read-only. Используется для определения ОС. |
passwd |
Подключается в режиме read-only. Используется для ассоциирования процессов с пользователями. |
runtimesocketdir |
Подключается в режиме read-only. Используется для сбора метрик контейнеров. |
dsdsocket |
Подключается в режиме read-write. Используется для приема метрик, опционально также может быть включен порт. |
apmsocket |
Подключается в режиме read-write. Используется для приема трейсов, опционально также может быть включен порт. |
Работа в непривилегированном режиме
Для максимальной совместимости и автоматизации сбора данных агент в контейнере по умолчанию запускается от пользователя root.
Использование не root пользователя может ограничить работу некоторых интеграций, которым необходимы данные хоста (ноды).
Пользователя, под которым запускается агент в контейнере, можно изменить, указав в values.yaml ID необходимого пользователя.
Обратите внимание
Для корректной работы агента в случае изменения ID пользователя необходима предварительная настройка хоста (ноды):
- пользователь, под которым запускается агент, должен иметь доступ к сокету
Docker,CRI-Oилиcontainerd(в зависимости от используемого рантайма).
Внутри контейнера агента создается пользователь pobp-agent c ID = 101, рекомендуется использовать этого пользователя для предоставления доступа к сокету.
protoobp:
...
securityContext:
runAsUser: <USER_ID>
# UID пользователя, под которым будет запускаться Proto OBP агент
supplementalGroups:
- <GROUP_ID>
# ID группы, которая является владельцем сокета Docker или containerd
Дополнительная конфигурация для OpenShift
Особенности настройки агентов Proto OBP с OpenShift:
- необходимо указать создание SCC (Security Context Constraints) для агентов
- необходимо указать путь к сокету CRI, так как OpenShift использует CRI-O в качестве рантайма контейнеров
- необходимо добавить
tolerationsдля запуска агентов наmasterиinfraнодах кластера
Для этого в файле values.yaml в разделе agents добавьте:
protoobp:
criSocketPath: /var/run/crio/crio.sock
...
agents:
useHostNetwork: true
podSecurity:
securityContextConstraints:
create: true
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
clusterAgent:
podSecurity:
securityContextConstraints:
create: true
...
Изменение параметров Kubernetes агента
После внесения изменений в файл values.yaml можно применить изменения с помощью команды:
helm upgrade protoobp -f values.yaml protoobp/protoobp --namespace protoobp
Или воспользуйтесь полным удалением агента и переустановкой.
Удаление Kubernetes агента
Удалить ProtoOBP агента из Kubernetes кластера, можно выполнив (используемый в примере неймспейс – protoobp, замените при использовании нестандартного неймспейса):
helm uninstall protoobp -n protoobp
Работа агента через proxy
-
Настройка прокси-сервера. В качестве примера может использоваться прокси-сервер Nginx и минимальная конфигурация:
user www-data; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; load_module /usr/lib/nginx/modules/ngx_stream_module.so; events { worker_connections 1024; } stream { server { listen 80; proxy_ssl_verify off; proxy_ssl on; proxy_pass proto-backend:443; } }Где
proto-backend– адрес вашего бэкенд сервера. -
Настройка агента для использования прокси. В используемых адресах вместо адресов бэкенда укажите адрес прокси сервера:
api_key: your-api-key pobp_url: http://nginx-proxy skip_ssl_validation: true apm_config: apm_non_local_traffic: true apm_pobp_url: http://nginx-proxy telemetry: enabled: false database_monitoring: metrics: pobp_url: nginx-proxy activity: pobp_url: nginx-proxy samples: pobp_url: nginx-proxyГде
nginx-proxy– адрес вашего прокси сервера. -
Примените изменения, перезапустив агента.
Файлы конфигурации агента
Основной конфигурационный файл агента:
| Платформа | Путь и имя файла |
|---|---|
| Linux | /etc/protoobp-agent/protoobp.yaml |
| Windows | %ProgramData%\Protoobp\protoobp.yaml |
Файлы конфигурации модулей для мониторинга технологий находятся в папке <путь к папке конфигурации>/conf.d/<технология>.d/..
Путь к папке конфигурации зависит от платформы:
| Платформа | Путь |
|---|---|
| Linux | /etc/protoobp-agent/conf.d/ |
| Windows | %ProgramData%\Protoobp\conf.d |
Например, для мониторинга MySQL на агента Linux путь к файлу конфигурации MySQL будет иметь вид:
/etc/protoobp-agent/conf.d/mysql.d/conf.yaml
Проверка работы агента
| Платформа | Команда |
|---|---|
| Docker | sudo docker exec -it protoobp-agent agent status |
| Kubernetes | kubectl exec -it <AGENT_POD_NAME> -- agent status |
| Linux | sudo protoobp-agent status |
| Windows | Для команды ниже используйте только привилегированную командную строку (run as Administrator) "C:\Program Files\Protoobp\Protoobp Agent\bin\agent.exe" status |
Логи агента
Логи работы агента располагаются в следующих локациях:
| Платформа | Путь |
|---|---|
| Linux | /var/log/protoobp/ |
| Windows | C:\ProgramData\Protoobp\logs |
Логи установки агента располагаются в следующих локациях:
| Платформа | Путь и имя файла |
|---|---|
| Linux | $(pwd)/protobop-agent-install.log |
| Windows | %TEMP%\MSI*.LOG |