Лекция
Это окончание невероятной информации про поддержка ubunutu.
...
мониторинг системы на сервере" >load average = 0.50
load average = 1.70
Если вернуться к нашей аналогии с мостом, 1.00 означает «одну полностью загруженную полосу движения». Если на мосту всего одна полоса, 1.00 означает, что мост загружен на 100%, если же в наличии две полосы, он загружен всего на 50%. То же самое с процессорами. 1.00 означает 100% загрузки одноядерного процессора. 2.00 — 100% загрузки двуядерного и т.д. 9.2 использование сетевого интефейса расшитать можно по счетчику сетевого адаптера (интерфейса)
например при выполнении
ifconfig eth0 (eth0 -это название вашего интерфейс) получите набор информации среди которых есть счетчики переданных и принятых байт
RX bytes:25457904 (24.2 Mb) TX bytes:6540945 (6.2 Mb) для того чтобы определить нагрузку . делаете замеры через опрелеленные промежутки времени и делите их разницы друг на друга умножая на 8 (для перевода в биты) в итоге будет такая картина
9.3 отчет по использовапнию памяти
free -m
или
vmstat -s
9.4 отчет от пинге сервера со стороны другого сервера 9.5 отчет по логам апача, ково запросов, коды ответов, колво переданных байт 9.6 просмотр системных нагрузок в режиме реального времени Для просмотра запущенных процессов в Ubuntu Linux при помощи терминала, необходимо набрать в нем следующие команды:
Программа top динамически выдает в режиме реального времени информации о работающей системе, показывает запущенные процессы и потребление ими ресурсов системы. По умолчанию выдает задачи, наиболее загружающие процессор сервера, и обновляет список каждые пять секунд. При выполнении top в верхней части окна отображается астрономическое время, время, прошедшее с момента запуска системы, число пользователей в системе, число запущенных процессов и число процессов, находящихся в разных состояниях, данные об использовании ЦПУ, памяти и свопа. Далее идет таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна: сколько строк помещается, столько и выводится. Список процессов может быть отсортирован по используемому времени ЦПУ (по умолчанию), по использованию памяти, по PID, по времени исполнения. Переключать режимы отображения можно с помощью команд, которые программа top воспринимает. Это следующие команды (просто нажимайте соответствующие клавиши, только с учетом регистра, то есть вместе с клавишей Shift): Shift+N — сортировка по PID; Shift+A — сортировать процессы по возрасту; Shift+P — сортировать процессы по использованию ЦПУ; Shift+M — сортировать процессы по использованию памяти; Shift+T — сортировка по времени выполнения. Кроме команд, определяющих режим сортировки, команда top воспринимает еще ряд команд, которые позволяют управлять процессами в интерактивном режиме. С помощью команды можно завершить некоторый процесс (его PID будет запрошен), а с помощью команды можно переопределить значение nice для некоторого процесса. Таким образом, эти две команды аналогичны командам kill и renice. Команду том можно использовать со следующими параметрами: t – Включение и выключение выдачи на экран суммарных данных. m – Включение и выключение выдачи на экран информации об использовании памяти. A – Сортировка строк по максимальному потреблению различных системных ресурсов. Полезна для быстрой идентификации задач, для которых в системе не хватает ресурсов. f – Вход в меню интерактивного конфигурирования данных, выдаваемых на экран командой top. Полезна для настройки команды top для выполнения специфической задачи. o – Позволяет вам интерактивно задавать порядок строк, выдаваемой командой top. r – Изменение приоритета процессов с помощью команды renice. k – Удаление процесса с помощью команды kill. z – Переключение между цветным / монохромным вариантом выдачи изображения.
Команда ps выдаст краткий список текущих процессов. Вывод команды ps схож с выводом команды top, однако он отображает статический снимок процессов. Для того, чтобы выбрать все процессы, используете параметр - A или - e
ps -Al
Для того, чтобы включить выдачу всех данных (будут показаны аргументы командной строки, переданные в процесс):
ps -AlF
ps ax ps axu
ps -AlFH
ps -eo euser,ruser,suser,fuser,f,comm,label ps axZ ps -eM
ps -ejH ps axjf pstree
ps -AlLm
Позволяет выводить данные в последовательности, определяемой пользователем
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm ps -eopid,tt,user,fname,tmout,f,wchan
ps -U User -u User u
ps -C apache -o pid=
или
pgrep apache
ps -p 30470 -o comm=
ps -auxf | sort -nr -k 4 | head -10
ps -auxf | sort -nr -k 3 | head -10
По умолчанию, команда ps выводит только информацию о процессах, запущенных в текущей сессии терминала bash. Для вывода информации по всем процессам необходимо ввести команду ps с параметром -е. Для отображения желаемых полей необходимо ввести команду ps с параметром -о поле1,поле2,…, где через запятую перечисляются поля, которые необходимо отобразить.
Команда free показывает общее количество свободной и используемой системой физической памяти и памяти свопинга, а также размеры буферов, используемые ядром.
free
Команду uptime можно использовать с тем, чтобы определить, как долго работает сервер. Выдаются: текущее время, сколько времени работает система, сколько в текущий момент зарегистрировано пользователей и какова средняя нагрузка на систему в последние 1, 5 и 15 минут.
uptime
Команда w выдает информацию о том, какие пользователи сейчас находятся в системе и какие процессы запущены от их имени.
w username w User
Команда pmap выдает данные о распределении памяти между процессами. Использование этой команды позволит найти причину узких мест, связанных с использованием памяти.
pmap -d PID
Для того, чтобы получить информацию об использовании памяти процессом с pid # 26321, введите:
pmap -d 26321
Команда vmstat выдает информационный отчет об активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора.
vmstat 3
vmstat -m
vmstat –a
ссылка на эту статью обязательна (с) intellect
Команда mpstat выводит данные об активности каждого имеющегося в наличие процессора, процессор 0 будет первым. Команда mpstat -P ALL выводит данные о среднем использовании ресурсов для каждого из процессоров:
mpstat -P ALL
Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS).
iostat
Команда sar используется для сбора информации о системной активности и выдачи ее в виде отчета или ее сохранения. Чтобы увидеть значение считчика сетевой активности, введите:
sar -n DEV | more
Для того, чтобы увидеть значения счетчиков сетевой активности, начиная с 24-го:
sar -n DEV -f /var/log/sa/sa24 | more
С помощью команды sar Вы можете также получать данные в режиме реального времени:
sar 4 5
который выдает столько же данных, как вместе взятые vmstat, iostat, ifstat и netstat, В Ubuntu не установлена. Для установки наберите в терминале:
sudo apt-get install dstat
- средство мониторинга, предназначенное для использования в X Window. Оно хорошо конфигурируемое и позволяет следить за многими системными переменными, в том числе состоянием процессора, памяти, пространства свопинга, дисковыми носителями, температурой, процессами, сетевыми интерфейсами, зарядом батареи, системными сообщениями, поступающими письмами и т.д.
- используется для мониторинга состояния процессоров, оперативной памяти, жестких дисков, сетевыми интерфейсами, локальными и удаленными почтовыми ящиками и многими другими вещами.
- улучшенная версия интерактивного просмотрщика процессов top. htop позволяет просматривать процессы в виде дерева процессов.
Архивирование и сжатие файлов | |
bunzip2 file1.bz2 | разжимает файл 'file1.gz' |
gunzip file1.gz | |
gzip file1 | сжимает файл 'file1' |
bzip2 file1 | |
gzip -9 file1 | сжать файл file1 с максимальным сжатием |
rar a file1.rar test_file | создать rar-архив 'file1.rar' и включить в него файл test_file |
rar a file1.rar file1 file2 dir1 | создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1 |
rar x file1.rar | распаковать rar-архив |
unrar x file1.rar | |
tar -cvf archive.tar file1 | создать tar-архив archive.tar, содержащий файл file1 |
tar -cvf archive.tar file1 file2 dir1 | создать tar-архив archive.tar, содержащий файл file1, file2 и dir1 |
tar -tf archive.tar | показать содержимое архива |
tar -xvf archive.tar | распаковать архив |
tar -xvf archive.tar -C /tmp | распаковать архив в /tmp |
tar -cvfj archive.tar.bz2 dir1 | создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах) |
tar -xvfj archive.tar.bz2 | разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах) |
tar -cvfz archive.tar.gz dir1 | создать архив и сжать его с помощью gzip |
tar -xvfz archive.tar.gz | разжать архив и распаковать его |
zip file1.zip file1 | создать сжатый zip-архив |
zip -r file1.zip file1 file2 dir1 | создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий |
unzip file1.zip | разжать и распаковать zip-архив |
особенности создания бекапов баз данных
Чтобы выгрузить большие таблицы, вы должны объединить параметр --single-transaction с --quick.
--skip-add-locks
Согласно странице руководства , если вы сбрасываете таблицы InnoDB, вы можете использовать --single-transaction
опцию:
--lock-tables, -l
Lock all tables before dumping them. The tables are locked with READ
LOCAL to allow concurrent inserts in the case of MyISAM tables. For
transactional tables such as InnoDB and BDB, --single-transaction is
a much better option, because it does not need to lock the tables at
all.
Для innodb DB :
mysqldump --single-transaction=TRUE -u username -p DB
--single-transaction
говорит: «никакие изменения, которые происходят в таблицах InnoDB во время дампа, не будут включены в дамп». Таким образом, фактически дамп - это моментальный снимок баз данных в момент его запуска , независимо от того, сколько времени занимает дамп.
Из-за способов взаимодействия блокировок это замедлит работу таблиц, возможно, даже остановит запись. Подумайте, например, о запуске ALTER TABLE
или DROP TABLE
во время дампа вместе с другими действиями на одной и той же таблице.
--lock-tables
полезно для таблиц MyISAM.
--opt
обычно рекомендуется. Я думаю, это не зависит от вышеперечисленных вариантов.
mysqldump -B my_db --quick --single-transaction --max_allowed_packet=512M --compress --order-by-primary
перенаправления потока в файл "database.sql":
mysqldump -uroot -h82.82.82.82 -p database > database.sql
где:
Для того чтобы сделать дамп несколько баз данных, необходимо использовать параметр --databases (или сокращенно -B), пример:
mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql
А для того чтобы сделать дамп всех баз данных, необходимо использовать параметр --all-databases (или сокращенно -A), пример:
mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql
Перенаправляем поток в обратную сторону и развертываем базу данных:
mysql -uroot -h82.82.82.82 -p database < database.sql
Или через mysql-console:
mysql> use database; mysql> source database.sql
Ну, а если у нас gz-архив к примеру, то:
zcat database.sql.gz | mysql -uroot -h82.82.82.82 -p database
Например, нам нужны данные с "продакшен версии базы" для "версии разработчика", то есть нам нужна "песочница". Выбираем не более 100 записей:
mysqldump -uroot -h82.82.82.82 -p --where="true limit 100" database > database.sql
Или нам нужна только структура, без данных:
mysqldump -uroot -h82.82.82.82 -p --no-data database > database.sql
Делаем дамп только триггеров, процедур и событий:
mysqldump --no-create-info --no-data --triggers --routines --events -uroot -p database | gzip > ~/database.sql.gz
--add-drop-database
Добавляет оператор DROP DATABASE перед каждым оператором CREATE DATABASE.
--add-drop-table
Добавляет оператор DROP TABLE перед каждым оператором CREATE TABLE.
--add-locks
Добавляет оператор LOCK TABLES перед выполнением и UNLOCK TABLE после выполнения каждого дампа таблицы (для ускорения доступа к MySQL).
--all-databases, -A
Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.
--allow-keywords
Разрешить создавать имена столбцов, которые совпадают с ключевыми словами. Отсутствие конфликтов обеспечивается прибавлением имени таблицы в качестве префикса к имени каждого столбца.
--comments, -i
Данный параметр позволяет добавить в дамп дополнительную информацию, такую, как версия mysqldump, версия MySQL, имя хоста, на котором расположен сервер MySQL.
--compact
Данный параметр требует от mysqldump создать дамп, используя как можно более компактный формат. Параметр является противоположным --comments.
--compatible=name
Параметр генерирует вывод, который совместим с другими СУБД или более старыми версиями MySQL. Вместо ключевого слова name можно использовать: "ansi", "mysql323", "mysql40", "postgresql", "oracle", "mssql", "db2", "maxdb", "no_key_options", "no_table_options", "no_field_options". Можно использовать несколько значений, разделив их запятыми.
--complete-insert, -c
Используется полная форма оператора INSERT (с именами столбцов).
--create-options
Добавляет дополнительную информацию в операторы CREATE TABLE. Это может быть тип таблицы, начальное значение AUTO_INCREMENT и другие параметры.
--databases, -B
Параметр позволяет указать имена нескольких баз данных, для которых необходимо создать дамп.
--delayed
Использовать команду INSERT DELAYED при вставке строк.
--delete-master-logs
На главном сервере репликации автоматически удаляются бинарные логи (logbin) после того, как дамп был успешно создан при помощи mysqldump. Этот параметр автоматически включает параметр "--master-data".
--disable-keys, -K
Для каждой таблицы, окружает оператор INSERT выражениями /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; и /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; в выводе результата дампа. Это ускорит загрузку данных на сервер для таблиц типа MyISAM, так как индексы создаются после внесения всех данных.
--extended-insert, -e
Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).
--flush-logs, -F
Записать на диск данные системного журнала из буфера MySQL-сервера перед началом выполнения дампа.
--force, -f
Продолжать даже если в процессе создания дампа произошла ошибка.
--hex-blob
Параметр позволяет представить бинарные данные в полях типа BINARY, VARBINARY, BLOB и BIT в шестнадцатеричном формате. Так последовательность "abc" будет заменена на 0x616263.
--ignore-table=db_name.tbl_name
Позволяет игнорировать таблицу tbl_name базы данных db_name при создании дампа. Если из дампа необходимо исключить несколько таблиц, необходимо использовать несколько параметров "--ignore-table", указывая по одной таблице в каждом из параметров.
--insert-ignore
Добавляет ключевое слово IGNORE в оператор INSERT.
--lock-all-tables, -x
Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.
--lock-tables, -l
Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.
--no-autocommit
Включает все операторы INSERT, относящиеся к одной таблице, в одну транзакцию, что приводит к увеличению скорости загрузки данных.
--no-create-db, -n
Подавляет создание в дампе операторов CREATE DATABASE, которые автоматически добавляются при использовании параметров --databases и --all-databases.
--no-data, -d
Подавляет создание операторов INSERT в дампе, что может быть полезно при создании дампа структуры базы данных без самих данных.
--opt
Параметр предназначен для оптимизации скорости резервирования данных и является сокращением, включающим следующие опции: --quick --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --set-charset. Начиная с MySQL 4.1, параметр --opt используется по умолчанию, т.е. все вышеперечисленные параметры включаются по умолчанию, даже если они не указываются. Для того чтобы исключить такое поведение, необходимо воспользоваться параметров --skip-opt
--order-by-primary
Указание параметра приводит к тому. что каждая таблица сортируется по первичному ключу или первому уникальному индексу.
--port, -P
Номер TCP порта, используемого для подключения к хосту.
--protocol={TCP|SOCKET|PIPE|MEMORY}
Параметр позволяет задать протокол подключения к серверу.
--quick, -q
Позволяет начать формирование дампа, не дожидаясь полной загрузки данных с сервера и экономя тем самым память.
--quote-names, -Q
Помещает имена баз данных, таблиц и столбцов в обратные апострофы `. Начиная с MySQL 4.1, данный параметр включен по умолчанию.
--replace
Добавляет ключевое слово REPLACE в оператор INSERT. Данный параметр впервые появился в MySQL 5.1.3.
--result-file=/path/to/file, -r /path/to/file
Параметр направляет дамп в файл file. Этот параметр особенно удобен в Windows, без использования командной строки. когда можно перенаправить результат в файл при помощи последовательностей > и >>.
--routines, -R
Данный параметр создает дамп хранимых процедур и функций. Доступен с MySQL 5.1.2.
--single-transaction
Параметр создает дамп в виде одной транзакции.
--skip-comments
Данный параметр позволяет подавить вывод в дамп дополнительной информации.
--socket=/path/to/socket, -S /path/to/socket
Файл сокета для подсоединения к localhost.
--tab=/path/, -T /path/
При использовании этого параметра в каталоге path для каждой таблицы создаются два отдельных файла: tbl_name.sql, содержащий оператор CREATE TABLE, и tbl_name.txt, который содержит данные таблиц, разделенные символом табуляции. Формат данных может быть переопределен явно с помощью параметров --fields-xxx и --lines-xxx.
--tables
Перекрывает действия параметра --databases (-B). Все аргументы, следующие за этим параметром, трактуются как имена таблиц.
--triggers
Создается дамп триггеров. Этот параметр включен по умолчанию. для его отключения следует использовать параметр --skip-triggers.
--events, -E
Создается дамп событий. Смотрите MySQL Event Scheduler или встроенный диспетчер событий в MySQL.
--tz-utc
при использовании данного параметра в дамп будет добавлен оператор вида SET TIME_ZONE='+00:00', который позволит обмениваться дампа в различных временных зонах.
--verbose, -v
Расширенный режим вывода. Вывод более детальной информации о работе программы.
--version, -V
Вывести информацию о версии программы.
--where='where-condition', -w 'where-condition'
Выполнить дамп только выбранных записей. Обратите внимание, что кавычки обязательны.
--xml, -X
Представляет дамп базы данных в виде XML.
--first-slave, -x
Блокирует все таблицы во всех базах данных.
--debug=..., -#
Отслеживать прохождение программы (для отладки).
--help
Вывести справочную информацию и выйти из программы.
Для быстрого резервирования БД с типом таблиц ISAM и MyISAM можно использовать "mysqlhotcopy", которая скопирует файлы *.frm, *.MYD и *.MYI:
# mysqlhotcopy db_name /path/to/dir
Для InnoDB не подойдет данный способ, потому что при этом типе не обязательно все файлы будут храниться в директории базы данных.
Для InnoDB есть xtrabackup, рекомендую посмотреть!
UPD: XtraBackup - резервное копирование для innoDB
Для репликации "mysqldump" не предназначена, для этого есть бин-лог (--log-bin):
# mysqlbinlog binlog.[0-9]* | mysql
Для полной репликации необходимо вести бин-лог с самого начала работы БД, то есть еще до создания структур и данных.
можно выполнить на основе анализа системного журнала или после установки специальных утилит
просмотр используемых портов всех интерфейсов
sudo iptables -L -v
UFW (Uncomplicated Firewall) - является инструмент командной строки для настройки и управления брандмауэром
установка sudo apt install ufw
включение sudo ufw enable
текущие насройки
sudo ufw app list
просмотр детайльных сведений
sudo ufw app info 'Postfix'
разрешить доступ к прослушке портов
удалить
sudo ufw delete allow 443
можно создавать профили для различнх приложений и доступным им портам
cd /etc/ufw/applications.d
[<название_профиля>]
title=<заголовок>
description=<краткое описание>
ports=<список портов>/<протокол>
после создания нужно запустить
ufw reload
Получить информацию о системе можно с помощью команды uname, которая пишет в стандартный вывод имя используемой операционной системы. Если указать одну из описанных ниже опций, на консоль будет выведена более специализированная информация о характеристиках системы:
# uname -a Linux Адрес Хоста 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Имя операционной системы, дата компиляции ядра, версия и битность i386 — 32 бита, x86_84 — 64 бита.
Информацию об используемом дистрибутиве операционной системы можно также вывести при помощи команды cat /etc/issue:
# cat /etc/issue Ubuntu 16.04.1 LTS \n \l
Есть и другой способ просмотра информации о дистрибутиве:
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
создайте файл с правами на запуск и запустите его
echo "System: "`lsb_release -d --short` `uname -m` > ~/about_system.txt # версия ОС и разрядность echo "Kernel: "`uname -r`" DE: $XDG_CURRENT_DESKTOP Session: $GDMSESSION" >> ~/about_system.txt # ядро, DE и вид сессии echo "----------------------------------" >> ~/about_system.txt # линия, разделитель echo "Processor: "`cat /proc/cpuinfo | grep "model name" -m1 | cut -c14-` >> ~/about_system.txt # Процессор echo "Memory (Gb): "`free | grep Mem | awk '{print int($2/10485.76)/100}'` >> ~/about_system.txt # Размер ОЗУ echo "Video: "`lspci -k | egrep 'VGA|3D' -A2` >> ~/about_system.txt # Видеокарты sudo parted -l | grep /dev/sd -B1 -A2 >> ~/about_system.txt # Hard,flash echo "----------------------------------" >> ~/about_system.txt # разделитель или с помощью команд cpuinfo, и полная инфа lshw
установка lamp , lamp ,
В заключение, эта статья об поддержка ubunutu подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое поддержка ubunutu, использование lamp, решение проблем возникающих из-за ошибок, мониторинг системы, поддержка сервера, бекапирование данных и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Часть 1 Поддержка и ежедневное использование LAMP Linux (Ubunutu), решение проблем возникающих из-за ошибок, мониторинг системы на
Часть 2 top – команда выдачи данных об активности процессов в Ubuntu
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)