πΉ CentOS 7: Π Π°Π±ΠΎΡΠ° Ρ ΠΆΡΡΠ½Π°Π»Π°ΠΌΠΈ Π»ΠΎΠ³ΠΎΠ² Nginx. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Logtop.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅:
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Logtop.
3. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
4. ΠΡΠΈΠΌΠ΅ΡΡ.
5. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ° ΡΠ΅ΠΌ Π±ΡΠ»ΠΎ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π½ΠΎ:
- 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. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
- github.com Β«JulienPalard/logtopΒ».
- idroot.us Β«How To Install Logtop on CentOS 7Β».
- habr.com Β«ΠΠ°ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΡΠΈ DDoS ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎΒ».
- cyberciti.biz Β«Linux / Unix logtop: Realtime Log Line Rate AnalyserΒ».