×ðÁú¿­Ê±

Nginx»á¼ûÈÕÖ¾ÉèÖÃÖ¸ÄÏ£¬¼à¿ØÍøÕ¾»á¼ûÐÐΪ

nginx»á¼ûÈÕÖ¾ÉèÖÃÖ¸ÄÏ£¬¼à¿ØÍøÕ¾»á¼ûÐÐΪ

NginxÊÇÒ»¸ö¸ßÐÔÄܵÄWebЧÀÍÆ÷£¬ÆÕ±éÓÃÓڴ¾²Ì¬»ò¶¯Ì¬ÍøÕ¾ ¡£ÔڴÍøÕ¾µÄÀú³ÌÖУ¬ÎÒÃǾ­³£ÐèÒª¶ÔÍøÕ¾µÄ»á¼ûÐÐΪ¾ÙÐмà¿ØºÍÆÊÎö ¡£NginxÌṩÁËÇ¿Ê¢µÄ»á¼ûÈÕÖ¾ÉèÖù¦Ð§£¬Äܹ»×ÊÖúÎÒÃÇʵÏÖ¶ÔÍøÕ¾µÄ»á¼ûÐÐΪµÄ¼à¿ØºÍÆÊÎö ¡£±¾ÎĽ«ÏÈÈÝÔõÑùÉèÖÃNginxµÄ»á¼ûÈÕÖ¾£¬ÒÔ¼°ÔõÑùʹÓÃÈÕÖ¾ÆÊÎö¹¤¾ß¾ÙÐÐÍøÕ¾»á¼ûÐÐΪµÄ¼à¿Ø ¡£

ÔõÑùÉèÖÃNginxµÄ»á¼ûÈÕÖ¾£¿

NginxµÄ»á¼ûÈÕÖ¾ÉèÖúÜÊǼòÆÓ£¬Ö»ÐèÒªÔÚNginxµÄÉèÖÃÎļþÖÐÌí¼ÓÒ»ÐÐÈÕÖ¾ÉèÖü´¿É ¡£Í¨³£ÇéÐÎÏ£¬NginxµÄÉèÖÃÎļþλÓÚ/etc/nginx/nginx.conf ¡£ÏÂÃæÊÇÒ»¸ö¼òÆӵĻá¼ûÈÕÖ¾ÉèÖõÄʾÀý£º

http {
    ...
    log_format access '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log access;
    ...
}

µÇ¼ºó¸´ÖÆ

ÒÔÉÏÉèÖýç˵ÁËÒ»¸öÃûΪaccessµÄÈÕÖ¾ÃûÌ㬲¢½«accessÈÕÖ¾Êä³öµ½/var/log/nginx/access.logÎļþ ¡£Í¨¹ýÕâ¸öÈÕÖ¾ÉèÖã¬ÎÒÃÇ¿ÉÒÔ»ñÈ¡µ½¿Í»§¶ËµÄIPµØµã¡¢»á¼ûʱ¼ä¡¢ÇëÇóµÄURL¡¢HTTP״̬Âë¡¢·¢Ë͵ÄÊý¾ÝÁ¿¡¢ÈªÔ´Ò³ÃæURL¡¢¿Í»§¶ËµÄUser-AgentÐÅÏ¢ºÍÊðÀíЧÀÍÆ÷µÄIPµØµã ¡£

ÔõÑùʹÓÃÈÕÖ¾ÆÊÎö¹¤¾ß¾ÙÐÐÍøÕ¾»á¼ûÐÐΪµÄ¼à¿Ø£¿

ÔÚÉèÖÃÁË»á¼ûÈÕÖ¾Ö®ºó£¬ÎÒÃǾͿÉÒÔʹÓÃÈÕÖ¾ÆÊÎö¹¤¾ß¶ÔÍøÕ¾µÄ»á¼ûÐÐΪ¾ÙÐмà¿ØºÍÆÊÎö ¡£ÏÂÃæÏÈÈÝÁ½ÖÖ³£ÓõÄÈÕÖ¾ÆÊÎö¹¤¾ß£ºAWStatsºÍELK Stack ¡£

AWStatsÊÇÒ»¸öÃâ·ÑµÄÈÕÖ¾ÆÊÎö¹¤¾ß£¬¿ÉÒÔÌìÉúÏêϸµÄͳ¼Æ±¨¸æ ¡£Ê×ÏÈ£¬ÎÒÃÇÐèҪװÖÃAWStats²¢¶ÔÆä¾ÙÐÐÉèÖà ¡£ÔÚUbuntuϵͳÉÏ£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁî×°ÖÃAWStats£º

sudo apt-get install awstats

µÇ¼ºó¸´ÖÆ

×°ÖÃÍê³Éºó£¬ÐèÒª¶ÔAWStats¾ÙÐÐÉèÖà ¡£ÔÚAWStatsÉèÖÃÎļþÖУ¬ÐèÒªÖ¸¶¨Nginx»á¼ûÈÕÖ¾µÄλÖúÍÎļþÃûÌà ¡£È·±£ÉèÖÃÎļþÖÐ׼ȷÉèÖÃÁËLogFormat¡¢LogFileºÍSiteDomain²ÎÊý ¡£ÉúÑÄÉèÖÃÎļþ²¢Í˳ö ¡£

È»ºó£¬ÎÒÃÇÐèҪΪÿ¸öÍøÕ¾½¨ÉèÒ»¸öÉèÖÃÎļþ ¡£ÔÚAWStatsµÄÉèÖÃÎļþĿ¼£¨Ä¬ÒÔΪ/etc/awstats£©ÖУ¬¸´ÖÆawstats.model.confÎļþ£¬²¢½«ÆäÖØÃüÃûΪÍøÕ¾ÓòÃûµÄÉèÖÃÎļþ£¨ºÃ±Èawstats.example.com.conf£© ¡£ÔÚÕâ¸öÎļþÖУ¬ÉèÖÃLogFile²ÎÊýΪNginx»á¼ûÈÕÖ¾µÄλÖà ¡£

×îºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæµÄÏÂÁîÌìÉúͳ¼Æ±¨¸æ£º

sudo /usr/lib/cgi-bin/awstats.pl -config=example.com -update

µÇ¼ºó¸´ÖÆ

ÆäÖÐexample.comÐèÒªÌ滻ΪÏÖʵµÄÍøÕ¾ÓòÃû ¡£

ELK StackÊÇÒ»Ì×ÓÃÓÚÈÕÖ¾ÆÊÎöºÍËÑË÷µÄ¹¤¾ß×éºÏ£¬°üÀ¨Elasticsearch¡¢LogstashºÍKibana ¡£Ê×ÏÈ£¬ÎÒÃÇÐèҪװÖúÍÉèÖÃElasticsearchºÍKibana£¬¿ÉÒԲο¼¹Ù·½Îĵµ¾ÙÐÐ×°ÖúÍÉèÖà ¡£È»ºó£¬ÎÒÃÇÐèÒªÉèÖÃLogstashÀ´´¦Öóͷ£Nginx»á¼ûÈÕÖ¾£¬²¢½«Æä·¢Ë͵½Elasticsearch ¡£

ÔÚLogstashµÄÉèÖÃÎļþÖУ¬ÎÒÃÇÐèÒª½ç˵ÊäÈëºÍÊä³ö ¡£ÏÂÃæÊÇÒ»¸ö¼òÆÓµÄLogstashÉèÖÃÎļþʾÀý£º

input {
  file {
    path => "/var/log/nginx/access.log"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "nginx-access-%{+YYYY.MM.dd}"
  }
}

µÇ¼ºó¸´ÖÆ

ÒÔÉÏÉèÖý«Nginx»á¼ûÈÕÖ¾×÷ΪÊäÈ룬ʹÓÃGrokģʽƥÅäÈÕÖ¾ÃûÌã¬È»ºó½«´¦Öóͷ£ºóµÄÈÕÖ¾·¢Ë͵½ElasticsearchÖÐ ¡£

ÖØÆôLogstashÒÔʹÉèÖÃÉúЧ£¬²¢Æô¶¯ElasticsearchºÍKibana ¡£È»ºó£¬ÎÒÃÇ¿ÉÒÔÔÚKibanaÖн¨ÉèÒDZí°åÀ´Õ¹Ê¾ÍøÕ¾µÄ»á¼ûÐÐΪͳ¼ÆÐÅÏ¢ ¡£

×ܽá

±¾ÎÄÏÈÈÝÁËÔõÑùÉèÖÃNginxµÄ»á¼ûÈÕÖ¾ÒÔ¼°ÔõÑùʹÓÃAWStatsºÍELK StackµÈÈÕÖ¾ÆÊÎö¹¤¾ß¾ÙÐÐÍøÕ¾»á¼ûÐÐΪµÄ¼à¿Ø ¡£Í¨¹ý¶ÔÍøÕ¾»á¼ûÈÕÖ¾µÄÆÊÎö£¬ÎÒÃÇ¿ÉÒÔÏàʶÍøÕ¾µÄ»á¼ûÇéÐκÍÓû§ÐÐΪ£¬ÎªÓÅ»¯ÍøÕ¾ÐÔÄܺÍË¢ÐÂÓû§ÌåÑéÌṩÖ÷Òª²Î¿¼ ¡£Ï£Íû±¾ÎĶÔÄúÔÚ¼à¿ØÍøÕ¾»á¼ûÐÐΪ·½ÃæµÄÊÂÇéÓÐËù×ÊÖú ¡£

ÒÔÉϾÍÊÇNginx»á¼ûÈÕÖ¾ÉèÖÃÖ¸ÄÏ£¬¼à¿ØÍøÕ¾»á¼ûÐÐΪµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±ÊµÊ±ÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
¡¾ÍøÕ¾µØͼ¡¿¡¾sitemap¡¿