Админские угодья
1.46K subscribers
446 photos
40 videos
219 links
Всё для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
Itentis Cloud — облачная платформа, которая работает на вас.
Когда технологии работают без сбоев, вы сосредоточены на развитии бизнеса. Itentis Cloud предлагает безопасную и гибкую инфраструктуру, чтобы вы не тратили время на технические сложности.

🔹 Безопасность как стандарт
Двухфакторная аутентификация (2FA), брандмауэры и шифрование защитят ваши данные

🔹 Полный контроль за секунды
Создавайте VPC, управляйте нагрузкой через балансировщики, автоматизируйте масштабирование. Нужны Kubernetes? Мы всё подготовим за вас.

🔹 Быстрый старт без задержек
Разверните кластер за минуты — быстрее, чем доставка еды. Если что-то пойдет не так, поможем бесплатно или вернем деньги.

🔹 Все инструменты в одном месте
VPC, VNF, IaC (инфраструктура кодом), S3-хранилище и снимки для восстановления системы за секунды.

Почему выбирают нас?
14 дней бесплатного теста + бесплатная миграция данных.
Поддержка 24/7: реальный инженер поможет с настройкой.
Бесплатная миграция: поможем перенести данные.

👉 Переходите на сайт: itentis.cloud
👉 Подписывайтесь на Telegram-канал: t.iss.one/itentis
3👍2
Шпаргалка по часто используемым командам systemctl

1. Посмотреть статус службы. Покажет статус службы на примере сети network
systemctl status network

2. Запустить сервис. Запустит сервис баз данных на примере mysql
systemctl start mysql

3. Остановить службу. Остановит сервис времени ntpd
systemctl stop ntpd

4. Перезапустить службу. Перезапустит веб-сервер nginx
systemctl restart nginx

5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
systemctl enable apache

6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
systemctl disable firewalld


7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
systemctl --host [email protected] stop cron

8. Перезагрузить сервер. Перезагрузит локальный сервер
systemctl reboot

9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
systemctl is-active docker

а) Если сервис запущен, мы увидим:
active

б) Если не запущен:
failed

... или:
inactive

в) Если такого сервиса нет в системе:
unknown

... или:
inactive

Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
systemctl is-active docker && docker run hello-world
... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.
2
📌 Как работает трансляция сетевых адресов (NAT)
2
📌 Как быстро вычислить утечку памяти в Linux?

Когда система начинает «подтормаживать» без видимой причины — пора заподозрить утечку памяти.

Так можно быстро найти виновника :

1. Проверяем использование памяти:

free -h

Если available стремится к нулю, есть повод копнуть глубже.

2. Сортируем процессы по потреблению RAM:

ps aux --sort=-%mem | head -n 10

Тут видно, кто больше всех ест память.

3. Следим за slab-объектами:

cat /proc/meminfo | grep Slab

Если значение растёт со временем — это сигнал утечки в ядре или драйверах.

4. Используем smem для точной оценки:

smem -r | sort -k 4 -nr | head

smem учитывает shared memory — оценка куда точнее, чем просто ps.

5. Если подозрение на конкретный процесс:
pmap — покажет, что именно грузит память:

pmap -x <PID>


Совет:
Запусти htop, нажми F6, выбери колонку RES, отсортируй. Увидишь — кто на самом деле обжора.
1
📌 Деление сети на подсети: шпаргалка
🔥4🥰21
3 довольно неизвестных команды Docker, которые помогут вам в самых различных ситуациях

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

https://telegra.ph/3-dovolno-neizvestnyh-komandy-Docker-kotorye-pomogut-vam-v-samyh-razlichnyh-situaciyah-09-26
2
Стандартные инструменты для диагностики системы Linux

Ядро:

* perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
* ftrace — трассировщик вызовов функций внутри ядра Linux
* stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* lttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
* bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи

Ввод/вывод:

* iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
* pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
* pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
* lsof — информация об открытых процессом файлах
blktrace

Системные и библиотечные вызовы:

* strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
* ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)

Аппаратные счётчики:

* tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
* numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой

Сеть:

* netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
* ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
* ethtool — просмотр настроек и состояния ethernet-интерфейса
* snmpget — получение данных по SNMP
* lldptool — настройка LLDP и просмотр данных LLDP
* nicstat — статистика использования сетевой карты (сетевого интерфейса)
* ip — конфигурация и статистика стека TCP/IP Linux
* ifstat — статистика использования сетевого интерфейса в реальном времени

Процессы:

* top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
* vmstat — данные об использовании виртуальной памяти
* free — информация о свободной памяти, кэше, буферах
* slabtop — информация о заполнении SLAB-кэша

Процессор:

* mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
* turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
* rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)

Универсальные:

* sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
* dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
* dmesg — журнал сообщений ядра с момента загрузки системы
* /proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
* sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
3
Примеры полезного использования команды netsh в Windows

Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.

https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
1
Основные команды PowerShell

1. Основные команды управления системой:
- Get-Help: Получение справки о командах. Например, Get-Help Get-Process показывает справку о команде Get-Process.
- Get-Command: Показать список всех доступных команд или команд, связанных с определённой задачей. Пример: Get-Command *process*.
- Get-Service: Показать все службы, установленные на системе.
- Start-Service: Запустить службу. Пример: Start-Service -Name "wuauserv".
- Stop-Service: Остановить службу.
- Restart-Service: Перезапустить службу.

2. Работа с файлами и каталогами:
- Get-ChildItem: Просмотреть файлы и каталоги (аналог команды dir или ls`). Пример: `Get-ChildItem C:\.
- Set-Location: Перейти в другой каталог (аналог cd`). Пример: `Set-Location C:\Users.
- Copy-Item: Копировать файл или папку. Пример: Copy-Item C:\source.txt C:\destination.txt.
- Move-Item: Переместить файл или папку. Пример: Move-Item C:\file.txt C:\archive\file.txt.
- Remove-Item: Удалить файл или папку. Пример: Remove-Item C:\file.txt.
- New-Item: Создать новый файл или каталог. Пример: New-Item -Path C:\ -Name "file.txt" -ItemType "file".

3. Информация о системе и процессах:
- Get-Process: Показать список всех запущенных процессов.
- Stop-Process: Остановить процесс. Пример: Stop-Process -Name "notepad".
- Get-EventLog: Просмотр журналов событий (Event Logs). Пример: Get-EventLog -LogName Application.
- Get-WmiObject: Получить информацию о системе, например, о процессоре или установленной ОС. Пример: Get-WmiObject Win32_OperatingSystem.

4. Работа с пользователями и группами:
- Get-LocalUser: Показать всех локальных пользователей.
- New-LocalUser: Создать нового локального пользователя. Пример: New-LocalUser -Name "TestUser" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force).
- Remove-LocalUser: Удалить локального пользователя.
- Add-LocalGroupMember: Добавить пользователя в локальную группу. Пример: Add-LocalGroupMember -Group "Administrators" -Member "TestUser".

5. Работа с переменными и данными:
- Set-Variable: Установить переменную. Пример: Set-Variable -Name "MyVar" -Value "Hello".
- Get-Variable: Показать значения переменных.
- Remove-Variable: Удалить переменную.
- Export-Csv: Экспорт данных в CSV-файл. Пример: Get-Process | Export-Csv -Path "C:\processes.csv".
- Import-Csv: Импорт данных из CSV-файла. Пример: Import-Csv -Path "C:\processes.csv".

6. Потоки данных и конвейеры:
- | (Pipeline): Передача данных от одной команды к другой. Пример: Get-Process | Where-Object { $_.CPU -gt 100 } — вывести процессы, которые используют больше 100 единиц процессорного времени.
- Out-File: Записать результат команды в файл. Пример: Get-Process | Out-File -FilePath "C:\processes.txt".
- Select-Object: Выбор определённых полей. Пример: Get-Process | Select-Object -Property Name, CPU.

7. Сетевые команды:
- Test-Connection: Проверить доступность компьютера (аналог команды ping`). Пример: `Test-Connection google.com.
- Get-NetIPAddress: Показать список всех IP-адресов на машине.
- Get-NetAdapter: Показать информацию о сетевых адаптерах.

8. Скрипты и автоматизация:
- Invoke-Command: Выполнить команду на удалённой системе. Пример: Invoke-Command -ComputerName "Server1" -ScriptBlock { Get-Process }.
- Start-Job: Запустить задачу в фоне. Пример: Start-Job -ScriptBlock { Get-Process }.
- Get-Job: Показать статус фоновых задач.
- Receive-Job: Получить результат выполнения фоновой задачи.

9. Обновления и безопасность:
- Install-Module: Установка PowerShell-модулей. Пример: Install-Module -Name "PSWindowsUpdate".
- Update-Module: Обновление установленных модулей.

10. Дополнительные команды:
- Clear-Host (или `cls`): Очистить экран.
- Exit: Выйти из сеанса PowerShell.
- Measure-Object: Подсчитать количество объектов, или сумму значений. Пример: Get-ChildItem | Measure-Object.
Stacer – Опенсорсная утилита для оптимизации и мониторинга Linux-систем

https://github.com/oguzhaninan/Stacer
2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Advanced Bash-Scripting Guide
Перевод: Андрей Киселев
Версия 2.8.7 (22 Августа 2004)

Искусство программирования на языке сценариев командной оболочки

Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток . . . постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев -- это написание сценариев.

https://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html
2🔥1
📌 Эти утилиты предоставляют важные возможности для анализа и отладки сетевых проблем в различных операционных системах

Windows

▪️ tracert - стандартная утилита в Windows для трассировки маршрута, которая известна многим.
tracert google.com


▪️ pathping - это встроенный в Windows аналог утилиты mtr с аналогичной функциональностью, но поддерживающий только icmp запросы. Обычно он уже установлен в системе, и его не требуется устанавливать отдельно.
pathping google.com


▪️ tracetcp - это виндовая утилита, которая может выполнять tcp syn запросы по маршруту следования пакетов. Она помогает определить доступность определенного порта и может указать, где именно блокируется этот порт. Для установки этой утилиты потребуется скачать ее с официального сайта и установить вручную.
tracetcp google.com:443


Linux

▪️ traceroute - это стандартная утилита Linux, предназначенная для трассировки маршрута. По умолчанию она использует протокол udp, но вы можете выполнить трассировку с использованием протокола icmp следующим образом:
traceroute -I google.com


▪️ tracepath - аналогична утилите traceroute, но использует протокол udp и сразу выводит значения mtu и маршрутизаторы, где происходит изменение mtu.
tracepath google.com


▪️ mtr - эта утилита объединяет функциональность утилит ping и traceroute. Она может использовать протоколы tcp, udp и icmp. В операционной системе Windows есть аналог с названием Winmtr.
mtr -c3 google.com
3👍2
Cron - лучшие практики

Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами.

У простоты cron(8), как и многих старых Unix-инструментов, есть недочёт: программа полагается на то, что пользователь хотя бы примерно знает, как всё работает, и в состоянии правильно реализовать в нём какую-то проверку безопасности.

По сути, единственное, что делает планировщик, — это пытается запустить задачу в определённое время и прислать результат на электронную почту. Для простых и незначительных задач пользователей таких возможностей вполне достаточно.

Но для более важных системных задач стоит обернуть вокруг cron(8) и вызываемых им задач дополнительную инфраструктуру. Если вам хочется отслеживать выполняемые задачи, то существует несколько способов повысить надёжность работы с cron(8).

Rus https://habr.com/ru/companies/skillfactory/articles/656423/

Eng https://blog.sanctum.geek.nz/cron-best-practices/
1
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Принцип работы протокола Kerberos
2👍1
Полезные команды Linux. Средство управления пакетами - YUM ( Fedora, RedHat и т.д. )

# yum list
Вывести листинг пакетов, установленных в системе
# yum clean headers
Удалить все заголовки файлов, которые система использует для разрешения зависимостей
# yum clean [package]
Очистить rpm-кэш, удалив закачанные пакеты
# yum search [package]
Найти пакет в репозитории
# yum clean all
Очистить rpm-кэш, удалив закачанные пакеты и заголовки
# yum -y install [ package ]
Скачать и установить пакет
# yum update [package]
обновить пакет
# yum -y update
Обновить все пакеты, установленные в систему
# yum localinstall [ package.rpm ]
Попытаться установить пакет RPM и все зависимые от него пакеты, используя ваши репозитории
# yum remove [package]
Удалить пакет
3👎1
Полезные команд для фильтрации текста и операциями с файлами в Linux

1. Команда awk
2. Команда sed
3. Команды grep, egrep, fgrep, rgrep
4. Команда head
5. Команда tail
6. Команда sort
7. Команда uniq
8. Команда fmt
9. Команда pr
10. Команда tr
11. Команда more
12. Команда less

https://telegra.ph/Poleznye-komand-dlya-filtracii-teksta-i-operaciyami-s-fajlami-v-Linux-01-21
1
Управление сервисами systemd через утилиту systemctl

systemctl start name.service – запуск сервиса.
systemctl stop name.service — остановка сервиса
systemctl restart name.service — перезапуск сервиса
systemctl try-restart name.service — перезапуск сервиса только, если он запущен
systemctl reload name.service — перезагрузка конфигурации сервиса
systemctl status name.service — проверка, запущен ли сервис с детальным выводом состояния сервиса
systemctl is-active name.service — проверка, запущен ли сервис с простым ответом: active или inactive
systemctl list-units --type service --all – отображение статуса всех сервисов
systemctl enable name.service – активирует сервис (позволяет стартовать во время запуска системы)
systemctl disable name.service – деактивирует сервис
systemctl reenable name.service – деактивирует сервис и сразу активирует его
systemctl is–enabled name.service – проверяет, активирован ли сервис
systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
systemctl mask name.service – заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd
3
This media is not supported in your browser
VIEW IN TELEGRAM
Стратегии аварийного восстановления в облаке

Эффективный план восстановления после аварии (DR) - это не просто предосторожность, это необходимость.

Ключевым моментом любой надежной стратегии DR является понимание и установка двух ключевых показателей: Объекта времени восстановления (RTO) и Объекта точки восстановления (RPO).

- Объект времени восстановления (RTO) относится к максимально допустимой продолжительности времени, в течение которой ваше приложение или сеть могут быть отключены после аварии.

- Объект точки восстановления (RPO), с другой стороны, указывает на максимально допустимую потерю данных, измеряемую во времени.

Давайте рассмотрим четыре широко применяемые стратегии DR:

1. Стратегия резервного копирования и восстановления:
Этот метод включает регулярные резервные копии данных и систем для облегчения восстановления после аварии.
- Типичный RTO: от нескольких часов до нескольких дней.
- Типичный RPO: от нескольких часов до времени последнего успешного резервного копирования.

2. Подход Pilot Light:
Поддерживает ключевые компоненты в режиме готовности к активации, обеспечивая быстрое масштабирование в ответ на аварию.
- Типичный RTO: от нескольких минут до нескольких часов.
- Типичный RPO: зависит от того, насколько часто синхронизируются данные.

3. Решение с горячим резервированием:
Создает полус активное окружение с текущими данными для сокращения времени восстановления.
- Типичный RTO: обычно от нескольких минут до часов.
- Типичный RPO: до последних нескольких минут или часов.

4. Горячее сайт / Конфигурация с несколькими сайтами:
Обеспечивает полностью операционную, дублирующую среду, работающую параллельно с основной системой, обеспечивая беспрерывную функциональность.
- Типичный RTO: почти мгновенный, часто всего несколько минут.
- Типичный RPO: крайне минимальный, обычно всего несколько секунд.
1