TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
DevOps не горит

22 Sep, 14:19

Open in Telegram Share Report

Коллеги, всем привет! =)

Открываю рубрику «Мама, твой сын вайб-кодер!» =)
У меня давно в голове крутилась идея сделать некоторого агента мониторинга, который бы периодически проверял «соседей» и сам им говорил, что с ним все ок
У вас может возникнуть резонный вопрос: а зачем все это?
Отвечая словами поэта - «Все переплетено»
Инфраструктурные домены, про которые я много раз рассказывал в своих докладах, ооочень сильно связаны друг с другом, и нам важно знать, что у соседей все хорошо =)
Причем важно знать это в обе стороны
Из этой проблемы/идеи и появился «Привет, сосед!» =)
«Привет, сосед!», или hello-neighbor, решает достаточно простую задачу — следит за тем, что с соседними инфраструктурными доменами все в порядке
Вы можете задать вопрос: у нас же есть blackbox-exporter, настрой его и не парься
И в некотором роде вы будете правы =)
Blackbox-exporter прекрасно отвечает на вопрос: «Могу ли Я достучаться до X?»
Но мне хотелось отвечать еще на один вопрос: «А может ли X достучаться до МЕНЯ?»
Потому что связность не всегда симметрична
Мы можем прекрасно ходить в соседний инфраструктурный домен, а он к нам — уже нет Где-нибудь поменяли ACL, настройки огнестенки, маршрутизацию — иии привет =)
Отсюда и появилась идея сделать проверку именно между соседями
Каждый hello-neighbor одновременно клиент и сервер: сам ходит к соседям и запоминает тех, кто приходит к нему
Причем для входящих соседей работает автоматическое обнаружение — достаточно, чтобы сосед хотя бы один раз пришел к нам, после чего мы его запомним и начнем следить, не пропал ли он
Получается примерно так:
domain-A → domain-B — работает
domain-B → domain-A — НЕ работает
И мы об этом узнаем =)
Ручная конфигурация тоже никуда не делась. Список соседей можно заполнить в любимом нами YAML-формате и раскатить при помощи GitOps хоть вообще на все инфраструктурные домены =)
На выходе получаем метрики в формате Prometheus и готовые алерты на всякие неприятные ситуации:
- сосед перестал ходить к нам;
- мы перестали ходить к соседу;
- связь стала асимметричной;
- изменился сетевой маршрут.
Ну и дополнительная КИЛЛЕР-ФИЧА — ICMP-диагностика =)
Кроме HTTP-проверок можно отдельно смотреть RTT, потерю пакетов и количество хопов до соседа
Причем HTTP и ICMP специально живут отдельно
ICMP может быть запрещен совершенно легально, поэтому его проблемы никак не делают соседа «мертвым»
А вот изменение количества хопов уже интереснее
Если вчера до соседа было 5 хопов, сегодня стало 9, а latency внезапно выросла — кажется, у нас появилась зацепка, куда смотреть =)
Можно включить и полноценный traceroute, чтобы посмотреть, как именно изменился путь.
Репозиторий доступен по ссылке

Enjoy =)

PS1 — пойду, что ли, разверну его где-нибудь =)
PS2 — с пожеланиями/предложениями приходите в репозиторий или приносите свой PR =)

377 0 2 12
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot