最新消息: 新版网站上线了!!!

分享Java开发必须掌握的日志分析命令

¶ÔÓÚ´óÐÍÍøÕ¾À´Ëµ£¬ºÜ¶àÍøÕ¾ÔÚ¿ÉÓÃÐÔ·½ÃæÌá³ö4¸ö9»òÕß5¸ö9µÄÒªÇó£¬Èç¹ûÊÇ4¸ö9£¬ÄÇôÍøվȫÄêµÄ²»¿ÉÓÃʱ¼ä²»Äܳ¬¹ý52.6·ÖÖÓ£¬Èç¹ûÊÇ5¸ö9£¬È«Äê²»¿ÉÓÃʱ¼ä²»Äܳ¬¹ý5.2·ÖÖÓ¡£ÕâÆäʵÊǺÜÄѵģ¬ÎÞÂÛ¶àôÀ÷º¦µÄ³ÌÐòÔ±£¬Ëûд¹ýµÄ´úÂë²»¿ÉÄÜÍêȫûÓÐÎÊÌâ¡£¶øÇÒÓÐЩʱºò£¬ÔÚÏßÉÏ·¢ÉúÎÊÌâµÄʱºò£¬ÎÒÃǴ󲿷Öʱ¼ä¶¼ÓÃÔÚÅŲ鲢¶¨Î»ÎÊÌâÉÏÁË¡£Ò»¸öÎÊÌâ¿ÉÄܽâ¾öÆðÀ´Ò²¾ÍÊǼ¸·ÖÖÓ£¬µ«ÊÇÅŲéÆðÀ´È´Òª»¨·Ñ¼¸¸öСʱ¡£

ÔÚÈÕ³£¹¤×÷ÖУ¬Èç¹ûÎÒÃÇÓöµ½ÏßÉÏÎÊÌ⣬һ°ãµÄ´¦Àí²½ÖèÓ¦¸ÃÊÇÏȱ£ÁôÏÖ³¡£¬È»ºóÔÙ¿¼Âǻعö£¬Ö®ºóÔÙÊǽâ¾öÎÊÌâ¡£ÄÇô£¬±£ÀíÏÖ³¡±£ÁôµÄÊÇʲôµÄ£¿ÖÁÉÙÒª°üÀ¨µ±Ê±»úÆ÷ÉÏÃæµÄÏ̵߳Ädump¡¢¶ÑÄÚ´æµÄdump»¹ÓÐ×îÖØÒªµÄ¾ÍÊÇÈÕÖ¾¡£ÒòΪºÜ¶àʱºò£¬ÈÕÖ¾¿ÉÄÜÊÇÎÒÃÇÁ˽â³ÌÐòÖ´ÐеÄΨһ;¾¶¡£

ÓÐÁËÈÕÖ¾£¬»¹ÒªÕÆÎÕһЩÃüÁ²ÅÄܸüºÃµÄ¡¢¸ü¸ßЧµÄ¶¨Î»ÎÊÌ⣬ÒòΪһµ©·¢ÉúÏßÉÏÎÊÌâµÄʱºò£¬ÕæµÄÊÇ·ÖÃë±ØÕù¡£±¾ÎÄ£¬ÎªÄã×ܽáÁ˼¸¸ö³£ÓõÄÃüÁîºÍ¼òµ¥Ó÷¨£¬ÒÔ¼°¼¸¸öС°¸ÀýÀ´ÔËÓÃÕâЩÃüÁî¡£

ÔÚ½éÉÜ֮ǰÎÒ»¹ÒªÇ¿µ÷Ò»µã£¬ÓкܶàÅóÓÑ˵£¬ÎÒ²»ÐèÒª»áÕâô¶àÃüÁһ¸övim(vi)ÃüÁî¾Í¹»ÎÒÓÃÁË£¬Çë²»ÒªÔÚ·þÎñÆ÷ÉÏÖ±½Ó¶ÔÈÕÖ¾Îļþ½øÐÐvim(vi)²Ù×÷£¬ÕâÑù¿ÉÄܻᵼÖ»úÆ÷Ö±½Ó¹Òµô¡£

cat ²é¿´ÎļþµÄÄÚÈÝ
catÃüÁîÊÇÒ»¸öÏÔʾÎı¾ÎļþÄÚÈݵıã½Ý¹¤¾ß,Èç¹ûÒ»¸öÈÕÖ¾Îļþ±È½ÏС,¿ÉÒÔÖ±½ÓʹÓÃcatÃüÁÆäÄÚÈÝ´òÓ¡³öÀ´,½øÐв鿴,µ«ÊÇ,¶ÔÓڽϴóµÄÈÕÖ¾Îļþ,Çë²»ÒªÕâÑù×ö,´ò¿ªÒ»¸ö¹ý´óµÄÎļþ¿ÉÄÜ»áÕ¼Óùý¶àµÄϵͳ×ÊÔ´,´Ó¶øÓ°Ïìϵͳ¶ÔÍâµÄ·þÎñ¡£

ÃüÁî¸ñʽ£º

cat [Ñ¡Ïî] [Îļþ]...

more ·ÖÒ³ÏÔʾÎļþ

catµÄȱµãÔÚÓÚ,Ò»µ©Ö´Ðкó,±ãÎÞ·¨ÔÙ½øÐн»»¥ºÍ¿ØÖÆ,¶ømoreÃüÁî¿ÉÒÔ·ÖÒ³µÄÕ¹ÏÖÎļþÄÚÈÝ,°´enter¼üÏÔʾÎļþÏÂÒ»ÐÐ,°´¿Õ¸ñ¼ü±ãÏÔʾÏÂÒ»Ò³,°´ f¼üÏÔʾÏÂÒ»ÆÁÄÚÈÝ,°´b¼üÏÔʾÉÏÒ»ÆÁÄÚÈÝ¡£

ÃüÁî¸ñʽ£º

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

less ·ÖÒ³ÏÔʾÎļþ

less ¹¤¾ßÒ²ÊǶÔÎļþ»òÆäËüÊä³ö½øÐзÖÒ³ÏÔʾµÄ¹¤¾ß£¬Ó¦¸Ã˵ÊÇlinuxÕýͳ²é¿´ÎļþÄÚÈݵŤ¾ß£¬¹¦Äܼ«ÆäÇ¿´ó¡£less µÄÓ÷¨±ÈÆð more ¸ü¼ÓµÄÓе¯ÐÔ¡£ÔÚ more µÄʱºò£¬ÎÒÃDz¢Ã»Óа취ÏòÇ°Ãæ·­£¬ Ö»ÄÜÍùºóÃæ¿´£¬µ«ÈôʹÓÃÁË less ʱ£¬¾Í¿ÉÒÔʹÓà [pageup] [pagedown] µÈ°´¼üµÄ¹¦ÄÜÀ´ÍùÇ°Íùºó·­¿´Îļþ£¬¸üÈÝÒ×ÓÃÀ´²é¿´Ò»¸öÎļþµÄÄÚÈÝ£¡³ý´ËÖ®Í⣬ÔÚ less ÀïÍ·¿ÉÒÔÓµÓиü¶àµÄËÑË÷¹¦ÄÜ£¬²»Ö¹¿ÉÒÔÏòÏÂËÑ£¬Ò²¿ÉÒÔÏòÉÏËÑ¡£

ÃüÁî¸ñʽ£º

less [²ÎÊý] Îļþ

tail ÏÔʾÎļþβ

ʹÓÃtailÃüÁîÄܹ»²é¿´µ½Îļþ×îºó¼¸ÐÐ,Õâ¶ÔÓÚÈÕÖ¾Îļþ·Ç³£ÓÐЧ,ÒòΪÈÕÖ¾Îļþ³£³£ÊÇ×·¼ÓдÈëµÄ,ÐÂдÈëµÄÄÚÈÝ´¦ÓÚÎļþµÄĩβλÖá£

ʹÓÃtailÃüÁîµÄ-fÑ¡Ïî¿ÉÒÔ·½±ãµÄ²éÔÄÕýÔڸıäµÄÈÕÖ¾Îļþ,tail -f filename»á°ÑfilenameÀï×îβ²¿µÄÄÚÈÝÏÔʾÔÚÆÁÄ»ÉÏ,²¢ÇÒ²»µ«Ë¢ÐÂ,ʹÄã¿´µ½×îеÄÎļþÄÚÈÝ.

ÃüÁî¸ñʽ;

tail[±ØÒª²ÎÊý][Ñ¡Ôñ²ÎÊý][Îļþ]

head ÏÔʾÎļþÍ·
ÓëtailÃüÁîÀàËÆ,µ«ÊDz»Í¬µÄÊÇheadÃüÁîÓÃÓÚÏÔʾÎļþ¿ªÍ·µÄÒ»×éÐС£

ÃüÁî¸ñʽ£º

head [²ÎÊý]... [Îļþ]...

sort ÄÚÈÝÅÅÐò
Ò»¸öÎļþÖаüº¬ÓÐÖÚ¶àµÄÐÐ,¾­³£ÐèÒª¶ÔÕâЩÐÐÖеÄijһÁнøÐÐÅÅÐò²Ù×÷, sortÃüÁîµÄ×÷ÓñãÊǶÔÊý¾Ý½øÐÐÅÅÐò¡£

ÃüÁî¸ñʽ£º

sort [²ÎÊý][Îļþ]

wc ×Ö·ûͳ¼Æ
wcÃüÁî¿ÉÒÔÓÃÀ´Í³¼ÆÖ¸¶¨ÎļþÖеÄ×Ö·ûÊý,×ÖÊý,ÐÐÊý,²¢Êä³öͳ¼Æ½á¹û¡£

ÃüÁî¸ñʽ£º

wc [Ñ¡Ïî]Îļþ...

uniq ²é¿´Öظ´³öÏÖµÄÐÐ
uniqÃüÁî¿ÉÒÔÓÃÀ´ÏÔʾÎļþÖÐÐÐÖظ´µÄ´ÎÊý,»òÕßÏÔʾ½ö³öÏÖÒ»´ÎµÄÐÐ,ÒÔ¼°½ö½öÏÔʾÖظ´³öÏÖµÄÐÐ,²¢ÇÒ,uniqµÄÈ¥ÖØÕë¶ÔµÄÖ»ÊÇÁ¬ÐøµÄÁ½ÐÐ,Òò´ËËü³£³£Óësort½áºÏÆðÀ´Ê¹Óá£

ÃüÁî¸ñʽ£º

uniq[Ñ¡Ïî][²ÎÊý]

curl URL·ÃÎʹ¤¾ß
ÒªÏëÔÚÃüÁîÐÐÏÂͨ¹ýHTTPЭÒé·ÃÎÊÍøÒ³Îĵµ,¾Í²»µÃ²»Óõ½Ò»¸ö¹¤¾ß,Õâ±ãÊÇcurl,ËüÖ§³ÖHTTP,HTTPS,FTP,FTPS,TelnetµÈ¶àÖÖЭÒé,³£±»ÓÃÀ´ÔÚÃüÁîÐÐÏÂץȡÍøÒ³ºÍ¼à¿ØWEB·þÎñÆ÷״̬¡£

ÃüÁî¸ñʽ£º

curl [option] [url]

²é¿´ÇëÇó·ÃÎÊÁ¿
¶ÔÓÚÔÚÏßÔËÐеÄϵͳÀ´Ëµ,³£³£»áÅöµ½¸÷ÖÖ²»»³ºÃÒâµÄ¶ñÒâ¹¥»÷ÐÐΪ,ÆäÖбȽϳ£¼ûµÄ±ãÊÇHTTP flood,Ò²³ÆΪCC¹¥»÷¡£ÈçºÎÄܹ»¿ìËٵĶ¨Î»µ½¹¥»÷, ²¢Ñ¸ËÙÏìÓ¦,±ã³ÉΪ¿ª·¢ÔËάÈËÔ±±Ø±¸µÄ¼¼ÄÜ¡£¶¨Î»ÎÊÌâ×î¿ì½ÝµÄ°ì·¨,±ãÊǵǼµ½ÏàÓ¦µÄÓ¦ÓÃ,²é¿´·ÃÎÊÈÕÖ¾,ÕÒµ½ÏàÓ¦µÄ¹¥»÷À´Ô´,Èç·ÃÎÊÁ¿ÅÅÃûÇ°10µÄipµØÖ·:

cat access.log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10

Ò³Ãæ·ÃÎÊÁ¿ÅÅÃûÇ°10µÄurl:

cat access.log | cut ¨Cf4 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10

²é¿´×îºÄʱµÄÒ³Ãæ
¶ÔÓÚ¿ª·¢ÈËÔ±À´Ëµ,Ò³ÃæµÄÏìӦʱ¼äÊǷdz£ÖµµÃ¹Ø×¢µÄ,ÒòΪÕâÖ±½Ó¹Øϵµ½Óû§ÄÜ·ñ¿ìËٵĿ´µ½ËûÏë¿´µ½µÄÄÚÈÝ¡£Òò´Ë,¿ª·¢ÈËÔ±³£³£ÐèÒª½«ÏìÓ¦ÂýµÄÒ³ÃæÕÒ³öÀ´,½øÐÐÓÅ»¯:

cat access.log | sort -k 2 -n -r | head -10

ͳ¼Æ404Ò³ÃæÕ¼±È
¶ÔÓÚÇëÇóµÄ·µ»ØÂë,ÓÐЩʱºòÒ²ÊÇÐèÒª¹Ø×¢µÄ,±ÈÈç,Èç¹û404ÇëÇóÕ¼±È¹ý¶à, Ҫô¾ÍÊÇÓжñÒâ¹¥»÷ÕßÔÚ½øÐÐɨÃè,Ҫô¾ÍÊÇϵͳ³öÏÖÎÊÌâÁË,ͬÑù,¶ÔÓÚ 500µÄÇëÇóÒ²ÊÇÈç´Ë,¿ÉÒÔͨ¹ýÈçÏÂÃüÁîÀ´²é¿´404ÇëÇóµÄÕ¼±È:

export total_line=`wc -l access.log | cut -f1 -d " "` && export not_found_line=`awk '$6=='404'{print $6}' access.log | wc -l` && expr $not_found_line \* 100 / $total_line

¸ü¶àµÄÐèÒª½áºÏlinuxµÄһЩÃüÁî

转载请注明:谷谷点程序 » 分享Java开发必须掌握的日志分析命令