Установка агента на Linux
На этой странице:
- Установка
- Конфигурация
- Обновление
- Удаление
- Управление
- Ручная настройка systemd-юнитов
- Управление на системах без systemd
- DEB-пакет (Ubuntu, Debian, Astra Linux и т.д.)
- RPM-пакет (CentOS, Alt Linux, Rosa Linux, РЕД ОС и т.д.)
- Собственные init-скрипты для «чистого» SysV
- init-скрипт основного агента
- init-скрипт trace-агента (APM)
- Регистрация скриптов и автозапуск
- Команды управления собственными скриптами
- Обновление со старой версии на системах без systemd
Установка
Агент работает на всех основных DEB/RPM дистрибутивах ОС Linux. Подробнее
Скачайте и установите пакет с агентом для вашей ОС
Выберите версию агента. Актуальная версия — 7.80.2.
DEB-based (Ubuntu, Debian, Astra Linux и т.д.):
curl --header "PRIVATE-TOKEN:<your_token>" "https://git.proto.group/api/v4/projects/100/packages/generic/protoobp-agent/7.80.2/protoobp-agent_7.80.2-1_amd64.deb" --output protoobp-agent_7.80.2-1_amd64.deb apt install ./protoobp-agent_7.80.2-1_amd64.debRPM-based (CentOS, Alt Linux, Rosa Linux, РЕД ОС и т.д.):
curl --header "PRIVATE-TOKEN:<your_token>" "https://git.proto.group/api/v4/projects/100/packages/generic/protoobp-agent/7.80.2/protoobp-agent-7.80.2-1.x86_64.rpm" --output protoobp-agent-7.80.2-1.x86_64.rpm rpm -ivh protoobp-agent-7.80.2-1.x86_64.rpmЗначение
<your_token>берётся из лицензионного сертификата, полученного ранее от вендора, из раздела «Учетные данные → Пароль».В случае появления ошибки на Альт или Роса Линукс:
ошибка: Неудовлетворенные зависимости: glibc-common нужен для protoobp-agent-1:7.80.2-1.x86_64установку агента необходимо выполнить следующей командой:
rpm -ivh --nodeps protoobp-agent-7.80.2-1.x86_64.rpmDEB-based (Ubuntu, Debian, Astra 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.debRPM-based (CentOS, Alt Linux, Rosa 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.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Результат выполнения команды (значение
Commitприведено для примера и зависит от сборки):Agent 7.80.2 - Commit: 39e8d835 - Serialization version: v5.0.196 - Go version: go1.25.12
Конфигурация
По умолчанию файл конфигурации агента расположен в каталоге
/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При успешной настройке агента вы сможете увидеть новый хост в разделе
Инфраструктура>Хостыв течение одной-двух минут.
Обратите внимание
Для отображения нового хоста следует обновить страницу браузера целиком (кнопкаОбновить в правом верхнем углу веб-консоли обновляет только значения метрик на дашборде, но не список серверов).Обновление
Обновление выполняется установкой пакета новой версии поверх старой — удалять
предыдущую версию не нужно. Файл /etc/protoobp-agent/protoobp.yaml и содержимое
conf.d/ при обновлении сохраняются, служба перезапускается автоматически.
Пример обновления с 7.40.2 на 7.80.2:
DEB-based (Ubuntu, Debian, Astra Linux и т.д.):
curl --header "PRIVATE-TOKEN:<your_token>" "https://git.proto.group/api/v4/projects/100/packages/generic/protoobp-agent/7.80.2/protoobp-agent_7.80.2-1_amd64.deb" --output protoobp-agent_7.80.2-1_amd64.deb
apt install ./protoobp-agent_7.80.2-1_amd64.deb
RPM-based (CentOS, Alt Linux, Rosa Linux, РЕД ОС и т.д.):
curl --header "PRIVATE-TOKEN:<your_token>" "https://git.proto.group/api/v4/projects/100/packages/generic/protoobp-agent/7.80.2/protoobp-agent-7.80.2-1.x86_64.rpm" --output protoobp-agent-7.80.2-1.x86_64.rpm
rpm -Uvh protoobp-agent-7.80.2-1.x86_64.rpm
Для RPM используется именно rpm -Uvh (upgrade), а не rpm -ivh (install):
-ivh на уже установленном агенте завершится ошибкой «package is already installed».
Если на Альт или Роса Линукс возникает ошибка о неудовлетворённых зависимостях
glibc-common, добавьте --nodeps: rpm -Uvh --nodeps protoobp-agent-7.80.2-1.x86_64.rpm.
Проверьте результат обновления:
protoobp-agent version
systemctl status protoobp-agent
sudo protoobp-agent status
Обратите внимание
Перед обновлением рекомендуется сохранить копию конфигурации:
sudo cp -a /etc/protoobp-agent /etc/protoobp-agent.bak
Это позволит быстро откатить настройки, если после обновления потребуется вернуться к предыдущей версии агента.
Удаление
Возможны два сценария: удаление агента с сохранением конфигурации (например, перед переустановкой) и полное удаление вместе с настройками и логами.
DEB-based (Ubuntu, Debian, Astra Linux и т.д.):
# удалить агента, сохранив /etc/protoobp-agent (конфигурацию и conf.d)
sudo apt remove protoobp-agent
# полное удаление: пакет, конфигурация, логи, служебный пользователь pobp-agent
sudo apt purge protoobp-agent
RPM-based (CentOS, Alt Linux, Rosa Linux, РЕД ОС и т.д.):
sudo rpm -e protoobp-agent
Что удаляется в каждом случае:
| Объект | apt remove / rpm -e | apt purge |
|---|---|---|
Пакет и файлы в /opt/protoobp-agent | удаляются | удаляются |
systemd-юниты protoobp-agent*.service | удаляются | удаляются |
Конфигурация /etc/protoobp-agent/ | сохраняется | удаляется |
Логи /var/log/protoobp/ | сохраняются | удаляются |
Служебный пользователь pobp-agent | сохраняется | удаляется |
Если после rpm -e или apt remove требуется полностью очистить систему,
удалите оставшиеся каталоги и учётную запись вручную:
sudo rm -rf /etc/protoobp-agent /opt/protoobp-agent /var/log/protoobp
sudo userdel pobp-agent
Управление
ProtoOBP Agent запускается как systemd служба - protoobp-agent.
| Действие | Команда |
|---|---|
| Запуск агента | systemctl start protoobp-agent |
| Остановка агента | systemctl stop protoobp-agent |
| Перезапуск службы | systemctl restart protoobp-agent |
Ручная настройка systemd-юнитов
Изменение поведения по сравнению с 7.40.2
В версии 7.40.2 файлы юнитов входили в состав пакета: они лежали в
/lib/systemd/system/ и принадлежали менеджеру пакетов (dpkg -S / rpm -qf
показывали protoobp-agent). Юнитов было 5.
Начиная с версии 7.80.2 юнитов в составе пакета нет — их создаёт установщик агента на этапе post-install. Проверка покажет, что файл не принадлежит ни одному пакету:
dpkg -S /lib/systemd/system/protoobp-agent.service # DEB
rpm -qf /usr/lib/systemd/system/protoobp-agent.service # RPM
Юнитов стало 10 — добавились -action, -data-plane, -ddot, -installer,
-procmgrd. Расположение также различается: DEB создаёт юниты в
/lib/systemd/system/, RPM — в /usr/lib/systemd/system/.
Практическое следствие: правки, внесённые непосредственно в файл юнита, теряются при любом обновлении или переустановке агента — установщик перезаписывает юниты заново. Для постоянных изменений используйте drop-in, как описано ниже.
Переопределение параметров юнита (drop-in)
Drop-in-файлы лежат в /etc/systemd/system/, установщиком агента не
затрагиваются и переживают обновление. Пример — изменить политику перезапуска
основного агента:
mkdir -p /etc/systemd/system/protoobp-agent.service.d
cat > /etc/systemd/system/protoobp-agent.service.d/override.conf <<'EOF'
[Service]
Restart=always
RestartSec=10
EOF
systemctl daemon-reload
systemctl restart protoobp-agent
Посмотреть итоговый юнит со всеми применёнными drop-in:
systemctl cat protoobp-agent
Переменные окружения агента
Юниты подключают файл переменных окружения:
EnvironmentFile=-/etc/protoobp-agent/environment
По умолчанию файла нет — при необходимости создайте его. Пример:
cat > /etc/protoobp-agent/environment <<'EOF'
POBP_LOG_LEVEL=debug
EOF
systemctl restart protoobp-agent
Так задаются любые параметры конфигурации в виде переменных POBP_* —
альтернатива правке protoobp.yaml. Выполнять daemon-reload не требуется:
файл читается при старте службы.
Состав юнитов
| Юнит | Назначение |
|---|---|
protoobp-agent | основной агент (запускает остальные) |
protoobp-agent-trace | trace-агент (APM) |
protoobp-agent-process | сбор процессов и контейнеров |
protoobp-agent-sysprobe | system-probe (сетевые и eBPF-метрики) |
protoobp-agent-security | security-агент |
protoobp-agent-data-plane | agent-data-plane |
protoobp-agent-action | private action runner |
protoobp-agent-ddot | OpenTelemetry-коллектор |
protoobp-agent-installer | служебный юнит установщика |
protoobp-agent-procmgrd | менеджер процессов агента |
Отдельно запускать дочерние юниты не требуется: основной protoobp-agent
объявляет их в Wants= и поднимает вместе с собой.
Управление на системах без systemd
На дистрибутивах без systemd (RHEL 6.x, CentOS 6, старые линейки Alt Linux,
Rosa Linux, РЕД ОС и др.) команды systemctl недоступны. Способ управления
агентом зависит от типа пакета — DEB и RPM разворачивают разные наборы
скриптов запуска.
DEB-пакет (Ubuntu, Debian, Astra Linux и т.д.)
DEB-пакет штатно устанавливает и SysV init-скрипты в /etc/init.d/, и
задания upstart в /etc/init/ — писать их вручную не нужно. Какой набор
будет задействован, определяет система инициализации дистрибутива.
SysV init-скрипты:
| Скрипт | Компонент |
|---|---|
/etc/init.d/protoobp-agent | основной агент |
/etc/init.d/protoobp-agent-trace | trace-агент (APM) |
/etc/init.d/protoobp-agent-process | process-агент |
/etc/init.d/protoobp-agent-security | security-агент |
/etc/init.d/protoobp-agent-data-plane | agent-data-plane |
/etc/init.d/protoobp-agent-action | private action runner |
Управление:
| Действие | Команда |
|---|---|
| Запуск агента | service protoobp-agent start |
| Остановка агента | service protoobp-agent stop |
| Перезапуск агента | service protoobp-agent restart |
| Статус агента | service protoobp-agent status |
Скрипт основного агента при старте и остановке сам подтягивает остальные
компоненты (trace, process, security и др.), поэтому запускать их по
отдельности не требуется. Отключить конкретный компонент можно через
/etc/default/<имя_скрипта>.
SysV-скрипты рассчитаны на Debian-совместимое окружение: используют
start-stop-daemon и /lib/lsb/init-functions. На RPM-дистрибутивах они
неработоспособны.
Если в системе используется upstart, применяются задания из /etc/init/, а
управление выполняется через initctl — так же, как описано ниже для RPM.
RPM-пакет (CentOS, Alt Linux, Rosa Linux, РЕД ОС и т.д.)
RPM-пакет SysV init-скрипты не устанавливает — только
задания upstart в /etc/init/ (protoobp-agent.conf,
protoobp-agent-trace.conf, protoobp-agent-process.conf,
protoobp-agent-security.conf, protoobp-agent-sysprobe.conf,
protoobp-agent-data-plane.conf, protoobp-agent-action.conf) — они
рассчитаны на старую версию upstart (0.6.5) из RHEL 6.
Если в системе используется upstart (RHEL 6.x, CentOS 6), управление
выполняется штатно:
| Действие | Команда |
|---|---|
| Запуск агента | initctl start protoobp-agent |
| Остановка агента | initctl stop protoobp-agent |
| Статус агента | initctl status protoobp-agent |
Команды service protoobp-agent start|stop|status на таких системах также
работают — они транслируются в initctl.
Если же в дистрибутиве нет ни systemd, ни upstart (классический SysV-init),
штатных скриптов запуска в пакете нет — используйте init-скрипты, приведённые
ниже.
Собственные init-скрипты для «чистого» SysV
Скрипты ниже нужны только там, где нет ни systemd, ни upstart, ни штатных
init-скриптов из DEB-пакета. Они разработаны под основной агент
(protoobp-agent) и trace-агент APM (protoobp-agent-trace) и проверены на
версии 7.80.2.
Скрипты покрывают только эти два компонента. Остальные компоненты 7.80.2
(process, security, system-probe, data-plane, private action runner, DDOT)
на «чистом» SysV остаются неуправляемыми — при необходимости заведите для них
скрипты по аналогии, взяв команду запуска из соответствующего файла
/etc/init/protoobp-agent-*.conf.
init-скрипт основного агента
Сохраните в /etc/init.d/protoobp-agent:
#!/bin/bash
#
# protoobp-agent ProtoOBP monitoring agent (main)
#
# chkconfig: 2345 99 01
# description: ProtoOBP monitoring agent (main)
# pidfile: /opt/protoobp-agent/run/agent.pid
### BEGIN INIT INFO
# Provides: protoobp-agent
# Required-Start: $local_fs $network $remote_fs $syslog
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: ProtoOBP monitoring agent (main)
### END INIT INFO
. /etc/rc.d/init.d/functions
NAME="protoobp-agent"
USER="pobp-agent"
DAEMON="/opt/protoobp-agent/bin/agent/agent"
DAEMON_ARGS="run -p /opt/protoobp-agent/run/agent.pid"
PIDFILE="/opt/protoobp-agent/run/agent.pid"
LOCKFILE="/var/lock/subsys/${NAME}"
LOGFILE="/var/log/protoobp/${NAME}-init.log"
RUNDIR="/opt/protoobp-agent/run"
LOGDIR="/var/log/protoobp"
[ -x "$DAEMON" ] || { echo "$DAEMON not found"; exit 5; }
[ -d "$RUNDIR" ] || install -d -o "$USER" -g "$USER" "$RUNDIR"
[ -d "$LOGDIR" ] || install -d -o "$USER" -g "$USER" "$LOGDIR"
is_running() {
[ -f "$PIDFILE" ] || return 1
local pid
pid="$(cat "$PIDFILE" 2>/dev/null)"
[ -n "$pid" ] && kill -0 "$pid" 2>/dev/null
}
start() {
echo -n "Starting $NAME: "
if is_running; then
echo "already running (pid $(cat "$PIDFILE"))"
return 0
fi
nohup su "$USER" -s /bin/bash -c "exec $DAEMON $DAEMON_ARGS" \
>> "$LOGFILE" 2>&1 < /dev/null &
for _ in 1 2 3 4 5 6 7 8 9 10; do
is_running && break
sleep 1
done
if is_running; then
touch "$LOCKFILE"
echo "OK (pid $(cat "$PIDFILE"))"
return 0
fi
echo "FAILED — см. $LOGFILE"
return 1
}
stop() {
echo -n "Stopping $NAME: "
if ! is_running; then
echo "not running"
rm -f "$LOCKFILE" "$PIDFILE"
return 0
fi
killproc -p "$PIDFILE" -d 15 "$DAEMON"
rc=$?
[ $rc -eq 0 ] && rm -f "$LOCKFILE"
return $rc
}
case "$1" in
start) start ;;
stop) stop ;;
restart) stop; sleep 2; start ;;
status)
if is_running; then
echo "$NAME is running (pid $(cat "$PIDFILE"))"
exit 0
fi
echo "$NAME is not running"
exit 3
;;
*) echo "Usage: $0 {start|stop|restart|status}"; exit 2 ;;
esac
exit $?
init-скрипт trace-агента (APM)
Если используется APM, дополнительно сохраните в
/etc/init.d/protoobp-agent-trace:
#!/bin/bash
#
# protoobp-agent-trace ProtoOBP APM trace agent
#
# chkconfig: 2345 98 02
# description: ProtoOBP APM trace agent
# pidfile: /opt/protoobp-agent/run/trace-agent.pid
### BEGIN INIT INFO
# Provides: protoobp-agent-trace
# Required-Start: $local_fs $network $remote_fs $syslog protoobp-agent
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: ProtoOBP APM trace agent
### END INIT INFO
. /etc/rc.d/init.d/functions
NAME="protoobp-agent-trace"
USER="pobp-agent"
DAEMON="/opt/protoobp-agent/embedded/bin/trace-agent"
DAEMON_ARGS="--config /etc/protoobp-agent/protoobp.yaml --pidfile /opt/protoobp-agent/run/trace-agent.pid"
PIDFILE="/opt/protoobp-agent/run/trace-agent.pid"
LOCKFILE="/var/lock/subsys/${NAME}"
LOGFILE="/var/log/protoobp/${NAME}-init.log"
RUNDIR="/opt/protoobp-agent/run"
LOGDIR="/var/log/protoobp"
[ -x "$DAEMON" ] || { echo "$DAEMON not found"; exit 5; }
[ -d "$RUNDIR" ] || install -d -o "$USER" -g "$USER" "$RUNDIR"
[ -d "$LOGDIR" ] || install -d -o "$USER" -g "$USER" "$LOGDIR"
is_running() {
[ -f "$PIDFILE" ] || return 1
local pid
pid="$(cat "$PIDFILE" 2>/dev/null)"
[ -n "$pid" ] && kill -0 "$pid" 2>/dev/null
}
start() {
echo -n "Starting $NAME: "
if is_running; then
echo "already running (pid $(cat "$PIDFILE"))"
return 0
fi
nohup su "$USER" -s /bin/bash -c "exec $DAEMON $DAEMON_ARGS" \
>> "$LOGFILE" 2>&1 < /dev/null &
for _ in 1 2 3 4 5 6 7 8 9 10; do
is_running && break
sleep 1
done
if is_running; then
touch "$LOCKFILE"
echo "OK (pid $(cat "$PIDFILE"))"
return 0
fi
echo "FAILED — см. $LOGFILE"
return 1
}
stop() {
echo -n "Stopping $NAME: "
if ! is_running; then
echo "not running"
rm -f "$LOCKFILE" "$PIDFILE"
return 0
fi
killproc -p "$PIDFILE" -d 15 "$DAEMON"
rc=$?
[ $rc -eq 0 ] && rm -f "$LOCKFILE"
return $rc
}
case "$1" in
start) start ;;
stop) stop ;;
restart) stop; sleep 2; start ;;
status)
if is_running; then
echo "$NAME is running (pid $(cat "$PIDFILE"))"
exit 0
fi
echo "$NAME is not running"
exit 3
;;
*) echo "Usage: $0 {start|stop|restart|status}"; exit 2 ;;
esac
exit $?
Регистрация скриптов и автозапуск
chmod 755 /etc/init.d/protoobp-agent /etc/init.d/protoobp-agent-trace
chkconfig --add protoobp-agent
chkconfig --add protoobp-agent-trace
chkconfig protoobp-agent on
chkconfig protoobp-agent-trace on
Проверить регистрацию:
chkconfig --list protoobp-agent
chkconfig --list protoobp-agent-trace
Команды управления собственными скриптами
| Действие | Команда |
|---|---|
| Запуск агента | service protoobp-agent start |
| Остановка агента | service protoobp-agent stop |
| Перезапуск агента | service protoobp-agent restart |
| Статус агента | service protoobp-agent status |
| Запуск trace‑агента | service protoobp-agent-trace start |
| Остановка trace‑агента | service protoobp-agent-trace stop |
| Перезапуск trace‑агента | service protoobp-agent-trace restart |
| Статус trace‑агента | service protoobp-agent-trace status |
Логи агента — в /var/log/protoobp/agent.log, trace-agent.log. Stdout/stderr
самих init‑скриптов пишутся в /var/log/protoobp/<service>-init.log и полезны
при диагностике падения процесса сразу после запуска.
Обновление со старой версии на системах без systemd
При обновлении с 7.40.2 на 7.80.2 на системе без systemd учитывайте следующее.
1. Собственные init-скрипты нужно поправить. В 7.80.2 у trace-агента
переименован флаг PID-файла: --pid больше не принимается (Error: unknown flag: --pid), используется --pidfile. Если вы разворачивали скрипт по
инструкции для 7.40.2, замените аргумент:
sed -i 's/--pid /--pidfile /' /etc/init.d/protoobp-agent-trace
service protoobp-agent-trace restart
Аргументы основного агента (run -p <pidfile>) и пути к бинарным файлам
(/opt/protoobp-agent/bin/agent/agent,
/opt/protoobp-agent/embedded/bin/trace-agent) не изменились.
2. На DEB собственные скрипты будут перезаписаны. Начиная с 7.80.2
DEB-пакет сам ставит /etc/init.d/protoobp-agent и скрипты остальных
компонентов. Если вы ранее положили туда свои версии, пакет их заменит.
Это штатная ситуация: после обновления пользуйтесь скриптами из пакета,
собственные больше не нужны. Проверить, чей скрипт сейчас установлен:
dpkg -S /etc/init.d/protoobp-agent
После обновления перезапустите агента и убедитесь, что версия сменилась:
service protoobp-agent restart
protoobp-agent version
Если агент падает на старте с `Error while getting hostname`
В окружениях, где hostname -f не возвращает корректное FQDN (например,
минималистичные контейнеры или хосты с пустым /etc/hosts), агент завершается
сразу после старта. В таком случае добавьте в /etc/protoobp-agent/protoobp.yaml
строку:
hostname: my-host-name
— любое стабильное имя, по которому хост должен опознаваться в ProtoOBP. Подробнее — на странице Имя хоста.