🐹 CentOS 7: Π Π°Π±ΠΎΡ‚Π° с ΠΆΡƒΡ€Π½Π°Π»Π°ΠΌΠΈ Π»ΠΎΠ³ΠΎΠ² Nginx. Установка Logtop.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
2. Установка Logtop.
3. Бинтаксис.
4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.
5. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Ρ‹ источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.


На Ρ‡Π΅ΠΌ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π½ΠΎ:

  1. CentOS Linux release 7.9.2009 (Core).

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, всСгда Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ происходит Π½Π° вашСй Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π² вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Для этого сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ интСрСсных способов Π°Π½Π°Π»ΠΈΠ·Π° Ρ„Π°ΠΉΠ»ΠΎΠ² логирования.

НапримСр, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Logtop — это ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ статистику Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ· любого Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π°.

Бсылка Π½Π° GitHub ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Logtop: https://github.com/JulienPalard/logtop.

2. Установка Logtop.

К соТалСнию ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ эту ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΈΠ· стандартных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π½Π΅ удастся, Π½ΠΎ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Установим Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ epel:

# yum -y install epel-release

# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Установим зависимости ΠΈ исходныС ΠΊΠΎΠ΄Ρ‹ с Git:

# yum install git ncurses-devel uthash-devel

# cd ~

# git clone https://github.com/JulienPalard/logtop.git

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΠΌΡΡ Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ скомпилируСм ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΈΠ· исходных ΠΊΠΎΠ΄ΠΎΠ²:

# cd logtop

# make

# make install

Если всё ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π±Π΅Π· ошибок Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ копию ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ logtop.

# logtop -v

ΠžΡ‚Π²Π΅Ρ‚:

3. Бинтаксис.

Бинтаксис здСсь Π½Π΅ слоТный:

logtop [OPTIONS] [FILE]
command | logtop
command1 | filter | logtop
command1 | filter | logtop [options] [file]

Он Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» логирования ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ постоянно обновляСмый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ отобраТая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π° Π² столбцах.

НомСр строки, количСство, частота ΠΈ фактичСская строка.

# tail -f FILE | logtop

ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ

# watch ' tail FILE | sort | uniq -c | sort -gr

ΠžΠΏΡ†ΠΈΠΈ:

  • -s, --size=K — Π”Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² памяти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ K Π΅Π΄ΠΈΠ½ΠΈΡ† строк, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10000.
  • -q, --quiet — НС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² live-Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самый top Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.
    -l, --line-by-line=K— ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² строку, Π² машинном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Π³Π΄Π΅ K — это количСство ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… строк.
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… : [%d %f %s\t]*\n
    • %d : ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ случаСв.
    • %f : Частота повторСния.
    • %s : Π‘Ρ‚Ρ€ΠΎΠΊΠ°, символы Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.
  • -i, --interval=K — Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» обновлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² сСкундах. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 1 сСкунда.
  • -h, --help — ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ.
  • -v, --version — ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ: распрСдСлСниС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… IP-адрСса, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ΄ΡƒΡ‚ запросы, количСство запросов с ΠΎΠ΄Π½ΠΎΠ³ΠΎ IP-адрСса ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ сайтС, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π΅Π³ΠΎ сСйчас ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚:

# tail -f access.log | awk {'print $1; fflush ();'} | logtop

ΠžΡ‚Π²Π΅Ρ‚:

Π“Π΄Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚:

  • 1 β€” порядковый Π½ΠΎΠΌΠ΅Ρ€.
  • 2 β€” количСство запросов с Π΄Π°Π½Π½ΠΎΠ³ΠΎ IP-адрСса.
  • 3 β€” количСство запросов Π² сСкунду с Π΄Π°Π½Π½ΠΎΠ³ΠΎ IP-адрСса.
  • 4 β€” собствСнно сам IP-адрСс.

Π’Π²Π΅Ρ€Ρ…Ρƒ показываСтся суммарная статистика ΠΏΠΎ всСм запросам.

Π’Π°ΠΊΠΎΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π»ΠΎΠ³ΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ Π½Π° ваш log-Ρ„Π°ΠΉΠ» ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π΅Π³ΠΎ исслСдуСт.

5. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Ρ‹ источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

  1. github.com Β«JulienPalard/logtopΒ».
  2. idroot.us Β«How To Install Logtop on CentOS 7Β».
  3. habr.com Β«ΠŸΠ°Ρ€Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ DDoS ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎΒ».
  4. cyberciti.biz Β«Linux / Unix logtop: Realtime Log Line Rate AnalyserΒ».