Вместо бубна: огромная подборка инструментов сисадмина

Хорошему системному администратору нужны хорошие инструменты. Представляем вашему вниманию огромную подборку всего, что может понадобиться для этой работы.

Работа с логами в Linux

Логи – журналы, куда записывается вся информация по работе того или иного сервиса. Обычно это обычные текстовые файлы, содержащие данные в определенном формате.

Ниже в небольшом мануале расскажу как происходит простейшая работа с логами в Linux

Где распологаются логи

Для каждого сервиса расположение отличается, но обычно это директория /var/log/ или /var/log/имя_сервиса/

Ниже перечислено расположение логов различных сервисов:

Tomcat

В зависимости от варианта установки (из репозитория или с официального сайта) это может быть /opt/tomcat/logs/, основной лог:  – для варианта с официального сайта /var/log/tomcat/, основной лог: – для варианта из репозитория

Apache (httpd)

В зависимости настроек сервера, это может быть центральный лог или центральный + для каждого сайта в отдельности Обычно это /var/log/apache2 или /var/log/httpd (в зависимости от операционной системы), основные логи: access_log (логи доступа), error_log (логи ошибок) Также у сайтов могут быть свои лог-файлы, обычно они расположены в директории logs сайта

MySQL (MariaDB)

В зависимости от сервера это /var/log/mysql (mysqld) или /var/log/mariadb, основной лог:  (), также он может располагаться в /var/log/

nginx

Здесь аналогично Apache (httpd), центральный лог доступен в /var/log/nginx/ , основные логи: и

PHP-FPM

В зависимости от настроек PHP-FPM это центральный лог + логи для каждого пула. центральный лог доступен в /var/log/php-fpm/ , там же могут находиться логи для каждого пула, они также могут находиться в директории сайта, для которого используется требуемый пул.

Fail2ban

Лог Fail2ban доступен в /var/log/ ,основной лог:

Как прочитать/открыть логи

Так как логи это текстовые файлы, они могут быть открыты любым текстовым редактором, либо через консоль.

Читайте также:  Как вывести содержимое файла Linux? Открываем текстовый файл в Linux

Можно посмотреть содержимое логов следующими способами:

  • Вывод всего текста лога в консоль (лог пролистывается полностью с начала и до конца) cat имя_лога Пример: cat /var/log/
  • Вывод последних 10 строк файла. tail имя_лога
  • Вывод произвольного количества строк файла (для примера 50) tail -n 50 имя_лога
  • Вывод строк в режиме реального времени (вывод строк по мере их добавления) tail -f имя_лога
  • Просмотр списка файлов в директории ls -lah путь_к_директории Например: ls -lah /var/log/

Также для просмотр могут быть использованы текстовые редакторые вроде nano, vi,vim, mcview

Скачать в PDF

Облачные вычисления

  • AppScale — облачная платформа для создания масштабируемых веб- и мобильных приложений. Совместима с Google App Engine;
  • CloudStack — open-source платформа облачных вычислений для запуска и управления большими сетями виртуальных машин;
  • Cobbler — сервер развёртывания Linux;
  • Mesos — создавайте и запускайте распределённые системы с эффективным использованием ресурсов;
  • OpenNebula — облачная платформа для сисадминов и devops;
  • Openshift Origin — дистрибутив Kubernetes для непрерывной разработки приложений и их развёртывания, разработанный Red Hat;
  • OpenStack — open-source программное обеспечение для создания частных и публичных облаков;
  • The Foreman — инструмент для управления жизненным циклом физических и виртуальных серверов;
  • Tsuru — open-source расширяемое PaaS программное обеспечение;
  • Terraform — позволяет работать с инфраструктурой как с кодом и в основном используется для AWS/GCE.

Команды, необходимые для перемещения и ориентирования в файловой системе сервера. А еще для перемещения, копирования и удаления файлов. В общем, все, что вы делали бы в файловом менеджере, но через терминал.

cd — отправляет вас в любую папку на выбор. Синтаксис: cd путь до нужной директории. Если хочется на рабочий стол, то пишем: cd ~/Desktop. Вернуться в предыдущую папку? cd-. Перепрыгнуть в home? Просто вводим: cd без аргументов.

ls — отображает директории и файлы вокруг вас. То есть в той папке, где вы находитесь на текущий момент. Но чтобы ею пользоваться, необязательно переходить в конкретную директорию. Ее можно указать заранее. Вот так:

Читайте также:  Как перенести фото с iphone на компьютер

ls ~/Desktop/papka-testovaya

pwd — укажет путь до папки тем, кто заблудился. Если вы находитесь в папке Документы, то вывод pwd будет выглядеть вот так /home/имя пользователя/Documents. И так для любого каталога, в котором вы окажетесь.

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

mv — изначально использовалась для того, чтобы перемещать файлы из одного места в другое. mv ~/Desktop/ ~/Documents переносит HTML-документ Timeweb с рабочего стола в документы. Но пользователи приноровились использовать mv для смены имени файлов. mv ~/Desktop/ оставляет документ на месте, но меняет его название.

cp — создает копию выбранного файла в другом каталоге. cp ~/Documents/ /home/Webmaster/Desktop копирует документ с названием на рабочий стол того же пользователя.

dd — управляет разделами. С ее помощью можно делать копии разделов: dd if=/dev/sda of=/dev/sdb. Можно перемещать разделы. Удалять их без возможности восстановления: dd if=/dev/zero of=/dev/sdX (в качестве раздела для «уничтожения» тут указана флешка). Копирование разделов подразумевает их запись на сторонние носители. Например, запись iso-образов на внешние накопители: dd if=~/Desktop/ of=/dev/sdX bs=4M. if здесь — это путь к образу, а of — путь к смонтированному разделу (флешке).

rm — удаляет папки и все, что сможет в них найти. «Уничтожает» все субдиректории, документы, картинки, медиа. Вообще все, без возможности восстановления. Синтаксис:

rm путь до каталога, который надо вычистить вместе со всеми «внутренностями»

mkdir — создает новую папку. Синтаксис: mkdir путь_до каталога,_где_нужно_создать_новую_директорию название_для_этой директории. Если надо сделать на рабочем столе папку Timeweb, то пишем:

mkdir ~/Desktop/Timeweb

rmdir — удаляет директории. Не имеет права трогать их содержимое, поэтому отзовется ошибкой, если в удаляемой папке найдутся еще какие-то элементы. Перед использованием rmdir объект надо очистить.

Читайте также:  Как вывести список только директорий используя ls в Bash

wget — скачивает файл из переданной ссылки. Больше ничего не умеет. Простой текстовый менеджер загрузок. Работает так – если мы хотим загрузить скриншот панели управления Timeweb с официального сайта, то введем в терминал: wget _cache/iblock/b56/400_400_2/xscreen_

zip — архивирует один или несколько файлов один файл в формате .zip. Синтаксис: zip название путь до файла, который надо упаковать. К примеру:

zip /home/me/

unzip — вытаскивает содержимое архива наружу. Работает по тому же принципу: сначала команда, потом путь до архива, который надо распаковать. Еще можно добавить опцию -d, чтобы удалить файлы из архива по завершении распаковки.

find — ищет файлы и папки по всей файловой системе. Умеет находить их по названию и по типу, но это зависит от выставленных опций. find -type d -name Timeweb будет искать только директории с именем Timeweb.

mount — монтирует образ или раздел диска. Синтаксис:

mount путь до раздела, что нужно смонтировать

unmount — «демонтирует» образ или указанный раздел. Синтаксис:

unmount путь до раздела, что нужно отмонтировать

Установка сервера GraylogWeb

Ниже приведена команда для установки серого-веб-сервера

# yum -y install graylog-web

Теперь мы сгенерируем секретный ключ веб-интерфейса и добавим в файл в параметре

# SECRET=$(pwgen -s 96 1) # sudo -E sed -i -e 's/application\.secret=""/application\.secret="'$SECRET'"/' /etc/graylog/web/

Теперь отредактируйте файл и внесите некоторые изменения, чтобы запустить веб-интерфейс.

# vi /etc/graylog/web/

Нам нужно изменить конфигурацию веб-интерфейса, указав параметр в файлах конфигурации. Поскольку мы настроили только один узел Graylogserver, значение должно соответствовать rest_listen_uri в файле конфигурации Graylogserver. http://127.0.0.1:12900/

# "http://127.0.0.1:12900/"

Запустите веб-интерфейс Graylog с помощью следующей команды:

# systemctl restart graylog-web

Настройка Graylogto и получение сообщений системного журнала.

Войдите в веб-интерфейс Graylog, откройте приведенную ниже ссылку в веб-браузере по адресу http: // ip-адрес: 9000 /.

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

Красный значок в верхней части уведомления показывает, что у нас есть узел без каких-либо запущенных входов. Давайте добавим вход для получения сообщения системного журнала, используя UDP.