DevOps Brain 🧠
1.35K subscribers
132 photos
17 videos
130 links
Пишу про kubernetes, terraform, linux, сети, автоматизации и полезные тулзы. Без спама и щитпостинга.

Хотите пообщаться? @devopsbrain_chat

Автор: @itcaat
Download Telegram
Хочу поделиться ссылкой на Robusta KRR — это CLI-тул для оптимизации распределения ресурсов в кластерах Kubernetes. Он собирает данные об утилизации подов от Prometheus и рекомендует requests и limits для процессора и памяти.

https://github.com/robusta-dev/krr

#kubernetes #middle #tools
🔥1
Привет, котлеги 🐈‍⬛ Сегодня продолжаем ковыряться в практиках переезда из prometheus->victoria-metrics. Всплыл интересный кейс: прометей не выдает up==0 при скрапе clickhouse native метрик, а вот виктория возбудилась и накидала ошибок скрапа. Кейс удалось воспроизвезти через hey tool (https://github.com/rakyll/hey). Достаточно было вкинуть порядка 5 параллельных запроса и тут же вылетает портянка из ошибок.


hey -c 10 -z 1s http://clickhouse-logs-shard01/metrics

Error distribution:
[37] Get "http://clickhouse-logs-shard01/metrics": EOF
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50453->10.0.5.71:9363: read: connection reset by peer
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50454->10.0.5.71:9363: read: connection reset by peer
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50455->10.0.5.71:9363: read: connection reset by peer
[1] Get "http://clickhouse-logs-shard01/metrics": read tcp 10.8.0.2:50456->10.0.5.71:9363: read: connection reset by peer

Summary:
Total: 1.1142 secs
Slowest: 1.2096 secs
Fastest: 2.1123 secs
Average: 3.1399 secs
Requests/sec: 192.9718


Response time histogram:
0.112 [1] |■■■■■
0.122 [4] |■■■■■■■■■■■■■■■■■■■■
0.132 [8] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0.141 [6] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


Latency distribution:
10% in 0.1212 secs
25% in 0.1252 secs
50% in 0.1369 secs
75% in 0.1540 secs
90% in 0.1649 secs
95% in 0.2096 secs
0% in 0.0000 secs

Details (average, fastest, slowest):
DNS+dialup: 4.0183 secs, 0.1123 secs, 0.2096 secs
DNS-lookup: 5.0026 secs, 0.0001 secs, 0.0126 secs
req write: 6.0000 secs, 0.0000 secs, 0.0002 secs
resp wait: 7.0367 secs, 0.0162 secs, 0.0615 secs
resp read: 8.0844 secs, 0.0590 secs, 0.1310 secs

Status code distribution:
[200] 34 responses




Есть подозрение что у прометея есть какая то неофициальная политика ретраев, но скорее всего оно тупо игнорит по какой то причине и не кладет в метрику значение, что таргет как бы не up =) А вот виктория молодец и сразу спалила.

А статейки на почитать вам сегодня такие есть:

https://docs.victoriametrics.com/cluster-victoriametrics/ - ну официальная дока, ну и что =))
https://habr.com/ru/articles/518680/ - тут хорошо про викторию vs прометей
https://victoriametrics.com/blog/categories/observability/ - ну мед. Кладезь инфы и примеров.

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


#victoriametrics #middle #tools
👍1
Всем отличной рабочей недели.

Kubetools - куча тулов для куба по категориям.
https://collabnix.github.io/kubetools

#tools #kubernetes
📍 Карта канала

Ламповый чатик для своих людей: @devopsbrain_chat

Собрал в одном месте все самые полезные посты - изучайте, применяйте!
---
🔵Вредные советы начинающим специалистам в IT
🔵Говорим с TeamCity на одном языке с помощью MCP
🔵Делаем свой бесплатный сайт - закроем тему
🔵Динамические матрицы в github actions - Часть 1 | Часть 2
🔵Про магию for в prometheus
🔵Как запустить публичный сайт на телефоне или экономим на спичках
🔵Как прокачать сетку между разными ЦОД за пару команд
🔵Как умерла OS/2 в неравной схватке с Windows - Часть 1 | Часть 2
🔵Кольцо хеширования: теория и симулятор
🔵Лучшие практики конфигурирования Kubernetes в 2025 — Часть 1: Это база! | Часть 2: Сервисы, метки, конфиги и лимиты | Часть 3: безопасность, логи, наблюдаемость и graceful shutdown [продолжение следует...]
🔵Наводим красоту в htop
🔵Настройка самоподписных валидных ssl-сертификатов в локальном k8s. Часть 1 и Часть 2.
🔵Отправка уведомлений на телефон через API запрос
🔵Поиск эксплойтов в вашем кубе с помощью kubescape и metasploit
🔵Почему вам надо вводить практику написания посмортемов?
🔵Про git fixup и чистую историю
🔵Размышления об opensource. Оно катится в ад?
🔵Симулируем сети в GNS3. Часть 1 - настройка под MacOS | Часть 2 - делаем свою первую сеть
🔵Топ полезных утилит для работы с кучей серверов на примерах
🔵Тулзы для детекта утечки секретов
🔵Чеклист на Новый 2026 год для инженеров эксплуатации
🔵Эмуляция сетевых проблем в Linux через tc netem

🔵Dive in performance tools. Часть 1 - Sysdig
🔵Dive in performance tools. Часть 2 - top / htop. Про память в Linux | Про CPU | Таблица процессов в top | Основные выводы в практике | Что еще можно посмотреть в top
🔵Dive in performance tools. Часть 3 - Сеть. bmon | bandwhich [продолжение следует...]
🔵Excalidraw - как рисовать схемы без боли и страданий
🔵DocMost - аналог notion
🔵grafana k6 - знакомство с нагрузочным тестированием
🔵keephq - мониторинг на стеройдах
🔵kubetools - сборник тулов для k8s
🔵neohtop - htop под macos
🔵macpine - запускаем вмки под MacOS терминала
🔵oh-my-zsh - красиво оформляем командную строку
🔵postman - TUI аналог postman для любителей консоли
🔵siyuan - обзор решения для личного управления знаниями
🔵SLA, SLO и SLI простыми словами - Часть 1 | Часть 2
🔵tabby.sh - еще один кросплатформенный терминал
🔵Zerolog - удобные логи в golang

🔖 Полезные теги на канале
---
#ai #cicd #career #clickhouse #docker #dotnet #external_links #facts #fun #golang #github_actions #haproxy #kafka #linux #kubernetes #macos #management #networking #opentelemetry #proxmox #simulators #study #tools

------

🌐Мои репки opensource: https://github.com/itcaat/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
https://betterstack.com/community/guides/logging/zerolog/ - отличная статья о том как красиво организовать логи в go lang. На скрине только часть красоты. Основная фишка - полный контроль как логи будут выглядеть, а также куча встроенных фич. Ну и если в json хотите - не проблема. Ну и сюда же неплохая статья как быстро заменить стандартный вывод в консоль на структурированный лог json. https://programmingpercy.tech/blog/how-to-use-structured-json-logging-in-golang-applications/


#golang #tools
👍2
https://github.com/docmost/docmost - бесплатный opensource аналог notion.so. Возможно кому то пригодится. Как мне кажется, классный вариант для внутренней вики. Сам не тестил, но выглядит круто

#tools
Если у вас есть кластера proxmox и вы задумались об автоматической балансировке, то вот тут есть для вас решение https://github.com/gyptazy/ProxLB

Выглядит очень интересно - но сам не тестировал. Может кто то захочет внедрить - расскажите потом как прошло =)

А вообще есть статья у автора https://gyptazy.com/howto-automated-deployment-of-freebsd-vms-in-proxmox-with-proxlb-and-terraform/, там пример с терраформом 🔥

#proxmox #tools
👍2
Отпуск “потрачено”. Press F

👨‍💻 Нашел хипстерский htop под macos https://github.com/Abdenasser/neohtop. Пользоваться, конечно не буду, старый добрый htop все равно лучше - все таки в консоли привычнее. Но дизайн прикольный. А вам как?

#tools #macos
👍4👏1
Нашел консольный аналог postman - как вам? По-моему выглядит круто, там даже command palette есть 🤯Правда ставится через uv. 🙁

https://github.com/darrenburns/posting

#tools
👍5🔥2
В продолжении темы про терминалы - недавно наткнулся на https://tabby.sh. Я погонял его пару дней - есть небольшие баги, но в целом как альтернативна терминалу очень даже огонь.

🟢 Работает на Windows, Mac и Linux.
🟢 Встроенный SSH-клиент с менеджером подключений.
🟢 Встроенный терминал для работы с последовательными портами.
🟢 Поддержка PowerShell, PS Core, WSL, Git-Bash, Cygwin, Cmder и CMD.
🟢 Полная поддержка Unicode, включая символы двойной ширины.
🟢 Передача файлов в/из SSH-сессий через SFTP и Zmodem.
🟢 Темы оформления и цветовые схемы.
🟢 Полностью настраиваемые горячие клавиши, включая составные комбинации.
🟢 Запоминает ваши вкладки и разделенные панели.
🟢 Полноценный опыт работы с Shell на Windows, включая автодополнение.
🟢 Встроенный зашифрованный контейнер для хранения SSH-секретов и настроек.

#tools
👍1👏1
Котлеги, привет. Сегодня без длинных постов - но я не могу не рассказать про https://github.com/ripienaar/free-for-dev.

Это просто клад - тысячи бесплатных сервисов и инструментов для ойтишников: хостинги, CI/CD, мониторинг, базы данных и многое другое. И самое главное что не триалы, а реально бесплатные тарифы (с ограничениями, но без внезапных счетов).

Если вы запускаете pet-проект, MVP или просто хотите сэкономить на инфраструктуре - must-have в закладках.

P.S. Если вы уже что-то используете оттуда - напишите, что зашло. 🤘

#tools
👍9👀8❤3🔥1
🔖 Наводим красоту в htop

Все мы любим htop - цветастый, кликабельный, удобный топчик. Но не смотря на то, что в большинстве случаев хватает варианта из коробки, в нем большие возможности для кастомизации.

Я не хочу долго расписывать как и что настраивать, а просто дам вам однострочник который сделает всю магию. Он по сути он просто бекапит текущий конфиг (если он вообще был) и забирает из https://gist.github.com/itcaat/45ea5994d66378fc4bd647cab860a05f новый.


mkdir -p ~/.config/htop && [ -f ~/.config/htop/htoprc ] && mv ~/.config/htop/htoprc ~/.config/htop/htoprc.bak.$(date +%Y%m%d%H%M%S); curl -fsSL "https://gist.github.com/itcaat/45ea5994d66378fc4bd647cab860a05f/raw" -o ~/.config/htop/htoprc


После этого запускаем htop и наслаждаемся.

#tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥122❤‍🔥11
🔖 Сегодня хочу показать вам инструменты, которые входят в мой личный топ полезных утилит для работы с множеством серверов. Их главная суперсила - параллельное выполнение задач.

Давайте я просто покажу примеры использования с кратким описанием и все сами поймете.

pdsh - инструмент, который позволяет выполнять команды на множестве хостов параллельно.


# Проверим uptime на хостах начиная с 1 по 5, исключив 3
pdsh -w node[1-5] -x node3 uptime

# Перезагрузим все хосты, кроме node3 и node7
pdsh -w node[1-10] -x node3,node7 'sudo reboot'


Если вы достаточно организованы, чтобы вести список хостов - можно даже использовать файл с заранее определенными хостами


# File: my_hosts.txt
# node1
# node2
# db[01-05]

pdsh -w "^my_hosts.txt" 'uptime'


Вы скажете:

Так тебе же ничего не мешает использовать для этих целей Ansible!



ansible -i 'node1,node2,node3' all -m shell -a 'uptime'


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

Когда одного pdsh мало - берите PSSH

pssh - отличная альтернатива pdsh


# Одновременное обновление пакетов на всех хостах
pssh -h production_servers.txt -l admin -t 300 "sudo apt update && sudo apt upgrade -y"


pscp - массовое копирование на сервера


# Залить скрипт мониторинга на все хосты
pscp -h all_hosts.txt monitor_script.sh /usr/local/bin/


prsync - параллельное копирование через rsync


# Обновить статические файлы только если они изменились
prsync -h cdn_nodes.txt -a "-avz" static/ /var/www/static/


pslurp - собрать файлы с серверов на локальную тачку


# Собрать логи со всех серверов в отдельные папки
pslurp -h servers.txt -l user -L ./collected_logs /var/log/app/error.log app_error.log


Эти инструменты не заменят полноценные системы управления конфигурациями вроде Ansible или chef, но для быстрых задач, срочных исправлений или массового сбора информации - они незаменимы.

#tools #cli #administration
---
💬DevOps Brain 🌐Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17
Media is too big
VIEW IN TELEGRAM
🔖Скрипт для быстрой диагностики Linux

“Наши руки не для скуки” (с). Я давно хотел накидать скрипт для супер быстрой диагностики Linux. Конечно, это не замена полноценному мониторингу. Это дополнительный инструмент, который вы можете использовать в своем арсенале чтобы упростить себе жизнь. Самое главное что он сэкономит кучу времени.

В отчете вы получите:

🔵Системную информацию - версия ОС, ядро, архитектура, uptime, внешний IP
🔵Аппаратные ресурсы - CPU, RAM, Swap, температура процессоров
🔵Дисковое пространство - занятое место, inodes, SMART статус
🔵Тест скорости дисков - скорость записи/чтения (100MB тест)
🔵Сетевые интерфейсы - статус, ошибки, активные соединения
🔵Тест сети - ping до шлюза, ya.ru и 8.8.8.8 (по 10 пакетов каждый), скорость интернета
🔵Процессы - топ по CPU и памяти, zombie процессы
🔵Системные логи - критические ошибки, OOM события, kernel warnings
🔵Системные службы - проверка упавших служб
🔵Безопасность - неудачные входы, активные SSH сессии
🔵Docker - статус контейнеров и их ресурсы


curl -o ~/linux-diag-script.sh https://gist.githubusercontent.com/itcaat/45edeaf15f2d508bee766daa9a97400c/raw/linux-diag-script.sh
chmod +x ./linux-diag-script.sh
./linux-diag-script.sh

# Одной командой
curl https://gist.githubusercontent.com/itcaat/45edeaf15f2d508bee766daa9a97400c/raw/linux-diag-script.sh | sudo bash


Бонусом в скрипте встроена возможность получать Telegram уведомления и сам отчет при обнаружении проблем. Для этого надо создать бота и добавить в выполнение скрипта в cron.

1. Найди [@BotFather](https://t.me/BotFather) в Telegram
2. Отправь команду /newbot
3. Следуй инструкциям и получи токен бота (например: `123456789:ABCdefGHIjklMNOpqrsTUVwxyz`)
4. Получи Chat ID:
- Отправь сообщение боту
- Откройте: https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
- Найди "chat":{"id": - это твой Chat ID

Теперь можешь добавить в cron (подставь свой botToken и chatId) и будешь получать уведомление в telegram если будет обнаружена какая то проблема.


# Проверка каждые 6 часов
0 */6 * * * root TELEGRAM_BOT_TOKEN="your_token" TELEGRAM_CHAT_ID="your_chat_id" /usr/local/bin/linux-diag-script.sh >/dev/null 2>&1


Актуальная версия скрипты доступна на GitHub Gist. Вы можете модифицировать его под свои нужды, добавлять новые проверки или как то интегрировать в runbook-и.

🔖 #linux #tools
---
DevOps Brain | Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
Media is too big
VIEW IN TELEGRAM
🔖 Полезные TUI тулзы - git-igitt

У меня скопилось какое-то количество крутых TUI тулов, которыми пользуюсь и хочу с вами тоже делиться.

Некоторые супер известные - из серии lazydocker, lazygit и тд. Но банальщину оставим на потом. Хочется показать менее известные TUI-тулзы.

И первая тулза это git-igitt. Она нужна для просмотра Git-истории с читаемыми графами веток прямо в терминале.

⚡ Плюшки:

• визуальные Git-графы в терминале
• навигация по коммитам
• просмотр diff-ов
• кроссплатформенный

Установить можно через cargo или скачав соотвествующий бинарь со страницы релизов.


# Установить cargo можно командой curl https://sh.rustup.rs -sSf | sh
cargo install git-igitt


Навигация очень простая - просто стрелками на клавиатуре вверх вниз влево и вправо.

#tools #git

---
DevOps Brain | Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Media is too big
VIEW IN TELEGRAM
🔖 Полезные TUI тулзы - dive

Рано или поздно у тебя или твоих коллег появляется Docker-образ, который по какой-то причине весит в разы больше, чем ожидали. Часто виной тому - лишние логи, кэш пакетных менеджеров (apt, npm, pip), или даже исходный код, который не нужен в runtime.

Как следствие pull образа занимает вечность, ну а дальше сильно замедляется развертывание в кластерах или на нодах.

Возникает вопрос: как посмотреть, что находится внутри этого образа и как сделать его меньше? Именно для этого и нужен dive.

По сути dive - это рентген для Docker-образов, который покажет:

- Все реальные слои файловой системы образа.
- Какие именно файлы были добавлены, изменены или удалены в каждом слое.

Попробуйте запустить dive на своем самом большом образе - гарантирую, вы удивитесь =)


# https://github.com/wagoodman/dive
dive <your-image:tag>


#tools #tui

---
DevOps Brain | Github | YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥121
This media is not supported in your browser
VIEW IN TELEGRAM
🔖Полезные TUI тулзы - ncdu

ncdu - самая топовая тулза для быстрого поиска куда утекло место на серваке или локальной машинке.

В отличие от обычной команды du, утилита ncdu предоставляет удобный интерфейс, который облегчает навигацию по папкам, позволяет быстро и наглядно находить самые жирные файлы и директории.

Я покажу 2 примера использования - в базовом варианте ( будет достаточно для 99 процентов случаев ):


ncdu <some_path>


Расширенный пример с самыми интересными параметрами, которые потенциально могут пригодиться.


# --exclude-caches - не учитывать кеши
# --exclude '*.log' - не учитывать log-файлы
# --color dark - темная тема
# --show-percent - показывать процент от общего размера
# -- graph-style - стиль графической полоски (чисто вкусовщина для красоты)
ncdu --exclude-caches \
--exclude '*.log' \
--exclude '/proc/*' \
--color dark \
--show-percent \
--graph-style half-block <some_path>


Пакет доступен для всех популярных linux-дистрибутивов и macos. Пример как она работает есть на видео - как видно больше всего места в моем домашнем каталоге жрет Counter Strike oO.

#tools #cli #linux

---
Telegram | Github | YouTube | Twitter
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤‍🔥1