blackbox_exporter: проверяем сервис снаружи, а не изнутри

Обычные Prometheus-экспортеры (node_exporter, postgres_exporter) отдают метрики изнутри процесса или хоста — то, что видно самому сервису о себе. blackbox_exporter смотрит снаружи: стучится в эндпоинт по HTTP/TCP/ICMP/DNS/gRPC и фиксирует, ответил ли он вообще и за сколько. ...

October 22, 2026 · llexa

Fluent Bit: ещё легче, чем Vector

Vector уже закрывал тут задачу “собрать логи без JVM Logstash” — бинарник на Rust без прогрева и без гигабайта памяти на старте. Fluent Bit решает ту же задачу с другим допущением: он написан на C и исходно проектировался под embedded- и sidecar-сценарии, где процесс крутится не на отдельной VM с запасом ресурсов, а третьим-четвёртым соседом в поде или на роутере. ...

October 22, 2026 · llexa

glances: один экран вместо top, iotop, iftop и df по очереди

Диагностировать внезапно загруженный сервер обычно означает открыть по очереди top, iotop, iftop, df -h — и в голове собирать из них общую картину. glances делает это за тебя: CPU по ядрам, память и swap, диски и их I/O, сетевые интерфейсы с текущей пропускной способностью, топ процессов по CPU/памяти — всё сразу на одном экране терминала, обновляется в реальном времени. Запускается без параметров: glances и сам решает, какие блоки показывать, в зависимости от того, что происходит на сервере — если диск начинает тормозить, блок I/O подсвечивается заметнее остальных. Полезная деталь: пороги предупреждений (careful/warning/critical) настраиваются в ~/.config/glances/glances.conf, так что «нормальная» загрузка CPU для конкретного сервера не обязана совпадать с дефолтной. ...

October 19, 2026 · llexa

snmp_exporter: как затащить метрики со свитчей и ИБП в Prometheus

У свитча или ИБП обычно нет /metrics, зато почти всегда есть SNMP-агент. snmp_exporter превращает SNMP-опрос в тот же текстовый формат, что отдают остальные Prometheus-экспортеры, и дальше устройство встраивается в общий мониторинг как любой другой таргет. ...

October 6, 2026 · llexa

iotop: кто жрёт диск прямо сейчас

iostat показывает суммарную загрузку диска по устройству, но не говорит, какой процесс в этом виноват. iotop закрывает этот пробел — тот же принцип, что у top, только вместо CPU и памяти в колонках дисковое чтение/запись по каждому процессу, обновляется вживую. Голый запуск заваливает список десятками процессов с нулевым I/O, которые просто существуют в системе. Флаг -o (--only) оставляет на экране только тех, кто реально что-то читает или пишет прямо сейчас: iotop -o По умолчанию iotop показывает мгновенную скорость за последний интервал — короткий всплеск активности легко проскочить между кадрами. Флаг -a (--accumulated) переключает на накопленный с момента запуска объём I/O, так проще поймать процесс, который написал гигабайты за пару секунд и затих: ...

October 5, 2026 · llexa

LGTM-стек #1: node_exporter — метрики хоста и свои метрики через textfile

Начинаем серию про LGTM-стек (Loki, Grafana, Tempo, Mimir + Prometheus/Alloy) — с самого низа, откуда берутся метрики хоста. node_exporter — демон, который читает /proc и /sys и отдаёт их в формате Prometheus на :9100/metrics. Сам по себе не хранит историю и ничего не агрегирует — просто снимок текущего состояния по HTTP. ...

September 26, 2026 · llexa

Zabbix low-level discovery: автоматические items вместо ручных

Item вручную на каждый диск ломается при первом же добавлении нового. LLD решает это: одно правило находит все сущности и создаёт items по прототипу само. Правило обнаружения возвращает JSON вида: {"data":[{"{#FSNAME}":"/","{#FSTYPE}":"ext4"},{"{#FSNAME}":"/var","{#FSTYPE}":"xfs"}]} Item prototype берёт {#FSNAME} в ключ (vfs.fs.size[{#FSNAME},pfree]) — по item на каждый диск, включая новые после следующего запуска правила. Linux by Zabbix agent уже это умеет из коробки. Своё правило нужно только под нестандартное — очереди RabbitMQ, базы PostgreSQL. ...

September 19, 2026 · llexa

iostat и sar: диск и CPU за интервал, не мгновенный снимок

top/vmstat без параметров показывают текущий момент — iostat и sar (пакет sysstat) считают статистику за интервал и показывают тренд: iostat -x 2 5 — расширенный вывод каждые 2 секунды, 5 раз, с %util (загрузка диска) и await (время ожидания I/O). sar идёт дальше — если sysstat настроен таймером (сбор каждые 10 минут), он копит историю в /var/log/sa/, и sar -u -f /var/log/sa/sa15 покажет загрузку CPU за 15-е число без настройки мониторинга заранее — спасает при разборе уже закончившегося инцидента. ...

September 8, 2026 · llexa

dasha: дашборд здоровья кластера PostgreSQL

Обычно здоровье кластера PostgreSQL собирают вручную из pg_stat_statements, pg_stat_activity и логов VACUUM. dasha (github.com/dbulashev/dasha) сводит это в один веб-дашборд: медленные запросы, неэффективные индексы, блокировки, размер таблиц и прогресс VACUUM — с итоговым Health Score по формуле с весами. cd deploy/compose docker compose up -d # веб-интерфейс: http://localhost:3000 Бэкенд на Go 1.26, фронт на Vue 3.5, поддерживает PostgreSQL 14-18, аутентификацию через OIDC и RBAC, снимки состояния кластера для истории. Есть MCP-коннектор — можно подключить ИИ-ассистента прямо к метрикам кластера, и интеграция с Yandex Cloud для поиска по логам. ...

September 5, 2026 · llexa

Vector: сборка логов без Logstash на JVM

Logstash тянет за собой JVM и легко съедает гигабайт памяти на пустом месте. vector (Datadog, Rust) решает ту же задачу — собрать логи, разобрать, отправить — без этого веса. [sources.app_logs] type = "file" include = ["/var/log/myapp/*.log"] [transforms.parse] type = "remap" inputs = ["app_logs"] source = '. = parse_json!(.message)' [sinks.loki] type = "loki" inputs = ["parse"] endpoint = "http://loki:3100" labels.job = "myapp" Три секции — источник, трансформация, приёмник — читаются в конфиге так же прямо, как выполняются. remap (язык VRL) заменяет отдельные grok-паттерны Logstash на обычные выражения. Один бинарник, без плагин-менеджера и без JVM warm-up — годится и на слабом Pi-подобном хосте. ...

August 1, 2026 · llexa