Архів категорії: Scripting/coding

Golang: запис логів AWS Loab Balancer до VictoriaLogs

26 Листопада 2025
 

 Наступна задача, яку хочеться вирішити з Go – це написати власний logs collector для збору логів AWS Load Balancer з AWS S3 і запису їх до VictoriaLogs. Це, звісно, можна було б вирішити просто з Vector.dev, як це робив для AWS VPC Flow Logs, див. Vector.dev: знайомство, логи з AWS S3 та інтеграція з VictoriaLogs,… Читати далі »

Golang: інтерфейси, типи та методи на прикладі io.Copy()

22 Листопада 2025
 

 Почав писати log collector з S3 до VictoriaLogs з використанням AWS GO SDK, і в коді достатньо багато використовуються різні Input/Ouput операції, бо треба отримати лог, розпарсити, записати дані. В попередньому пості по інтерфейсам – Golang: interfaces – “магія” виклику методів через інтерфейси – вже трохи торкався теми того, що таке інтерфейси і як саме… Читати далі »

Golang: створення OpenAI Exporter для VictoriaMetrics

17 Листопада 2025
 

 Є задачка на моніторинг костів на OpenAI – бачити скільки за добу витрачено кожним проектом, і слати алерти в Slack, коли витрати завеликі. Потикав кілька готових експортерів для OpenAI, але не побачив там метрик саме по костам, тому просто напишемо свій. Писати будемо на Golang, ідея дуже проста – з OpenAI API отримуємо дані, генеруємо… Читати далі »

Golang: interfaces – “магія” виклику методів через інтерфейси

11 Листопада 2025
 

 Інтерфейси в Go дозволяють описати доступ до даних або методів без створення самих реалізацій в цих інтерфейсах. Таким чином ми створюємо “загальну шину”, яку далі можемо використовувати для “підключення” зовнішніх “систем”. Тобто інтерфейс – це абстракція, яка описує доступ до іншого типу, але конкретна реалізація цієї поведінки вже буде залежати від того, що саме ми… Читати далі »

InfluxDB: запуск на Debian з NGINX і підключення Grafana

28 Жовтня 2025
 

 Отже, продовження попереднього посту InfluxDB: знайомство і основні можливості. Там познайомились з InfluxDB в цілому, тепер час будувати з ним реальні рішення. Що будемо робити – запустимо InfluxDB на Debian, налаштуємо NGINX, імпортуємо дані з Google Sheets в .csv, а потім мігруємо їх до InfluxDB та підключимо Grafana. І додатково трохи пограємось з Python Falsk… Читати далі »

Kubernetes: що таке Kubernetes Operator та CustomResourceDefinition

18 Липня 2025
 

 Мабуть, всі користувались операторами в Kubernetes, наприклад – PostgreSQL operator, VictoriaMetircs Operator. Але що там відбувається “під капотом”? Як і до чого застосовуються CustomResourceDefinition (CRD), і що таке, власне “оператор”? І, врешті решт – в чому різниця між “Kubernetes Operator” та “Kubernetes Controller”? В попередній частині – Kubernetes: Kubernetes API, API Groups, CRD та etcd… Читати далі »

TCP/IP: моделі OSI та TCP/IP, TCP-пакети, Linux sockets і порти

29 Червня 2025
 

 Складно в одному пості описати те, про що написані тисячі книжок на тисячу сторінок, але сьогодні спробуємо швиденько розглянути основи того, як відбувається комунікація між хостами в мережі. Спочатку згадаємо про моделі OSI та TCP/IP, потім про структуру пакетів, встановлення підключень, і в кінці – заглянемо “під капот” Linux – подивимось на сокети і Linux… Читати далі »

AI: пишемо MCP-сервер для VictoriaLogs

10 Травня 2025
 

 В попередньому матеріалі розібрались з тим, що таке MCP взагалі, і створили дуже простенький сервер, який підключили до Windsurf – див. AI: що таке той MCP? Тепер – давайте спробуємо створити щось більш корисне, наприклад – MCP-сервер, який буде підключатись до VictoriaLogs та отримувати якісь дані. Насправді команда VictoriaMetrcis вже робить власний, тому тут ми… Читати далі »

AI: що таке той MCP?

10 Травня 2025
 

 Щось всі навколо тільки і говорять що про море про MCP – тож прийшов час і самому розібратись в темі. Отже, сьогодні розберемося з основними поняттями – “що воно взагалі таке”, потім напишемо власний “мікро-MCP сервер”, а в наступному пості – щось більш реальне, про роботу з VictoriaLogs. Обмеження LLM Будь-яка Large Language Model –… Читати далі »

Python: знайомство з Celery та його моніторинг

15 Квітня 2025
 

 Якщо дуже просто, то Celery – це щось, за допомогою чого ми можемо виконувати задачі поза нашим основним сервісом. Наприклад, є Backend API, який має якийсь ендпоінт, на який мобілочки відправляють інформацію про те, що юзер створив новий whatever в застосунку. Задача бекенда – додати whatever в базі даних. Можна це виконати прямо в інстансі… Читати далі »