Установка и запуск Yandex Unified Agent
Список поддерживаемых операционных систем
Работа Unified Agent поддерживается на следующих операционных системах:
- Ubuntu 14.04 или старше (возможна установка любым из способов);
- Debian 9 или старше (Docker-образ, deb-пакет или бинарный файл);
- CentOS 7 или старше (Docker-образ);
- Fedora 32 или старше (Docker-образ);
- Fedora CoreOS (Docker-образ).
Подготовка к установке
Перед установкой Yandex Unified Agent выполните следующие шаги:
-
Создайте виртуальную машину в Yandex Cloud или хост вне Yandex Cloud на одной из поддерживаемых операционных систем, например, Ubuntu 14.04 или старше.
-
(Опционально) Установите Docker
, если через него вы хотите запускать Unified Agent. Docker уже предустановлен в Fedora CoreOS.- Настройте публичный IPv4-адрес (рекомендуется).
- Настройте Docker для работы с IPv6
и включите сетевую трансляцию адресов , если вы не можете использовать публичный IPv4-адрес.
-
Создайте сервисный аккаунт в каталоге, куда будут записываться метрики, и назначьте ему роль
monitoring.editor
. -
Настройте авторизацию агента в Yandex Monitoring API:
- Если агент установлен на виртуальную машину в Yandex Cloud, привяжите созданный сервисный аккаунт к виртуальной машине. В этом случае агент будет автоматически получать IAM-токен сервисного аккаунта из сервиса-метаданных.
- Если агент установлен на хосте вне Yandex Cloud, создайте авторизованный ключ для сервисного аккаунта. Подробнее про поставку метрик с хостов вне Yandex Cloud читайте в разделе Поставка метрик с хостов вне Yandex Cloud.
Установка
Установите Unified Agent одним из способов:
Unified Agent распространяется в виде Docker-образа. Образ опубликован в репозитории cr.yandex/yc
с названием unified_agent
и тегом latest
. Образ содержит бинарный файл с агентом и конфигурационный файл, настраивающий агент для поставки системных метрик Linux в Yandex Monitoring.
Важно
Для мониторинга дополнительных дисков, подключенных к хосту, передайте пути к их точкам монтирования при помощи параметра -v
команды docker run
. Подробнее читайте в разделе Вход linux_metrics.
Конфигурационный файл агента расположен в /etc/yandex/unified_agent/config.yml
и параметризован переменными окружения. Подробнее параметры запуска Docker-контейнера описаны в разделе ниже.
Чтобы запустить контейнер с агентом, выполните следующую команду:
sudo docker run \
-p 16241:16241 -it --detach --uts=host \
--name=ua \
-v /proc:/ua_proc \
-e PROC_DIRECTORY=/ua_proc \
-e FOLDER_ID=a1bs81qpemb4******** \
cr.yandex/yc/unified-agent
Где FOLDER_ID
– идентификатор каталога, куда будут записываться метрики.
Чтобы запустить контейнер с собственным файлом конфигурации, добавьте в команду запуска контейнера параметр -v
, указав полный путь до файла конфигурации. Перед запуском контейнера удалите из вашего конфигурационного файла строки:
import:
- /etc/yandex/unified_agent/conf.d/*.yml
Пример команды для запуска контейнера с пользовательским конфигурационным файлом:
docker run \
-p 16241:16241 -it --detach --uts=host \
--name=ua \
-v /proc:/ua_proc \
-v `pwd`/config.yml:/etc/yandex/unified_agent/conf.d/config.yml \
--entrypoint="" \
-e PROC_DIRECTORY=/ua_proc \
-e FOLDER_ID=a1bs81qpemb4******** \
cr.yandex/yc/unified-agent
По умолчанию в конфигурационном файле агента, в секции status, указан host: null
. Учитывайте это, если используете собственный конфигурационный файл.
Подробнее про конфигурацию агента читайте в разделе Конфигурирование.
Unified Agent распространяется в виде deb-пакета для операционных систем Ubuntu 14.04 или старше. Пакет содержит бинарный файл с агентом и пустой конфигурационный файл, расположенный в /etc/yandex/unified_agent/config.yml
.
Чтобы установить Unified Agent:
-
Скачайте последнюю версию deb-пакета:
ubuntu_name="ubuntu-22.04-jammy" ua_version=$(curl --silent https://storage.yandexcloud.net/yc-unified-agent/latest-version) bash -c 'curl --silent --remote-name https://storage.yandexcloud.net/yc-unified-agent/releases/${ua_version}/deb/${ubuntu_name}/yandex-unified-agent_${ua_version}_amd64.deb'
Для
ubuntu_name
укажите версию операционной системы:ubuntu-14.04-trusty
;ubuntu-16.04-xenial
;ubuntu-18.04-bionic
;ubuntu-20.04-focal
;ubuntu-22.04-jammy
, начиная с версии23.03.02
.
Также вы можете скачать определенную версию Unified Agent. Для этого посмотрите все доступные версии и укажите нужную вместо значения
latest-version
:curl --silent https://storage.yandexcloud.net/yc-unified-agent/all-versions
-
Посмотрите версию deb-пакета с помощью команды
ls
. -
Установите deb-пакет:
sudo dpkg -i yandex-unified-agent_24.09.03_amd64.deb
Чтобы убедиться, что Unified Agent успешно установлен и запущен, выполните команду systemctl status unified-agent
. Пример работы команды:
user@my-vm:~$ systemctl status unified-agent
● unified-agent.service - Yandex Unified Agent service
Loaded: loaded (/lib/systemd/system/unified-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-02-09 15:57:08 UTC; 2 weeks 2 days ago
Main PID: 141403 (unified_agent)
Tasks: 8 (limit: 507)
Memory: 9.4M
CGroup: /system.slice/unified-agent.service
└─141403 /usr/bin/unified_agent --config /etc/yandex/unified_agent/config.yml --log-priority NOTICE
После установки пакета отредактируйте файл конфигурации /etc/yandex/unified_agent/config.yml
, например, настроив агент для поставки системных метрик Linux. Подробнее про конфигурацию агента читайте в разделе Конфигурирование.
Unified Agent распространяется в виде бинарного файла, собранного под архитектуру x86-64 / amd64 для операционных систем Ubuntu 14.04 или старше.
Чтобы скачать последнюю версию агента в виде бинарного файла, выполните команду:
ua_version=$(curl --silent https://storage.yandexcloud.net/yc-unified-agent/latest-version) bash -c 'curl --silent --remote-name https://storage.yandexcloud.net/yc-unified-agent/releases/$ua_version/unified_agent && chmod +x ./unified_agent'
Чтобы узнать все доступные версии агента выполните команду:
curl --silent https://storage.yandexcloud.net/yc-unified-agent/all-versions
После скачивания исполняемого файла с агентом создайте конфигурационный файл, например, с настройками для поставки системных метрик Linux. Подробнее про конфигурацию агента читайте в разделе Конфигурирование.
Чтобы запустить агент, выполните команду:
./unified_agent --config unified_agent.yml
Где --config
– путь до конфигурационного файла.
Вы можете установить Unified Agent при создании виртуальной машины в консоли управления, через CLI, API или Terraform.
Чтобы установить агент из консоли управления
Чтобы установить агент через CLI или API, укажите в пользовательских метаданных (user-data
) строку:
#cloud-config\nruncmd:\n - wget -O - https://monitoring.api.cloud.yandex.net/monitoring/v2/unifiedAgent/config/install.sh | bash
Чтобы установить агент с помощью Terraform, добавьте в конфигурационный файл метаданные:
resource "yandex_compute_instance" "this" {
...
resources {
...
}
...
metadata = {
ssh-keys = "<имя_пользователя>:<содержимое_SSH-ключа>",
"install-unified-agent": "1"
}
}
Для установки агента и отправки метрик у виртуальной машины должен быть доступ в интернет.
Агент устанавливается с файлом конфигурации по умолчанию, который находится в /etc/yandex/unified_agent/config.yml
.
В файле конфигурации настроена отправка базовых метрик виртуальной машины и метрик здоровья агента. Отправка метрик тарифицируется.
Дополнительно можно настроить поставку собственных метрик или логов в Cloud Logging.
После разворачивания ВМ Unified Agent запустится автоматически и начнет передавать базовые метрики ВМ в сервис Yandex Monitoring.
Обновление и поддержка агента выполняется самостоятельно.
Параметры запуска Docker-контейнера с Unified Agent
Если вы устанавливаете Unified Agent при помощи Docker, вы можете сконфигурировать агент с помощью переменных окружения. Так вам не потребуется редактировать файл конфигурации, расположенный в /etc/yandex/unified_agent/config.yml
. Список переменных окружения перечислен в таблице ниже.
Переменная окружения | Значение по умолчанию | Описание |
---|---|---|
UA_STATUS_PORT |
16241 |
Порт, по которому будет доступен статус работы агента. |
UA_LOG_PRIORITY |
NOTICE |
Уровень логирования работы агента. |
FOLDER_ID |
Нет | Идентификатор каталога, куда будут записываться метрики (обязательный параметр). |
PROC_DIRECTORY |
/proc |
Директория со смонтированным procfs |
SYS_DIRECTORY |
/sys |
Директория со смонтированным sysfs |
UA_LINUX_RESOURCE_CPU UA_LINUX_RESOURCE_MEMORY UA_LINUX_RESOURCE_NETWORK UA_LINUX_RESOURCE_STORAGE UA_LINUX_RESOURCE_IO UA_LINUX_RESOURCE_KERNEL |
basic |
Уровень детализации системных метрик: CPU, сети, дисков, системы ввода-вывода и Linux-ядра. |