Pull to refresh
175
20.2
Пацев Антон @chemtech

DevOps-инженер

Send message

Централизованная обработка алертов: интеграция VictoriaMetrics, Alertmanager, Grafana OnCall и Telegram

Level of difficultyMedium
Reading time16 min
Views2.8K

Эффективный мониторинг является краеугольным камнем надежности любой IT-системы, позволяя своевременно выявлять возникающие проблемы. Однако само по себе обнаружение проблемы – это лишь полдела. Не менее важна быстрая и скоординированная реакция команды. Инструменты вроде Alertmanager и Grafana OnCall играют ключевую роль в автоматизации процесса оповещения и управления инцидентами. В этой статье мы подробно рассмотрим, как выстроить цепочку взаимодействия между различными компонентами системы мониторинга и оповещения, чтобы каждый инцидент автоматически отслеживался от момента его фиксации правилом мониторинга до доставки уведомления ответственному инженеру в мессенджер, например, Telegram.

Читать далее

Всегда используйте target_session_attrs=read-write (или primary) при подключении к кластеру PostgreSQL по FQDN в YC

Level of difficultyMedium
Reading time60 min
Views2.2K

При работе с кластерами PostgreSQL, особенно в конфигурациях с высокой доступностью (High Availability, HA), разработчики часто сталкиваются с ошибками типа "cannot execute INSERT in a read-only transaction". Эти ошибки возникают, когда приложение пытается выполнить операцию записи на узел, который в данный момент является репликой (read-only). Особенно остро эта проблема проявляется в моменты переключения мастера: пул соединений вашего приложения может все еще содержать коннекты к бывшему мастеру, ставшему репликой, или же балансировщик может направить новый запрос на запись к реплике.

К счастью, драйверы PostgreSQL предоставляют элегантное решение этой проблемы – параметр строки подключения target_session_attrs. В версии PostgreSQL 14 были добавлены новые значения для target_session_attrs: read-only, primary, standby и prefer-standby. Этот параметр позволяет указать, какого типа сессию ожидает ваше приложение. Наиболее полезным значением для приложений, выполняющих операции чтения и записи, является read-write. В этой статье мы подробно разберем, почему это так важно, продемонстрируем проблему на практике и покажем, как target_session_attrs=read-write спасает ситуацию. Использование target_session_attrs=primary, включая его специфические отличия от read-write, будет подробно рассмотрено далее в статье.

Читать далее

Отправка label в систему логирования и мониторинга из метаданных GitLab Runner (job_id, pipeline_id)

Level of difficultyMedium
Reading time5 min
Views1.3K

При использовании GitLab CI/CD с Kubernetes возникает необходимость видеть связку между логами и конкретными CI job'ами или pipeline'ами. Это особенно полезно для отладки и мониторинга. Однако по умолчанию логи из подов не содержат этих связующих метаданных.

В данной статье мы покажем, как можно передавать метки job_idpipeline_idproject_name и другие из GitLab Runner в систему логирования VictoriaLogs с помощью Promtail и систему мониторинга VictoriaMetrics.

Читать далее

Профилирование Node.js приложения с помощью Pyroscope (без автоинструментирования)

Level of difficultyMedium
Reading time11 min
Views1.7K

Pyroscope — это мощный инструмент непрерывного профилирования, созданный для мониторинга производительности приложений в реальном времени. В этой статье мы рассмотрим, как быстро развернуть Pyroscope, подключить к нему Node.js приложение и проанализировать поведение кода без использования Grafana Alloy.

Читать далее

Запускаем Sentry в Kubernetes в Яндекс облаке и храним Nodestore в S3

Level of difficultyMedium
Reading time27 min
Views1.7K

Sentry — это инструмент для отслеживания ошибок и производительности приложений в реальном времени.

Кратко о Sentry: что это, зачем он нужен

— Отслеживает баги и exceptions в бекенд, веб и мобильных приложениях.

Для кого этот пост

— Этот пост для тех кто хочет перейти с Sentry в docker‑compose

— Для тех кто хочет перейти с Nodestore в PostgreSQL

Читать далее

Разворачиваем Elasticsearch в Kubernetes используя operator и FluxCD

Level of difficultyMedium
Reading time16 min
Views1.7K

Elasticsearch — это распределённая поисковая и аналитическая система для обработки больших объёмов данных в реальном времени. В этом посте будет рассмотрено развертывание Elasticsearch в Kubernetes через оператор ECK (Elastic Cloud on Kubernetes), который упрощает управление жизненным циклом кластера. Для эффективного мониторинга работы Elasticsearch будет использоваться связка Prometheus и специального экспортёра метрик. Экспортёр собирает ключевые показатели (индексация, поисковые запросы, использование ресурсов) и делает их доступными для Prometheus через ServiceMonitor. Конфигурация включает настройку аутентификации, SSL-сертификатов для безопасного соединения и томов для хранения данных. Так же будет рассмотрен бекап и восстановление индексов.

Читать далее

KRR — ваш личный советник по ресурсам в Kubernetes

Level of difficultyMedium
Reading time4 min
Views6.3K

KRR (Kubernetes Resource Recommender) — это CLI-инструмент для оптимизации использования ресурсов в Kubernetes. Он анализирует метрики Pod'ов, собираемые в Prometheus, и предлагает оптимальные настройки requests и limits для CPU и памяти. Это помогает снизить расходы на облачные ресурсы и повысить производительность приложений. В этом посте будет рассмотрен периодический запуск krr в kubernetes с сохранением в html формат для удобного отображения через браузер как web-сайт.

Читать далее

Установка Sentry в Kubernetes, отловы exception на бекенде, в браузере, на Android

Level of difficultyMedium
Reading time9 min
Views3.7K

В этой статье поговорим о Sentry — инструменте для сбора exception, который помогает разработчикам быстро обнаруживать и устранять проблемы, сокращая время выхода новых релизов и повышая удовлетворенность пользователей.

Читать далее

Безопасность на новом уровне: исследование Smallstep CA и его применение

Level of difficultyMedium
Reading time13 min
Views3.2K

Рассмотрим Smallstep CA — современное и инновационное решение для управления сертификатами. Оно может предложить несколько преимуществ по сравнению с OpenSSL.

Читать далее

Автоматическое обновление зависимостей в GitLab-проектах с помощью Renovate

Level of difficultyMedium
Reading time6 min
Views5.8K

Автоматическое обновление зависимостей становится все более важным аспектом в процессах непрерывной интеграции и непрерывной доставки (CI/CD) в сфере разработки программного обеспечения. В статье описана настройка автоматического обновления зависимостей в GitLab-проектах с помощью Renovate.

Читать далее

Как создавать Kubernetes секреты из Vault, используя external-secrets-operator

Reading time6 min
Views14K

Бывают случаи, когда инженеры хранят секретные данные, ключи, токены в открытом виде или в переменных Gitlab. В Kubernetes для хранения данных, которые нежелательно показывать широкому кругу лиц, предусмотрены секреты.

В этой статье предлагаю рассмотреть безопасный способ передавать, синхронизировать, интегрировать секреты напрямую из Vault в Kubernetes – с помощью метода аутентификации AppRole, используя external-secrets-operator.

Читать далее

Управление инфраструктурой с помощью terragrunt (terraform) и gitlab ci

Level of difficultyMedium
Reading time6 min
Views17K

В этом посте:


  • Использование terraform модулей
  • Организуем структуру каталогов с terraform модулями для terragrunt согласно вашей инфраструктуре
  • Создание/Обновление/Удаление инфраструктуры одной terragrunt командой
  • Настройка в gitlab ci для запуска и сохранения terraform lock и state в gitlab
  • Бекап terraform state из gitlab
Читать дальше →

Установка Jenkins с помощью terraform в Kubernetes в Yandex Cloud с letsencypt

Reading time9 min
Views6.9K

В этой статье будет следующее:


  • Заведение DNS домена на reg.ru.
  • Управление DNS зоной в Yandex DNS c помощью terraform.
  • Создание Kubernetes в Yandex Cloud.
  • Резервируем внешний статический IP адрес.
  • Установка Jenkins c помощью terraform модуля helm_release.
  • Создание ClusterIssue(Issue) для создания letsencypt сертификата.
Читать дальше →

Обзор rotoro cloud — платформа для обучения и практики devops, kubernetes, IaC

Reading time2 min
Views8.8K

В настоящее время активно развивается IT рынок обучающих курсов.


В курсах вам даются видео лекции где довольно много времени уходит впустую, а домашнее задание довольно долго проверяется людьми.
В случае больших заданий это оправдано, но если ты учишься в удобное тебе время и небольшими инкрементальными приращениями, ожидание проверки выполненного задания трата времени впустую. Поэтому на роторо имеются автопроверки.
Ручные проверки оправданы в случае обучения на очных либо курируемых длительных курсах, но при обучении с самостоятельно выбранными темпом и временем ожидание проверки выполненного задания куратором может излишне затянуть переход к следующему этапу. Автопроверки же решают эту проблему на корню.


Предлагаю посмотреть в сторону обучающей платформы rotoro cloud, где видео короткие и по теме, а задания проверяются в автоматическом режиме. Курсы на платформе на русском языке. После прохождения каждого курса выдается сертификат.


rotoro cloud — платформа для обучения и практики по направлениям DevOps, Контейнеры и Kubernetes, Инфраструктура в виде кода (IaC) и Облака.

Читать дальше →

Установка Jenkins используя Ansible и плагин Configuration as Code на виртуальной машине

Reading time7 min
Views6.1K

Установка Jenkins используя Ansible и плагин Configuration as Code на виртуальной машине


Jenkins Configuration as Code (aka JCasC) призвана быть инструментом, который позволяет вам запускать свой Jenkins в парадигме Infrastructure as Code или инфраструктура как код (IaC).


Этот пост будет состоять из двух частей. Первая часть — быстрый запуск тестового примера. Вторая часть — подробное описание.

Читать дальше →

Автоматизация релизов с помощью github-action и semantic-release. А так же использование Pre-commit в Github action

Reading time5 min
Views8.6K

В этом посте будет описано практическое применение semantic-release для terraform модуля terraform-yandex-compute (Модуль Terraform, который создает вычислительные ресурсы в облаке Яндекса) c Github action.



А так же будет рассмотрено использование Pre-commit в Github action.


Читать дальше →

Что нового в плане мониторинга в PostgreSQL (Алексей Лесовский)

Reading time22 min
Views8.1K


Доклад Алексея Лесовского про то, что нового есть в PostgreSQL в плане мониторинга.


Охватывать Алексей будет 13 и 14 версии. Далее от его лица.

Читать дальше →

Автоматизируем все с Github Actions (Никита Соболев)

Reading time29 min
Views27K


Никита Соболев покажет множество функций Github Actions, поделится собственными впечатлениями и болями от первых месяцев использования, покажет, как сделать собственные инструменты.

Читать дальше →

Kubernetes monitoring от простого к сложному (Николай Храмчихин)

Reading time12 min
Views20K


Разберём как при помощи VictoriaMetrics замониторить kubernetes. Откуда собирать метрики и как автоматически обнаруживать новые цели. Черная магия релейблинга и как она работает. Аннотации для мониторинга приложений и что делать когда их гибкости не хватает

Читать дальше →

Kubernetes Nginx Ingress: Перенаправление трафика с использованием аннотаций

Reading time5 min
Views45K

Kubernetes Nginx Ingress: перенаправление трафика с использованием аннотаций



Перенаправляйте HTTP-трафик или переписывайте URL-адреса с помощью входных аннотаций Kubernetes и Nginx ingress controller. В этой статье объясняется использование аннотаций и их влияние на результирующий файл конфигурации nginx.conf.

Читать дальше →
1
23 ...

Information

Rating
347-th
Location
Омск, Омская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

DevOps
Senior