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

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

Автор: @itcaat
Download Telegram
🔖 Сегодня хочу показать вам инструменты, которые входят в мой личный топ полезных утилит для работы с множеством серверов. Их главная суперсила - параллельное выполнение задач.

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

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
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