Траблшутинг Linux

Траблшутинг Linux
Photo by Hunter Haley / Unsplash

Место на дисках, состояние дисков

df -h #посмотреть свободное место на подключенных дисках
df -i #колличество использованных inod в системе
du -sh /tmp #показать сколько места занимают все файлы в дир /tmp

sudo smartctl -a /dev/nvme0n1p5 #получить smart отчет о hdd
cat /proc/mdstat #информация о софтовых raid массивах

Нагрузка на процессор, память и диски

iostat #сколько данных в данный момент записывается и читается с диска
iotop #какие процессы пишут и читают на диск

top #здесь без комментариев
htop #аналогично
uptime #load average

Мониторинг оперативной памяти

top
htop
vmstat
free -m
cat /proc/meminfo #подробо

Процессы

ps aux #список активных процессов
kill id #убить процесс по id
systemctl status nginx #посмотреть статус процесса nginx
strace -p id #подключится к запущенному процессу

Сети

netstat -tulnp
ss -lntu
#показывают процессы, которые слушают сетевые порты

dig google.com #запрос к dns google.com
nslookup velikanchik.ru #узнать ip по dns
dig @8.8.8.8 velikanchik.ru #запросить у гуглового dns сервера информацию по velikanchik.ru

curl -Lv google.com #получить развернутый ответ на http запрос

Логи системы и сервисов

cat /var/log #посмотреть логи системы
tail -f -n50 /var/log/syslog #вывести крайние 50 строк syslog с изменениями в реальном времени
ls -lah /var/log/auth.log #логи попыток входа не сервер, или исполнение команд в повышенными привилегиями
ls -lah /var/log/kern.log #сообщения от ядра системы
dmesg -T #сообщения от ядра системы
journalctl #ВСЕ логи системы
journalctl -xeu nginx #логи nginx

Конспект сделан по этому видео

Read more

Логи попыток входа по SSH

Логи попыток входа по SSH

Основанно на этой статье cat /var/log/auth.log grep "Failed password" /var/log/auth.log grep "failure" /var/log/auth.log Используя функционал команд awk, uniq и sort, можно определить, с каких IP-адресов было наибольшее количество неудачных попыток установления SSH-соединений: grep "Failed password"

Аутентификация SSH по ключу

Аутентификация SSH по ключу

1. Создайте ключ на локальном компьютере: запустите терминал и выполните команду ssh-keygen. Задайте пароль (кодовую фразу) для ключа, или можно несколько раз нажать Enter. cat ~/.ssh/id_rsa #посмотреть приватный ключ cat ~/.ssh/id_rsa.pub #посмотреть публичный ключ 1. Скопируйте ключ на сервер: выполните в терминале команду ssh-copy-id user@

Docker manual

Docker manual

Base of Docker sudo systemctl start docker #start docker demon manually docker ps #показывает список запущенных контейнеров docker ps -a #показывает список запущенных и остановленных контейнеров docker container ls #аналогично docker images #показывает список локальных образов docker run hello-world #создание контейнера из образа hellp-world --name simple_name #задаем имя контейнеру