Админские угодья
1.55K subscribers
541 photos
44 videos
244 links
Всё для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
Prometheus и его хранилище: Архитектура, проблемы и решения

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

https://blog.palark.com/prometheus-architecture-tsdb/
3👍2
📌 10 полезных функций Far Manager

1. Режимы отображения
Меняйте ширину и количество столбцов на активной панели интерфейса, в которых отображаются файлы и папки.

Ctrl + 1 — установить краткий режим просмотра (три узких столбца).
Ctrl + 2 — установить стандартный режим просмотра (два средних столбца).
Ctrl + 3 — установить полный режим просмотра (один широкий и три узких столбца со служебной информацией).
Ctrl + 4 — установить широкий режим просмотра (один широкий и один узкий столбец со служебной информацией).
Ctrl + 5 — установить детальный режим просмотра (один максимально широкий и ещё несколько дополнительных стоблцов со служебной информацией — занимают всё окно программы).

2. Сортировка элементов
Сортируйте файлы и папки на активной панели интерфейса.

Ctrl + F3 — сортировать по имени элемента.
Ctrl + F4 — сортировать по типу расширения.
Ctrl + F5 — сортировать по дате изменения.
Ctrl + F6 — сортировать по размеру.
Ctrl + F8 — сортировать по дате создания.
Ctrl + F12 — вывести меню элементов сортировки.

3. Просмотр размера файлов и папок
Просматривайте размер выделенного файла или папки с помощью клавиши F3. Значение отображается в столбце Size или в нижней части активной панели — в зависимости от выбранного вида.
Чтобы выделить один элемент, нажмите Shift и стрелку вниз или вверх на клавиатуре. Для массового выделения используйте Shift со стрелками вправо и влево.

4. Одновременная работа с элементами, которые находятся в разных папках
Добавляйте файлы и папки из разных каталогов на «Временную панель», если вам нужно работать со всеми ними одновременно. Это позволит вам выполнять с элементами групповые операции так, будто они находятся в одном каталоге. При этом их реальное местоположение не изменится.
Чтобы открыть «Временную панель», нажмите F11 и выберите Temporary Panel. Для добавления файлов и папок просто перетащите их на неё с помощью курсора мыши. Вы также можете найти нужные файлы через комбинацию Alt + F7 и добавить результаты поиска на «Временную панель», кликнув Panel в поисковом окне.

5. Фильтрация файлов по типу
Фильтруйте список файлов по расширению, чтобы временно скрывать с панели лишние элементы. Чтобы включить фильтр, воспользуйтесь комбинацией CTRL + I, в появившемся списке выделите нужное расширение и нажмите пробел. Возле выбранного типа файлов появится плюс. Когда нажмёте Enter, файлы с другими расширениями исчезнут с текущей панели. Чтобы отменить фильтрацию, снова нажмите CTRL + I и уберите плюс с помощью пробела.

6. Просмотр списка процессов
Просматривайте список активных процессов прямо в окне Far Manager. Чтобы просмотреть его, откройте окно выбора диска (ALT + F1/F2) и нажмите 0. В этом списке можно отсортировать процессы по размеру, нажав CTRL + F6. Чтобы удалить процесс, выделите его и нажмите F8. Чтобы просмотреть детальную информацию о процессе, используйте клавишу F3.

7. Навигация по папкам
Вы можете быстро открывать корневую папку локального диска с помощью комбинации CTRL + \. Клавиши ALT + F12 — отображают папки, которые вы открывали ранее

8. Сравнение идентичности папок
Если захотите проверить две папки на предмет их идентичности, откройте одну из них на левой панели, а вторую на правой. Затем нажмите F11 и выберите Advanced Compare. В открывшемся окне укажите параметры сравнения и нажмите ОК. Программа отобразит размеры обеих папок и подсветит их файлы, которые не совпадают.

9. Запись макросов
Используйте макросы, чтобы автоматизировать рутинные операции с программой.
Чтобы создать макрос, нажмите Shift + Ctrl + «.» (точка) и совершите несколько действий в Far. Затем снова воспользуйтесь этой комбинацией и в открывшемся окне выберите удобную клавишу. Теперь по её нажатию программа будет выполнять эти действия автоматически.
К примеру, во время создания макроса можно кликнуть правой кнопкой по файлу и выбрать в контекстном меню «Свойства», а после назначить эти действия на клавишу J. После этого вы сможете быстро вызывать свойства файлов с помощью J.
1
📌 Упрощенная структура ядра Linux
2👍1
Сохраняем вывод команды Top в файл

Поскольку я не использовал опцию delay, приведенная ниже команда top перенаправит вывод команды top за одну итерацию в файл.
top -b -n 1 > /home/i_odmin/backup/output.txt

Сохранение вывода команды top с более чем одной итерацией из 5 итераций
Обычно программа работает непрерывно с задержкой в 2 секунды, и вы можете изменить это значение, добавив в верхнюю команду значение ‘-d’, как показано ниже:
top -n 5 -d 4 -b >/backup/output_1.txt

Как захватить вывод команды top в файл каждые 5 минут в течение часа
Система создает отдельный файл каждые 5 минут, который поможет вам определить список процессов, которые потребляли больше CPU и памяти в системе.
Добавляем следующий cronjob, который будет выполняться с 5 до 6 утра каждые 5 минут в течение часа.
Где
-n : Задает максимальное количество итераций.
-b : Работа в пакетном режиме (Запуск команды top в пакетном режиме для перенаправления вывода в другие программы или в файл)
-d : Интервал задержки (Задает задержку между обновлениями экрана)
0-59/5 5 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

Собираем вывод в один файл, используйте следующий cronjob
Cronjob будет выполняться с 9 до 10 утра каждые 5 минут в течение часа и добавлять результаты в один файл.
0-59/5 9 * * * top -b -n5 -d 5 >>/home/i_odmin/backup/output.txt

Записываем вывод команды top в файл каждые 5 минут в течение получаса
Добавляем следующий cronjob, который будет запускаться каждые 5 минут с 13:30 до 14:00 в течение получаса.
30-59/5 13 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt
1
📌 Шпаргалка по команде less
1👍1
Полезные Bash-скрипты для повседневных задач

Ниже — два скрипта, которые могут сэкономить тебе время и нервы.


Перемещение директории


#!/bin/bash

# Проверка существования директории-источника
if [ ! -d "$1" ]; then
echo "$1 doesn't exist"
exit 1
fi

# Проверка существования директории-назначения
if [ ! -d "$2" ]; then
echo "$2 doesn't exist"
exit 1
fi

# Копирование и удаление исходной директории
if cp -r "$1" "$2" && rm -r "$1"; then
echo "Dir $1 was moved to dir $2 successfully"
exit 0
else
echo "Something went wrong"
exit 1
fi



Переименование файла


#!/bin/bash

# Проверка количества аргументов
if [ $# -ne 2 ]; then
echo "2 args needed: file to rename and new name"
exit 1
fi

# Проверка существования файла
if [ ! -f "$1" ]; then
echo "File $1 does not exist or it's not a file"
exit 1
fi

# Переименование через копирование и удаление
if cp "$1" "$2" && rm -f "$1"; then
echo "Name of file $1 was changed to $2"
exit 0
else
echo "Something went wrong!"
exit 1
fi
2👍1
📌 Шпаргалка по Nmap
1🔥1👌1
📌 Шпаргалка по Linux
👍21
Шпаргалка по RAID

mdadm — утилита для работы с программными RAID-массивами различных уровней. В данной инструкции рассмотрим примеры ее использования.

Информация о RAID
cat /proc/mdstat - состояние всех RAID
mdadm -D /dev/md0 - подробная инфа о конкретном RAID
lsblk - список дисков с разделами, местом, типом
df -hT - свободное место, тип файловой системы, точки монтирования

Сборка RAID
mdadm —zero-superblock —force /dev/sd{b,c} - обнуление суперблоков на дисках sdb sdc (для удаления инфы о других RAID)
при получении ответа mdadm: Unrecognised md component device - /dev/sdb значит, что диск не использовался для RAID, продолжаем
mdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/sd{b,c}
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень RAID; -n 2 — количество дисков, из которых собирается массив; /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.

Создание файловой системы и монтирование массива
mkfs.ext4 /dev/md0 - создание файловой системы ext4 на md0
mount /dev/md0 /mnt - разово примонтировать md0 к /mnt
nano /etc/fstab, прописать /dev/md0 /mnt ext4 defaults 1 2 - постоянное монтирование, работает после перезагрузки

Восстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
mdadm /dev/md0 —remove /dev/sdc - удалить сбойный диск
mdadm /dev/md0 —add /dev/sde - добавить новый диск в массив
Статус должен стать Rebuild Status : 40% complete и так до полного восстановления

Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
mdadm —assemble —scan - команда сама найдет необходимую конфигурацию и восстановит RAID.
mdadm —assemble /dev/md0 /dev/sdb /dev/sdc - с указанием из каких дисков пересобрать

Запасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
mdadm /dev/md0 —add /dev/sdd - Диском Hot Spare станет тот, который просто будет добавлен к массиву

Добавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
mdadm /dev/md0 —add /dev/sde

mdadm -G /dev/md0 —raid-devices=3 - расширяем RAID
* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.

Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
apt-get install mdadm

Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:

umount /mnt
* где /mnt — каталог монтирования нашего RAID.

mdadm -S /dev/md0

Затем очищаем суперблоки на всех дисках, из которых он был собран:
mdadm —zero-superblock /dev/sdb
mdadm —zero-superblock /dev/sdc
mdadm —zero-superblock /dev/sdd
3👍2🔥1
📌 Основы сетей: VLAN
3👍3
Media is too big
VIEW IN TELEGRAM
Цикл for в терминале bash

Очень часто вам необходимо исполнить одну и ту-же команду на разных файлах. К примеру вы хотите сконвертировать каждый JPEG файл в аналогичный PNG (или наоборот).

Почти во всех терминалах есть возможность работать с циклами, и в данном видео я описываю работу с циклом «for» в терминале bash.

истончик
2👍1
Команды мониторинга и отладки

top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)

ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)

ps -e -o pid,args --forest вывести PID’ы и процессы в виде дерева

pstree отобразить дерево процессов

kill -9 98989
kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)

kill -TERM 98989 Корректно завершить процесс с PID 98989

kill -1 98989
kill -HUP 98989
заставить процесс с PID 98989 перепрочитать файл конфигурации

lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989

lsof /home/user1 отобразить список открытых файлов из директории /home/user1

strace -c ls > /dev/null вывести список системных вызовов, созданных и полученных процессом ls

strace -f -e open ls > /dev/null вывести вызовы бибилотек

watch -n1 ‘cat /proc/interrupts’ отображать прерывания в режиме реального времени

last reboot отобразить историю перезагрузок системы

last user1 отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней

lsmod вывести загруженные модули ядра

free -m показать состояние оперативной памяти в мегабайтах

smartctl -A /dev/hda контроль состояния жёсткого диска /dev/hda через SMART

smartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hda

tail /var/log/dmesg вывести десять последних записей из журнала загрузки ядра

tail /var/log/messages вывести десять последних записей из системного журнала
1👍1
Пример Bash-скрипта, который выполняет следующие задачи

1. Проверяет доступность важного веб-сервера.
2. Проверяет использование дискового пространства.
3. Делает бэкап указанных директорий.
4. Отправляет отчет на электронную почту администратора.

Пример скрипта:


#!/bin/bash

# Установки
WEB_SERVER="https://example.com"
BACKUP_DIR="/backup"
TARGET_DIRS="/var/www /etc"
DISK_USAGE_THRESHOLD=90
ADMIN_EMAIL="[email protected]"
DATE=$(date +"%Y-%m-%d")
BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz"

# Проверка доступности веб-сервера
echo "Проверка доступности веб-сервера..."
if curl -s --head $WEB_SERVER | grep "200 OK" > /dev/null; then
echo "Веб-сервер доступен."
else
echo "Внимание: Веб-сервер недоступен!" | mail -s "Проблема с веб-сервером" $ADMIN_EMAIL
fi

# Проверка дискового пространства
echo "Проверка дискового пространства..."
DISK_USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $DISK_USAGE -gt $DISK_USAGE_THRESHOLD ]; then
echo "Внимание: Использование дискового пространства превысило $DISK_USAGE_THRESHOLD%!" | mail -s "Проблема с дисковым пространством" $ADMIN_EMAIL
else
echo "Дискового пространства достаточно."
fi

# Создание бэкапа
echo "Создание бэкапа..."
tar -czf $BACKUP_FILE $TARGET_DIRS

if [ $? -eq 0 ]; then
echo "Бэкап успешно создан: $BACKUP_FILE"
else
echo "Ошибка создания бэкапа!" | mail -s "Ошибка создания бэкапа" $ADMIN_EMAIL
fi

# Отправка отчета
echo "Отправка отчета на $ADMIN_EMAIL..."
REPORT="Отчет за $DATE\n\n"
REPORT+="Статус веб-сервера: $(curl -s --head $WEB_SERVER | head -n 1)\n"
REPORT+="Использование дискового пространства: $DISK_USAGE%\n"
REPORT+="Расположение бэкапа: $BACKUP_FILE\n"

echo -e $REPORT | mail -s "Ежедневный отчет системы" $ADMIN_EMAIL

echo "Готово."


Описание:
1. Проверка веб-сервера: Используется команда curl, чтобы проверить, доступен ли сайт.
2. Проверка дискового пространства: С помощью df и awk проверяется использование диска. Если превышен порог (90%), отправляется уведомление.
3. Создание бэкапа: Команда tar архивирует и сжимает директории, которые указаны в переменной TARGET_DIRS.
4. Отправка отчета: Отчет по всем операциям отправляется на почту администратора с помощью mail.

Как использовать:
1. Задайте нужные параметры, такие как адрес веб-сервера, директории для бэкапа, порог использования диска и email.
2. Сделайте скрипт исполняемым:

chmod +x /path/to/your/script.sh

3. Добавьте скрипт в cron для выполнения на регулярной основе:

crontab -e

Пример для выполнения каждый день в 00:00:

0 0 * * * /path/to/your/script.sh
2
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Шпаргалка по сетевой безопасности
1