Useful Tools | Linux | GitOps | DevOps
5.79K subscribers
152 photos
1 video
7 files
677 links
Полезные бесплатные opensource инструменты на все случаи жизни, а иногда и советы.

Понравился проект из поста - поддержи автора звездой!

Автор: @dmitry_malinin
Web: https://gitgate.d3.ru

Сотрудничество: @maxgrue
Обсуждение: @gittalk
Download Telegram
pg_activity - инструмент командной строки (CLI) для мониторинга активности сервера PostgreSQL похожий на htop

Кстати, включено пакетом в базовые репы многих дистрибутивов линукса.

Запуск:

sudo -u postgres pg_activity -U postgres


https://github.com/dalibo/pg_activity

опубликовано в @gitgate

#moni #postgres #pg #top #sql
🔥26👍11
Совет дня:

Как попасть на узел в закрытой сети через jumphost по ssh.

ssh -J user1@hostname1:port1 user2@hostname2:port2


Где hostname1 - промежуточный jump узел с доступом извне, hostname2 узел изолированный от внешних каналов, но с сетевой связаностью с hostname1

Для удобства можно прописать алиасом в файле ~/.bashrc

alias jump='ssh -J user1@hostname1:port1'


И просто вызывать командой jump user2@hostname2:port2

опубликовано в @gitgate

#tips #ssh #jumphost
👍33🔥10
Channel name was changed to «Useful Tools | Linux | GitOps | DevOps»
cgroup-utils - предоставляет утилиту и библиотеку для контроля cgroups в Linux. Например, топ cgutil - htop подобная утилита , которая показывает деятельность запуска процессов в cgroups

Доступные команды:

- configs
- event
- mkdir
- pgrep
- rmdir
- stats
- top
- tree

Поддерживаемые подсистемы:

- blkio (с возможностью debug)
- cpuset
- cpu and cpuacct
- devices
- freezer
- hugetlb
- memory
- net_cls
- net_prio
- pids
- rdma

Т.е. даже не используя контейнеризацию вы можете не только обернуть любой процесс в cgroups с установленными лимитами например по памяти или CPU и изоляцией, но и удобно им управлять и наблюдать.

Например поднять пару инстансов постгреса, чтобы они не дрались за память. :)

https://github.com/peo3/cgroup-utils

опубликовано в @gitgate

#cgroups #tools #cli #utils
👍11🔥6
Совет дня:

Ограничение памяти с помощью cgroups

Control Groups (cgroups) позволяют ограничивать объем памяти, доступной для группы процессов.

Для начала необходимо создать группу для ограничения памяти:
sudo cgcreate -g memory:/mygroup


Далее настраиваются ограничение на использование памяти для группы mygroup. Например, ограничение на 512 MB:
echo 512M | sudo tee /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes



Добавьте процесс в группу cgroups, указав его PID:
sudo cgclassify -g memory:/mygroup <PID>


Либо запустите процесс непосредственно в группе cgroups:
sudo cgexec -g memory:/mygroup <command>


Теперь процесс будет ограничен в использовании памяти, что поможет избежать ситуаций, когда один процесс использует всю доступную память.

Примерно так же задаются ограничения и по CPU

опубликовано в @gitgate

#tips #cgroups
👍27🔥12
Совет дня:

Как быстро и корректно системными средствами увеличить диск в виртуалке?

1. Добавить свободное место в блочное устройство в гипервизоре

2. Внутри VM перечитать размер диска

echo 1>/sys/class/block/sdb/device/rescan

3. Установить пакет cloud-guest-utils в составе которого находится нужная нам утилита growpart

apt-get install cloud-guest-utils

4. раздвинуть в таблице разделов необходимую партицию

growpart /dev/sda 1

5. Раздвинуть на увеличенную партицию файловую систему

resize2fs /dev/sda1

Примечание: в таблице разделов после увеличиваемой партиции должно быть свободное место. Возможно вам еще понадобятся утилиты lsblkk, gpart

В обсуждениях под постом можно предложить и свои способы, их немало.

опубликовано в @gitgate

#tips #disk
🔥21👍14
Совет дня:

Как избавиться от swap в виде партиции и перенести его его в файл

1. Отключите текущий swap и закоментируйте строку для swap в /etc/fstab

sudo swapoff -a

2. Подотовьте файл для будущего свапа необходимого размера

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile

3. Подключите swapfile и проверьте его размер

sudo swapon /swapfile
free

4. Сделайте изменения доступными после загрузки, добавив строку в /etc/fstab

echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab


Есть и не очевидная выгода. В дальнейшем, если вам потребуется изменить размер swap, не придется двигать партиции, достаточно в пп..1 указать новый размер и пропустить пп.4

опубликовано в @gitgate

Как всегда обсуждение и советы в комментариях.

#tips #swap
👍30🔥14
Kanidm - простое и безопасное управление идентификацией

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

Цель этого проекта - быть полным поставщиком идентификаций, охватывающий самый широкий набор требований и интеграций. Вам не нужно никаких других компонентов (например, KeyCloak), когда вы используете Kanidm - у нас уже есть все, что вам нужно!

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

https://github.com/kanidm/kanidm

опубликовано в @gitgate

#security #keykloack #auth #rust
👍9🔥6
speedtest-exporter - простой экспортер Speedtest для Prometheus, написанный на Python, используя официальный CLI из Ookla

Метрики:
- скорость upload
- скорость download
- пинг
- джиттер

Отлично приживется в домашнем мониторинге или для небольшой компании / проекта

https://github.com/MiguelNdeCarvalho/speedtest-exporter

опубликовано в @gitgate

#moni #net #speedtest #exporter #prometheus
👍7🔥4
exporter_exporter - прокси лоя Prometheus exporter-рв

Он обеспечивает простой реверс прокси для экспортеров Prometheus. Предназначен как альтернатива Nginx/Apache для использования в средах, где открытие нескольких портов TCP на все серверы может быть нежелательным или невозможным в силу причин

Преимущества:

- один порт может использоваться для запроса нескольких экспортеров (чтобы облегчить проблемы конфигурации брандмауэра).
- может предоставить TLS транспорт для экспортеров, которые его не поддерживают
- обеспечивает проверку доступности сервера Prometheus.
- можно использовать для выполнения скриптов, вывод которых представляется в виде метрик Prometheus (киллер фича).
- небольшой размер кода, минимальные внешние зависимости, легко проверяем.

https://github.com/QubitProducts/exporter_exporter

опубликовано в @gitgate

#moni #exporter #prometheus
👍11🔥6
Lume - легковесная CLI утилита и локальный API сервер для создания, запуска и управления виртуальными машинами MacOS и Linux с почти нулевым оверкостом на виртуализацию на Apple Silicon, используя виртуализацию Apple.FrameWork

https://github.com/trycua/lume

опубликовано в @gitgate

#vm #cli #api #virtualisation
🔥10👍7
Useful Tools | Linux | GitOps | DevOps
Lume - легковесная CLI утилита и локальный API сервер для создания, запуска и управления виртуальными машинами MacOS и Linux с почти нулевым оверкостом на виртуализацию на Apple Silicon, используя виртуализацию Apple.FrameWork https://github.com/trycua/lume…
SSH Commander - мощный, красочный инструмент командной строки (CLI) для одновременного выполнения команд на нескольких SSH-серверах.

Он поддерживает как пароль, так и аутентификацию на основе ключей, пользовательские порты и может выполнять как отдельные команды, так и командные файлы.

https://github.com/AthenaNetworks/ssh_commander

опубликовано в @gitgate

#ssh
👍13🔥7
Pangolin - туннельный Reverse Proxy сервер с идентификацией и контролем доступа, предназначенный для надежного представления частных ресурсов в распределенных сетях.

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

https://github.com/fosrl/pangolin

опубликовано в @gitgate

#proxy #vpn #tunnel
👍18🔥10
mindmap - большая коллекция схем и диаграмм с упором на Cyber Security в формате mindmap на все случаи жизни...

Начиная от HTTP Status Codes и до ключей tcpdump.

https://github.com/Ignitetechnologies/Mindmap

опубликовано в @gitgate

#mindmap #diagram #security
👍14🔥8
GLAuth - сервер аутентификации LDAP для разработчиков

Возможности:

- централизованное управление аккаунтами для всей инфраструктуры
- центральное управление SSH ключами, учетными записями Linux и паролями для облачных серверов.
- легкая альтернатива OpenLDAP и Active Directory для разработки или Homelab.
- хранение каталога пользователя в файле, в S3 или в SQL базе
- прокси для существующих серверов LDAP.
- двух факторная аутентификация (2FA)

https://github.com/glauth/glauth

Подсказал: Максим Клюев - @drubidik

опубликовано в @gitgate

#ldap #dev #2fa #openldap #activedirectory #ad
👍16🔥11
Обьявление:

что то подумалось, мол не телеграмом единым. И вот

https://gitgate.d3.ru

Формат тот же (практически кросспост из TG), правила такие же.

Разыскивается ответственный выпускающий редактор.

опубликовано в @gitgate
🔥11👍8
fly-to-podman - небольшой BASH скрипт, который помогает вам мигрировать из Docker в Podman.

Он переносит ваши контейнеры, образа и мапленные каталоги Docker в Podman, а также сохранить данные и конфигурации вашего контейнера (маунты, порты и т. д.).

Возможности:

- миграция образов Docker в Podman (включая теги)
- миграция мапленных каталогов (volumes) Docker в Podman (включая все данные)
- миграция сетей Docker в Podman (включая имена, IP-адресе, шлюзы, IP-диапазоны и т. д.)
- миграция контейнеров Docker в Podman (включая имена, идентификаторы и статусы, такие как политика перезапуска и т. д.)
- сохранение данных и конфигурации контейнера (маунты, открытые порты и т. д.)

https://github.com/Edu4rdSHL/fly-to-podman

опубликовано в @gitgate

#docker #podman #bash #converter
👍16🔥5
Совет дня:

Как скриптом определить текущую раскладку клавиатуры ?

xset -q | sed -rn 's/.*LED mask.*(.)[[:xdigit:]]{3}$/\1/p'


для первой раскладки эта команда вернёт 0, для всех остальных - 1

Альтернативный вариант возвращающий en или ru:

xset -q|grep Group\ 2|awk {'print $4'}|sed 's/on/ru/g;s/off/en/g'


и "красивая" версия от @tagd_tagd

xset -q|awk '/Group 2/{print ($4~/n/)?"ru":"en"}'



опубликовано в @gitgate

#tips
👍28🔥13
Обьявление:

Ну и раз пошел такой движ - запилился маленький технический сайтик с "советами дня"

https://gist.gitgate.ru

опубликовано в @gitgate
👍25🔥20
VHS - создавайте анимированные Gif из вашего терминала с помощью простого кода для демонстрации ваших инструментов CLI.

https://github.com/charmbracelet/vhs

опубликовано в @gitgate

#cli #recorder #demo
🔥17👍6