Cloud Logging: долгосрочное хранение и анализ
Изначально, во время preview, Yandex Cloud Logging предоставлял возможность хранения логов в течение 3 дней. С выходом сервиса в general availability в ноябре 2023 срок хранения логов в Cloud Logging был увеличен до 31 дней по умолчанию. Но так как это квота, вы можете запросить увеличение срока хранения.
Однако вопрос как организовать долгосрочное хранение логов остается. Для этого нам понадобится создать Data Stream, лог группу, которая будет в него писать, а так же Data Transfer, которы сможет перекладывать данные в какое-то долгосрочное хранилище. В этом примере я буду использовать Yandex Cloud Object Storage (аналог AWS S3). Это самый дешевый из возможных вариантов, при этом обеспечивающий не только хранение, но и с выходом Yandex Query и возможность анализа хранимых логов.
Dotnet 6 Web API в Yandex Cloud Serverless Container
Для начала создадим проект на основе примера Web API.
Serverless Full Text Search на Go
В прошлом Serverless Full Text Search я рассмотрел JavaScript библиотеку для in-memory полнотекстового поиска Lyra. Почему я выбрал именно ее? Во-первых, именно на доклад про неё я наткнулся на YouTube. Во-вторых, мне понравилась её универсальность и возможность притащить её в браузер.
Serverless Full Text Search
Если вы для своего проекта выбрали serverless стек, то наверняка вы заметили, что в Яндекс Облаке для него нет решения обеспечивающего полнотекстовый поиск. Ну, то есть вы конечно можете поднять кластер ElasticSearch. Но при его минимальной стоимости и выделяемых ресурсах это наверняка будет стрельбой из пушки по воробьям.
Но что же делать, если хочется сохранить низкие расходы на инфраструктуру и получить быстрый полнотекстовый поиск?
Cloud Development Kit для Terraform
Что это такое? Удобнее ли обычного Terraform? И можно ли им заменить Serverless framework?
Генерация приватных ключей Ed25519 на Go
Небольшая предыстория. Мне понадобилось собрать Ubuntu 22.04 Jammy Jellyfish при помощи Packer используя ssh provisioner. А для дебага этого процесса захотелось научиться сохранять создаваемые пакером ключи на диск, чтобы с их помощь можно было зайти на ВМ.
Запуск Serverless Container по триггеру
Итак, у вас есть цель выполнять какую-то задачу внутри serverless контейнера по расписанию. К сожалению, вы не сможете просто взять положить в контейнер ваш код и надеяться что все заработает просто так.
Про асинхронность в Cloud Functions
Сегодня я хотел бы разобрать модель работы облачных функций в Яндекс Облаке.
Пишем логи из Managed K8s в Yandex Cloud Logging при помощи Fluentbit
Если вы хотите отгружать логи из Managed Kubernetes в Yandex Cloud, для этого есть как минимум два пути:
- Можно установить helm из магазина приложений.
- Можно разобраться и гибко настроить все самому.
Тут конечно же мы рассмотрим второй способ.
Spectral Ruleset for Yandex Cloud API Gateway
Я сначала начал писать заголовок на русском, но получилось что-то типа «Набор правил для валидации специфичных для Яндекс Облака расширений, для интеграции с другими облачными сервисами, спецификации OpenAPI 3.0, используемой для конфигурации сервиса API Gateway.» Потом посмеялся и стер всё.
Kubernetes сложненько
Update (2025-08): Обновил туториал до актуальной версии Kubernetes 1.32.
Я наткнулся на очень популярный (30тыс звёзд на GitHub) туториал Kelsey Hightower «Kubernetes The Hard Way». Это очень подробный туториал, разделенный на 14 лабораторных, подробно рассказывающий как развернуть кластер Kubernetes самостоятельно, не прибегая к managed решениям.
В туториале минимум автоматизации и максимум наглядности. Изначально он писался для Google Cloud Platform.
Я решил его перевести и переложить на использование Yandex Cloud.
Моя версия тут https://github.com/nikolaymatrosov/kubernetes-the-hard-way
В туториале будут развернут высоко доступный зональный кластер с 3 мастерами и 3 воркерами. Перед мастерами настроен Network Load Balancer.
Я считаю, что это отличное пособие для тех, кто хочет разобраться как Kubernetes устроен изнутри и как его компоненты взаимодействуют друг с другом. Если вы собираетесь администрировать кластера Kubernetes, то вы обязательно должны его пройти.
Redis 6 + SSL
И так вы решили создать managed кластер Redis с поддержкой SSL в Yandex Cloud, но старые примеры кода не работают?
WebSocket за Application Load Balancer в Yandex Cloud
Как и обычно туториал я начну с небольшого кода приложения, которое мы будем использовать для наглядности. Код ни разу не production ready, а скорее минимально необходимый для демонстрации.
GitHub Actions для построения CD в Yandex Cloud
Надеюсь вы уже знакомы с тем, что такое GitHub Actions и для чего они вам могут быть полезны. Если нет, то могу посоветовать хороший доклад и его текстовую расшифровку на эту тему.
Тут же я расскажу про экшены, которые помогут вам интегрироваться с Yandex Cloud.
Репликация логов в Object Storage при помощи Yandex Data Streams
Cloud Logging отличный сервис для просмотра логов. Но у него есть одно ограничение — время хранения. Сейчас, пока сервис в стадии превью это 3 дня, позже с выходом в General Availability это время вероятно увеличат, но все равно оно вряд ли будет бесконечным, и уж тем более это не будет бесплатно.
А теперь вопрос: что делать если вам хочется (ну чтобы через год сравнить) или необходимо (по каким-нибудь юридическим или регуляторным причинам) хранить логи достаточно продолжительное время, от года и более. А еще делать это максимально просто и дешево.
Решение есть! А самое прекрасное, что нам почти не понадобится нечего дополнительно настраивать, если вы уже настроили поставку логов через Fluentbit, как я рассказывал в двух предыдущих постах про поставку логов из контейнера.
Пишем логи из COI в Cloud Logging при помощи Fluentbit
В прошлом посте я рассказал, как доставить логи из systemd. Теперь давайте разберемся как доставлять логи контейнеризированного приложения. И, как и в прошлый раз начнем с микро приложения, которое будет генерить нам поток логов.
Доставка логов с ВМ из systemd в Yandex Cloud Logging
Как распаковать zip архив в Yandex Cloud Object Storage
Для этого нам понадобится serverless функция.
Как доставить секреты в COI при развертывании docker-compose
И так нам понадобится сервис Lockbox и сервисный аккаунт с доступом к нему.