♒ Скрипты для анализа логов веб сервера

  1. Что такое, как расшифровывается, что хранится в логах веб сервера апача
  2. На что смотреть, что анализировать из логов веб сервера
  3. Записки и систематизация скриптов анализа и обработки лог- файлов.  

Анализ логов - краеугольный наш к увеличению стабильности и скорости работы сайта, уменьшения количества ошибок. Ведь исправив пиковые элементы мы решим главные задачи - 20% времени занимают 80 процентов эффекта.


Я перерыл кучу информации в интернете в поисках программ веб анализатора, к сожалению найти что ли достойное или удобное не представилось возможным, там где что-то было интересное требовалось как минимум 40$, и выше, при этом все рано часть вещей оставалась не освещена. Плюс при этом функционал как правило не мог дать что то отличное от веб-аналитики, и не решал реальных задач поиска причин нагрузок.

Цитаты объясняющие сложность проблемы:

Когда один пользователь заходит на сайт, процессы же не только на PHP создаются. Помимо этого загружаются CSS, JavaScript, графика и т.д. И если их очень много, при большом количестве пользователей суммарное кол-во процессов может быть большим.

Картинки, стили и скрипты – это “статическое содержимое”. Оно не изменяется с течением времени, и на такие обращения нужно меньше всего ресурсов (процессорное время практически не используется, памяти нужно минимальное количество).

Динамическое содержимое — это лишние запросы к БД и затраты процессорного времени на выполнение.


Основные причины, по которым сайт сильно нагружает хостинг:

  • вывод последних комментариев (обычно ставят на отображение 10 последних =  10 запросов к БД), 
  • вывод последних новостей в  блоке,
  • вывод самых комментируемых новостей,
  • другие супер интересные установленных виджеты - плагины,
  • множественные лишние запросы в самом шаблоне, которые можно заменить на статическое содержимое, необходимо найти “плохой” плагин или модуль, и обновить, починить, заменить или даже отключить его. 
  • львиную долю задач можно и нужно решать напрямую — редактируя шаблон. 

Теория - при обработке статических файлов apache использует около 2-3 Мб на процесс, для динамиких файлов (php, cgi) - от 16 до 32 Мб.

Процесс PHP есть 2 Мб - не бывает такого, любая копия скрипта будет забирать как минимум 4-6 Мб, причем даже состоящего всего из пару - тройки строк кода.

Если скрипт тяжелый, и тем более с ошибками то ему одному не хватит ОЗУ, если только статика на сервера - без проблем пара сотен пользователей в день.

При небольшой посещаемости не будет заметной разницы между apache2 и nginx, однако nginx - меньше потребляет при той же производительности.

memory_limit в php - например 256 Мб делим на 10 проектов по 2 Мбайта, получается по 12,8 человек на каждом сайте одновременно или 128-онлайн на 1.

На VPS все ресурсы "наши": сервер, интерпретатор и панель управления - забирают у вас вашу оплаченную память. При нехватке памяти VPS (оперативной + своп) сервер не виснит, а сразу - 500 ошибка - отказ обслуживания для клиента.

ап..

Рекомендация: периодически сохраняйте логи вашего сервера у себя, хотя бы раз в месяц, часто позволяет отследить многие тенденции, так как как правило логи у хостера хранятся всего 7 дней, максимум что я видел 1 месяц.

Виды логов access_ssl_log, разница access_ssl_log access_ssl_log.processed access_log.processed 

♳ I) ПРО ЛОГИ

1) access_log - лог досупа (данные за последний час)

  • access_log
  • access_ssl_log

Пример:

217.27.154.74 - - [30/Oct/2015:13:38:31 +0300] "GET /images/stories/b/1/Hard-Disk.jpg HTTP/1.0" 200 286 "https://www.web.ru/informatsiya/kak.html" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36 OPR/32.0.1948.69"

78.25.64.74 - - [30/Oct/2015:13:38:36 +0300] "GET /informatsiya/zamena-na-plate.html HTTP/1.0" 200 56996 "-" "Mozilla/5.0 (Linux; U; Android 2.3.6; ru-ru; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"

✎ Расшифровка: С IP адреса  78.25.64.74  30 октября 2015 в 13-38 дня по московскому времени запросили по протоколу HTTP/1.0, методом GET страницу "/informatsiya/zamena-na-plate.html" сайта. Успешно, о чем свидетельствует 200. Ответ занял  56996 байта. В скобках браузер и ОС: Mobile Safari  - Android 2.3.6 

access_log - лог досупа

2) _processing   - транзакции обрабатываются (в основном в нем хранятся интересные нам данные - в основном архив)

  • access_ssl_log.processed
  • access_log.processed  
  • access_log.processed.1.gz

 2.92.86.203 - - [06/Aug/2015:21:09:18 +0300] "GET /media/system/js/mootools.js HTTP/1.1" 200 20296 "https://www.web.ru/acpi/cpu.html" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36"

2.93.56.15 - - [06/Aug/2015:18:57:16 +0300] "GET /images/stories/informatsiya/Kak/uznat.jpg HTTP/1.1" 200 34075 "https://www. web.ru/informatsiya/kak.html" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36 OPR/31.0.1889.99"

3) error_log - лог ошибок

  •  error_log

[Fri Nov 06 18:06:33 2015] [error] [client 31.173.84.230] File does not exist: /var/www/vhosts/u7.hosting.ru/ web.ru /apple-touch-icon.png
[Fri Nov 06 18:11:52 2015] [warn] [client 207.46.13.140] mod_fcgid: can't apply process slot for

[Fri Nov 06 21:55:15 2015] [error] [client 109.188.125.10] ModSecurity: Warning. Matched phrase "/109.188.125.10/" at TX:ip_boundary. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_slr_10_ip_reputation.conf"] [line "17"] [id "2200000"] [msg "SLR: Client IP in Blacklist."] [tag "REPUTATION/MALICIOUS"] [hostname "www.veb.ru"] ...

(проблема с недостатком слотов - ошибки в скриптах в их выполнении)

error_log - лог ошибок

менее интересно

4) proxy_access_log - фиксирует то что использует ресурсы с нашего сайта отдельным запросом - как например:

  • proxy_access_ssl_log - тоже самое только по протоколу SSL
  • proxy_error_log - с кривыми запросами 

a) что используется - берется доп запросом, пример:
93.81.145.180 - - [30/Oct/2015:12:16:27 +0300] "GET /images/thumbnails/images/stories/informatsiya-o/reductor/reductor2015-485x183.jpg HTTP/1.1" 200 17461 "https://dmitry-anapa.ru/" "Opera/9.80 (Windows NT 5.2; U; YB/5.0.3; ru) Presto/2.2.15 Version/10.10"

b) кто берет

c) может брать не только внешние ресурсы- сайты ну и "сами у себя" (для нас это как правило менее интересно)

95.82.202.246 - - [30/Oct/2015:12:55:35 +0300] "GET /components/com_jcomments/images/smiles/wink.gif HTTP/1.1" 200 738 "https://www.test.ru/informatsiya/kak-obnovit.html" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"

5)  access_log.webstat, access_ssl_log.webstat - нет доступа  - используется скриптом статистики, нам мало интересен.

6) не интересен - xferlog_regular.processed — записи о всех изменениях, внесенных с помощью FTP, xferlog_regular.processed - это журнал FTP-доступа сервера.

6) mail.log - лог работы сервера по оправке почты - писем/

mail() on [/var/www/vhosts/u5.hosting.ru/veb.net/libraries/phpmailer/phpmailer.php:755]: To: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. -- Headers: Date: Thu, 5 Nov 2015 12:37:26 +0300 Return-Path: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. From: =?utf-8?B?0KHQutCw0LfQutC4INC00LvRjyDQtNC10YLQtdC5?= <support@ veb.net > Reply-To: =?utf-8?B?0KHQutCw0LfQutC4INC00LvRjyDQtNC10YLQtdC5?= < Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. > Message-ID: < Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. > X-Priority: 3 X-Mailer: PHPMailer 5.2.1 (https://code.google.com/a/apache-extras.org/p/phpmailer/) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/html; charset="utf-8"

SSL сертификат (модуль поддержки SSL в Apache)

SSL (англ. secure sockets layer — уровень защищённых сокетов) — криптографический протокол, который подразумевает более безопасную связь. Он использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений.
Протокол SSL обеспечивает защищенный обмен данных за счет двух следующих элементов:

  • Аутентификация
  • Шифрование

SSL использует асимметричную криптографию для аутентификации ключей обмена, симметричный шифр для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений.

Протокол SSL предоставляет "безопасный канал", который имеет три основных свойства:

  1. Канал является частным. Шифрование используется для всех сообщений после простого диалога, который служит для определения секретного ключа.
  2. Канал аутентифицирован. Серверная сторона диалога всегда аутентифицируется, а клиентская делает это опционно.
  3. Канал надежен. Транспортировка сообщений включает в себя проверку целостности.

Преимуществом SSL является то, что он независим от прикладного протокола. Протоколы приложений (HTTP, FTP, TELNET и т.д.) могут работать поверх протокола SSL совершенно прозрачно, т.е. SSL может согласовывать алгоритм шифрования и ключ сессии, а также аутентифицировать сервер до того, как приложение примет или передаст первый байт сообщения. 

 ____________________________

♴ II. Основы синтаксиса и команд консоли шелл (очень похожа на MS DOC, lunix):


Для анализа нужно скачать на официальном сайте шелловский бесплатный крошечный клиент putty.exe, заходим на сервер под вашим основным логином - паролем аккаунта

шелловский бесплатный крошечный клиент putty.exe

 putty.exe

✦ dir - листинг, просмотр содержимого текущего каталога

dir

Примечание:

1. Что бы не набирать команду или тем более последовательность из команд длинной в целую строку - их можно просто копировать со страницы сайта, выделяешь строку команд, жмешь например  CTRL+C, а в черном командном интерфейсе шелл - клиента просто щелкаем Правой кнопкой мышки (CTRL +V - здесь не работает) - строка сама вставляется, остается подправить вид-название лог-файла если нужно, его расположение (например обрабатывать и во всех  подпаках  - "*/" , и просто нажать ENTER.

2. Для повтора введенной команды стоя в интерфейсе клиента - можно стрелочками "вверх" - "вниз" перебрать вводимые ранее команды.

✦ cd .. - переход в предыдущий каталог;
✦ cd -переносит вас в ваш домашний каталог

✦ Кнопка на клавиатуре Print Screen - для остановки вывода листингов строк, "q" и "c" - для выхода- остановки

cd logs

 cd

Скрипты

 Вне зависимости где находимся:

- по всем доменам - под папкам cat */access_log

- по всему  cat * (- всем логам сразу - большая нагрузка - и долго)

- по всем  логам *log*

-Топ пользователей по количеству процессов:
ps auxwww|awk '{print($1)}'| sort| uniq -c | sort -n |tail

Сколько чего запрашивается из ресурсов
ps auxwww|awk '{print($11)}'| sort| uniq -c | sort -n |tail

✦ - top .. по ссылке ниже..

✦ Команда cat (сокращенно от «concatenate») является одной из наиболее часто используемой командой в Linux Unix-подобных операционных системах. Команда cat позволяет создать один или несколько файлов, просмотреть содержание файлов, объединять файлы и перенаправлять вывод в терминал или файлы.

✦ uniq — утилита Unix, с помощью которой можно вывести или отфильтровать повторяющиеся строк

Опции программы имеют следующие значения:
-u Выводить только те строки, которые не повторяются на входе.
-d Выводить только те строки, которые повторяются на входе.
-c Перед каждой строкой выводить число повторений этой строки на входе и один пробел.

✦ tail — утилита в UNIX, выводящая несколько (по умолчанию 10) последних строк из файла.
Ключ -n <количество строк> (или просто -<количество строк>) позволяет изменить количество выводимых строк

✦ sort — UNIX‐утилита, выводящая сортированное
-n, --numeric-sort сравнивать численные значения строк
-r, --reverse обратить результаты сравнения

✦ AWK - язык построчного разбора и обработки входного потока (например, текстового файла) - рассматривает входной поток как список записей. Каждая запись делится на поля.По умолчанию разделителем записей является символ новой строки. Разделителем полей — символ пробела или табуляции. Каждая запись поочерёдно сравнивается со всеми шаблонами, и каждый раз когда она соответствует шаблону, выполняется указанное действие.

________________

♵ III. Все логи

По размеру отсортированы - по мере важности - объема данных в них:

  • access_log.processed
  • access_log
  • proxy_access_log

(в 10 раз меньше по размеру)

  • access_ssl_log
  • access_ssl_log.processed
  • proxy_access_ssl_log
  • proxy_error_log
  • error_log

.gz

  • access_log.processed.1.gz

(в 10 раз меньше по размеру - сжат в архив)

  • access_ssl_log.processed.1.gz
  • error_log.1.gz

✑ Команды текущего лог-файла (обычно за текущии сутки или их часть) (текущей папки - текущего домена)

✑ MAX количество запросов с IP - команда которая выведет список IP-адресов, с которых наблюдается наибольшее количество запросов:

cat access_log.processed | awk '{print $1}' | sort | uniq -c | sort -n | tail 

cat access_log | awk '{print $1}' | sort | uniq -c | sort -n | tail

cat proxy_access_log | awk '{print $1}' | sort | uniq -c | sort -n | tail

(✑Для всех поддоменов- под папок внутри данной папки)

cat */access_log.processed | awk '{print $1}' | sort | uniq -c | sort -n | tail 

cat */access_log | awk '{print $1}' | sort | uniq -c | sort -n | tail

cat */proxy_access_log | awk '{print $1}' | sort | uniq -c | sort -n | tail

MAX количество запросов с IP

✑ Анализ по сжатым -архивным лог - файлам веб сервера (обычно 7 дней) за все дни (кроме текущего дня - см. чуть выше), текущий домен-каталог

zcat access_log.processed.*.** | awk '{print $1}' | sort | uniq -c | sort -n | tail

все каталоги домены

==================================================

zcat */access_log.processed.*.** | awk '{print $1}' | sort | uniq -c | sort -n | tail

==================================================

  • access_log.processed.1.gz

Логи за прошедшие дни хранятся в заархивированном виде для их просмотра с помощь указанных вами команд необходимо использовать утилиту zcat вместо cat.

zcat

в 10 раз меньше по размеру  access_ssl_log.processed.1.gz (протокол пока еще юзается мало кем): 

zcat */ access_ssl_log.processed.*.** | awk '{print $1}' | sort | uniq -c | sort -n | tail

zcat */ access_ssl_log.processed.*.** | awk '{print $1}' | sort | uniq -c | sort -n | tail

error_log.1.gz: 

zcat */error_log.*.** | awk '{print $1}' | sort | uniq -c | sort -n | tail

zcat */error_log.*.** | awk '{print $1}' | sort | uniq -c | sort -n | tail 

✑ Далее можно посмотреть какие запросы  шли с IP-адреса - смотрим кто с таким  IP что и как запрашивал наибольшее количество раз (как правило просто про парсил - про сканировал сайт):

cat */access_log | grep 5.142.18.18

zcat */ access_ssl_log.processed.*.** | grep 188.165.15.206

=======================================

(логи от этого ip) последних от 100 до 150:

zcat */access_log.processed.*.** | grep 37.140.192.45 | tail -n +101 | head -n 50

первых 50:

zcat */access_log.processed.*.** | grep 37.140.192.45 | tail -50

=======================================

Вариант сортировки, блок из:

cat */access_log | grep 5.142.18.18 | tail -n +101 | head -n 10

Синтаксис: 

  • cat file | tail -n +N | head -n (M-N+1), выводятся строки 101 – 110 файла,
  • tail -n +101 : игнорирует строки до указанного номера, потом начинает выводить строки, начиная с него,
  • head -n 10 : выводит первые 10 строк, т.е. с 101 до 110, оставшиеся – игнорирует. 

Далее - выясняем что за айпишник, кто- что - зачем заходит к нам, парсят-скачивают нас.

На любом удобном вам сайте, от

При этом часто бывает так что ip вроде бы принадлежит например Микрософт, а ы логах при запросе в предыдущем примере видно что юзер агент вовсе не бот микрософта.. а какой нибудь адройд... вероятно - просто подмена ip или прокси. Поэтому данная проверка в любом случае идет после предыдущей, в которой убеждаемся какой IP кем является в сигнатуре и что делает.

Полученные IP:

  • 35103 37.140.192.237
  • 37379 66.102.9.122
  • 37393 66.102.9.112
  • 37555 66.102.9.11

Полученные пояснения от сервисов к некоторым айпишкам:

  • Hostname: spider-5-255-253-155.yandex.com
  • ISP: YANDEX LLC
  • Organization: YANDEX LLC

далее:

  • General IP InformationIP: 66.102.9.11
  • Hostname: google-proxy-66-102-9-11.google.com
  • Organization: Google
  • Services: Confirmed proxy server
  • Type: Corporate
  • Assignment: Static IP
  • State/Region: California
  • City: Mountain View

далее:

  • General IP InformationIP: 168.63.139.43
  • ISP: Microsoft Corp
  • Organization: Microsoft Azure
  • Services: Confirmed proxy server
  • Type: Broadband
  • Assignment: Static IP
  • Country: United States 

Итог, прокси гугла, сервер микрософт, бот яндекса... но не всегда. если тупо парсят из Брянска, Тулы  - то пробуем банить ссылка на тхагес- варианты бана по ip, клиенту - сигнатуре.

 ____________________

♶ IV. Пройдемся с краткими пояснениями по другим наиболее интересным данным типичного формата лога:

✰ Домены - 11 по счету:

cat */access_log | awk '{print $11}' | sort | uniq -c | sort -n | tail

или обработать сжатые архивы за прошедшие дни:

zcat */access_log.processed.*.** | awk '{print $11}' | sort | uniq -c | sort -n | tail

  • 9709 "https://www.veb101.ru/templates/online/css/template.css"
  • 10711 "https://www.veb.ru/informatsiya/nastroyk.html"
  • 12077 "https://www.veb.ru/components/com_jcomments/tpl/default/style.css?v=21"
  • 12869 "https://veb101.ru/pushkin/ge.html"
  • 16790 "https://www.veb.ru/informatsiya/kak.html"
  • 16997 "https://veb101.ru/templates/duo/css/church.css"
  • 23845 "https://veb101.ru/pushkin/tavar.html"

✰Платформа система клиента

cat */access_log | awk '{print $13}' | sort | uniq -c | sort -n | tail

  • 1948 (J2ME/MIDP;
  • 2856 (Mobile;
  • 2936 (Macintosh;
  • 3557 (Android;
  • 3704
  • 7951 (compatible;
  • 15359 (iPad;
  • 17364 (iPhone;
  • 79135 (Linux;
  • 238890 (Windows

✰ Ответ занял 283 байта

cat */access_log | awk '{print $10}' | sort | uniq -c | sort -n | tail

  • 8234 295
  • 8518 284
  • 8653 292
  • 9251 296
  • 9278 282
  • 11425 285
  • 11848 289
  • 12934 293
  • 17801 288
  • 19986 286

✰ Коды ответов сколько (не точно)

cat */access_log | awk '{print $9}' | sort | uniq -c | sort -n | tail

  • 6 206
  • 17 503
  • 18 303
  • 37 301
  • 62 500
  • 173 401
  • 1167 404
  • 1830 304
  • 3418 403
  • 373016 200

✰ Картинки, скрипты - конкретные файлы - наиболее запрашиваемые на сервере - уменьшить объем - оптимизировать их в первую очередь:

cat */access_log | awk '{print $7}' | sort | uniq -c | sort -n | tail


✰ Время максимальной нагрузки на сайте - наибольших количеств запросов:

cat */access_log | awk '{print $4}' | sort | uniq -c | sort -n | tail

 

✰ От куда - и куда идут 404:

cat */access_log | grep 404

141.0.13.98 - - [07/Nov/2015:00:03:36 +0300] "GET /components/com_jcomments/images/smiles/arrow.gif HTTP/1.0" 404 290 "https://veb.net/stikhotvoreniya/marshak.html" "Opera/9.80 (Android; Opera Mini/7.6.40234/37.7011; U; ru) Presto/2.12.423 Version/12.16"

Перевод см. ссылку в низу:

 

✰ Позволяет узнать, какие ссылки не работают сейчас?

После будет искать для запросов, в результате которых 404 ответ, а затем отсортировать их по количеству запросов в URL. Вы получите самый посещаемый 404 страниц

awk '($9 ~ /404/)' */access_log | awk '{print $7}' | sort | uniq -c | sort -rn

  ✰ Аналогично, для 502 (плохой-шлюз) мы можем запустить следующую команду:

awk '($9 ~ /502/)' */access_log.processed | awk '{print $7}' | sort | uniq -c | sort -r

✰ 404 для PHP файлов - в основном попытки взлома

awk '($9 ~ /404/)' */access_log.processed | awk -F\" '($2 ~ "^GET .*\.php")' | awk '{print $7}' | sort | uniq -c | sort -r | head -n 20

 

✰ Самые популярные URLS

awk -F\" '{print $2}' */access_log.processed | awk '{print $2}' | sort | uniq -c | sort

(без r - выводит в конце наиболее запрашиваемые) 

✰ Ссылки

awk -F\" '($2 ~ "ref"){print $2}' */access_log.processed | awk '{print $2}' | sort | uniq -c | sort

______________________

☑ Тонкая FastCGI-буферов:

Источник: https://rtcamp.com/tutorials/nginx/tweaking-fastcgi-buffers

 a) Максимальный размер отклика

awk '($9 ~ /200/)' access.log | awk '{print $10}' | sort -nr | head -n 1

b) Средний размер отклика

 echo $(( `awk '($9 ~ /200/)' */access_log.processed | awk '{print $10}' | awk '{s+=$1} END {print s}'` / `awk '($9 ~ /200/)' */access_log.processed | wc -l` ))

c) Поэтому мы используем: 

fastcgi_buffers 32 32k; fastcgi_buffer_size 32k;

Еще команды для анализа логов - https://eddmann.com/posts/processing-apache-and-nginx-access-logs/

______________

☑ Команда вывода количество запущенных процессов владельцами (ориентировочно - приблизительно можно оценить количество аккаунтов на хостинге)

-Топ пользователей по количеству процессов:

ps auxwww|awk '{print($1)}'| sort| uniq -c | sort -n |tail

  • 4 u011114
  • 4 u9111116
  • 5 apache
  • 5 u0011115
  • 16 nginx
  • 20 u111115
  • 35 postfix
  • 429 root

429=70 акков (по 3-20 сайтов на акк)  Команда вывода количество запущенных процессов владельцами

☑ Сколько чего чем запрашивается из ресурсов (top - потребителей) на сервере

ps auxwww|awk '{print($11)}'| sort| uniq -c | sort -n |tail

____________________ 

 ♷ V. Про память сервера, пока просто статистика,есть что сказать подскажите куда смотреть что с чем связано что кого тянет:

ОЗУ - оперативной памяти сервера

  1. cat /proc/meminfo 
  2. vmstat -s
  3. cat /proc/mdstat

 

VI. Список работающих в системе процессов и информации о них 

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

Чтобы выйти из программы top, нужно нажать клавишу [q].

Программа с частотой обновления в 2с показывает текущую активность процессов в виде таблицы. Стандартные колонки:

  1. PID — идентификатор процесса
  2. USERNAME — пользователь, от которого запущен процесс
  3. THR — количество потоков, запущенных процессом
  4. PRI — текущий приоритет процесса
  5. NICE — приоритет, выставленный командой nice. От 0 (наивысший) до 20.
  6. SIZE — размер процесса (данные, стек и т. д.) в килобайтах
  7. RES — текущее использование оперативной памяти
  8. STATE — текущее состояние («START», «RUN» (только в этом состоянии показывает текущую нагрузку программы на процессор), «SLEEP», «STOP», «ZOMB», «WAIT» или «LOCK»)
  9. C — номер процессора, на котором идет выполнение (доступен только на SMP системах)
  10. TIME — время использования процессора в секундах
  11. VIRT — полный объем виртуальной памяти, которую занимает процесс
  12. CPU — процент доступного времени процессора, которое использовала запущенная программа
  13. WCPU — усредненное значение CPU
  14. COMMAND — команда, запустившая процесс.

Чтобы выйти из программы top, нужно нажать клавишу [q].

Наиболее полезные интерактивные команды, которые можно использовать в top: 

  • [1] Отобразить всю статистику по всем ядрам.
  • [c] Абсолютный путь расположения модуля команды и её аргументы.
  • [M] Сортировать по объёму используемой памяти.
  • [P] Сортировать по загрузке процессора.
  • [u] Сортировать по имени пользователя.
  • [z] Подсветить работающие процессы.
  • [Z] Выбрать цвет подсветки.
  • [h] Вывести справку о программе.
  • [n] Изменить число отображаемых процессов. Вам предлагается ввести число.
  • [r] Изменить приоритет процесса.
  • [k] Уничтожить процесс. Программа запрашивает у вас код процесса и сигнал, который будет ему послан.
  • [Пробел] Немедленно обновить содержимое экрана.

top — консольная команда, которая выводит список работающих в системе процессов и информации о нихtop — консольная команда, которая выводит список работающих в системе процессов и информации о них

 

♹ VII. Про  Advanced Web Statistics

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

Например типичный  анализатор лога: Advanced Web Statistics

анализатор лога Advanced Web Statistics анализатор лога Advanced Web Statistics анализатор лога Advanced Web Statistics анализатор лога Advanced Web Statistics анализатор лога Advanced Web Statistics анализатор лога Advanced Web Statistics

При этом метрика и аналитик отражают лишь реальных посетителей  - т.е. от силы 1/3 от показанной "нагрузки" анализатором логов - т.е. от всех запросов (посетители + пауки, боты, парсеры и тд.)

ps. Данная страница не может не содержать ошибок и опечаток - это просто записки что бы не забыть.. есть что дополнить - исправить пишите в комментариях! Буду рад!

Добавить комментарий