Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Архитектура и защита базового интернет-сервиса
    • Анализ поресурсной детализации расходов с помощью Object Storage
      • Начало работы с Terraform
      • Источники данных Terraform
      • Загрузка состояний Terraform в Object Storage
      • Начало работы с Packer
      • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
      • Блокировка состояний Terraform с помощью Managed Service for YDB
      • Использование модулей Yandex Cloud в Terraform
      • Создать ВМ и группу ВМ с Container Optimized Image с помощью Terraform
      • Передача логов через HTTP-вход Unified Agent в Cloud Logging
      • Запуск языковой модели DeepSeek-R1 в кластере GPU Compute Cloud

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Создайте сервисный аккаунт
  • Создайте ВМ
  • Установите и настройте Unified Agent
  • Создайте и запустите приложение, генерирующее логи
  • Посмотрите логи
  • Удалите созданные ресурсы
  1. Базовая инфраструктура
  2. Инструменты
  3. Передача логов через HTTP-вход Unified Agent в Cloud Logging

Передача логов через HTTP-вход Unified Agent в Yandex Cloud Logging

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
    • Создайте сервисный аккаунт
    • Создайте ВМ
  • Установите и настройте Unified Agent
  • Создайте и запустите приложение, генерирующее логи
  • Посмотрите логи
  • Удалите созданные ресурсы

Приложение Yandex Unified Agent позволяет принимать и передавать логи пользовательских приложений в сервис Yandex Cloud Logging.

В этом руководстве вы настроите передачу логов из тестового Python-приложения. Приложение будет передавать логи в Unified Agent на вход http. Полученные логи Unified Agent будет отправлять через выход yc_logs в Cloud Logging в лог-группу по умолчанию — default.

Чтобы настроить передачу логов:

  1. Подготовьте облако к работе.
  2. Установите и настройте Yandex Unified Agent.
  3. Создайте и запустите приложение, генерирующее логи.
  4. Посмотрите логи.

Если созданные ресурсы больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

  1. Плата за постоянно работающие ВМ (см. тарифы Yandex Compute Cloud);

  2. Плата за запись и хранение логов в лог-группе (см. тарифы Yandex Cloud Logging).

Подготовьте инфраструктуруПодготовьте инфраструктуру

Создайте сервисный аккаунтСоздайте сервисный аккаунт

  1. Создайте сервисный аккаунт sa-logger в каталоге, куда будут записываться логи.
  2. Назначьте сервисному аккаунту роль logging.writer.

Создайте ВМСоздайте ВМ

  1. Создайте ВМ из публичного образа Ubuntu 24.04.

    В блоке Доступ укажите сервисный аккаунт sa-logger.

  2. Подключитесь к ВМ по SSH.

Установите и настройте Unified AgentУстановите и настройте Unified Agent

  1. Скачайте последнюю версию 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'
    
  2. Посмотрите версию deb-пакета с помощью команды ls.

  3. Установите Unified Agent из deb-пакета, указав его версию:

    sudo dpkg -i yandex-unified-agent_24.09.03_amd64.deb
    

    Другие способы установки описаны в разделе Установка и обновление Yandex Unified Agent.

  4. Проверьте, что Unified Agent запущен:

    sudo systemctl status unified-agent.service
    
  5. Откройте конфигурационный файл Unified Agent:

    sudo nano /etc/yandex/unified_agent/config.yml
    
  6. Добавьте в файл конфигурацию для приема и отправки логов:

    status:
      port: "16241"
    
    routes:
       - input:
          plugin: http
          config:
             port: 22132
         channel:
          output:
             plugin: yc_logs
             config:
                folder_id: "b1grj7grr1kn********"
                iam:
                   cloud_meta: {}
    
    import:
    - /etc/yandex/unified_agent/conf.d/*.yml
    

    Где folder_id — идентификатор каталога, в который будут записываться логи.

  7. Проверьте, что файл конфигурации составлен верно (команда должна вывести содержимое файла):

    unified_agent check-config -c /etc/yandex/unified_agent/config.yml
    
  8. Перезапустите Unified Agent:

    sudo systemctl restart unified-agent.service
    
  9. Посмотрите статус службы Unified Agent:

    sudo systemctl status unified-agent.service
    

Создайте и запустите приложение, генерирующее логиСоздайте и запустите приложение, генерирующее логи

  1. Создайте файл logtest.py:

    import time
    import requests
    import random
    
    # Возможные URL для запросов
    urls = [
       '/',
       '/admin',
       '/hello',
       '/docs',
       '/api/resource1',
       '/api/resource2',
       '/api/resource3'
    ]
    
    # Конфигурация HTTP-входа Unified Agent
    unified_agent_url = 'http://51.250.98.18:22132/write'
    
    # Возможные коды ответа и их вероятности
    response_codes = [200, 201, 400, 404, 500]
    response_weights = [0.7, 0.1, 0.1, 0.05, 0.05]
    
    # Генерация и отправка логов на HTTP-вход
    def generate_and_send_logs():
       while True:
          url = random.choice(urls)
          status_code = random.choices(response_codes, response_weights)[0]
          log_message = f"Requested {url}, received status code {status_code}"
          print(log_message)
          
          # Отправка лога на HTTP-вход Unified Agent
          send_logs_to_http(log_message)
          
          # Отправка логов каждые 5 секунд
          time.sleep(5)
    
    # Отправка логов на HTTP-вход
    def send_logs_to_http(log_message):
       headers = {"Content-Type": "text/plain"}
       response = requests.post(unified_agent_url, headers=headers, data=log_message)
       if response.status_code == 200:
          print("Log sent successfully")
       else:
          print(f"Failed to send log: {response.status_code}")
    
    if __name__ == "__main__":
       generate_and_send_logs()
    

    Где unified_agent_url — публичный IP-адрес виртуальной машины с Unified Agent.

    По умолчанию Unified Agent принимает данные на всех интерфейсах. Поэтому публичный IP-адрес можно указывать,
    даже когда источник логов находится на той же ВМ. Если публичного адреса нет, укажите localhost.

  2. Обновите версии установленных пакетов:

    sudo apt-get update
    
  3. Установите Python:

    sudo apt install python3
    
  4. Запустите приложение:

    python3 logtest.py
    

Посмотрите логиПосмотрите логи

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, который указали в настройках Yandex Unified Agent.
  2. Выберите сервис Cloud Logging.
  3. Выберите лог-группу по умолчанию default.
  4. Перейдите на вкладку Логи.
  5. На открывшейся странице отобразятся записи.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы посмотреть записи в лог-группе, выполните команду:

yc logging read --folder-id=<идентификатор_каталога>

Где --folder-id — идентификатор каталога, который указан в настройках Yandex Unified Agent.

Чтобы посмотреть записи в лог-группе, воспользуйтесь вызовом gRPC API LogReadingService/Read.

Удалите созданные ресурсыУдалите созданные ресурсы

Если созданные ресурсы вам больше не нужны, удалите их:

  1. Удалите виртуальную машину.
  2. Удалите лог-группу.

Была ли статья полезна?

Предыдущая
Terraform
Следующая
Запуск языковой модели DeepSeek-R1 в кластере GPU Compute Cloud
Проект Яндекса
© 2025 ООО «Яндекс.Облако»