>  기사  >  운영 및 유지보수  >  Nginx 접속 로그 분석 구성, 웹사이트 접속 실시간 모니터링

Nginx 접속 로그 분석 구성, 웹사이트 접속 실시간 모니터링

PHPz
PHPz원래의
2023-07-04 08:36:091267검색

Nginx 접속 로그 분석 구성, 웹 사이트 접속 실시간 모니터링

Nginx는 고성능 웹 서버이자 역방향 프록시 서버입니다. 다른 웹 서버에 비해 정적 리소스 처리 성능이 뛰어나고 동시 요청이 많은 것이 장점입니다. 운영 및 유지관리 담당자에게는 Nginx 접속 로그를 분석하여 접속 행위 및 접속 소스에 대한 자세한 정보를 얻을 수 있어 홈페이지 접속 현황을 파악하는 것이 매우 중요합니다. 이 글에서는 Nginx 액세스 로그 분석을 구성하고 웹사이트 액세스를 실시간으로 모니터링하는 방법을 소개합니다.

먼저 Nginx가 제대로 설치되어 실행되고 있는지 확인하세요. 일반적으로 Nginx의 액세스 로그는 /var/log/nginx/access.log 파일에 있습니다. 지정된 파일에 로그를 기록하고 미리 결정된 형식으로 액세스 정보를 기록하도록 Nginx를 구성할 수 있습니다. /var/log/nginx/access.log文件中。我们可以通过配置Nginx,使其将日志写入指定的文件,并按照预定的格式记录访问信息。

在Nginx配置文件(通常为/etc/nginx/nginx.conf)中找到http部分,并添加以下配置:

http {
    ...
    
    log_format custom_format '$remote_addr - $remote_user [$time_local] '
                          '"$request" $status $body_bytes_sent '
                          '"$http_referer" "$http_user_agent"';
    
    access_log /var/log/nginx/access.log custom_format;
    
    ...
}

上述代码定义了一个自定义的日志格式(custom_format),其中包括了记录访问信息所需的各种字段。具体日志格式的配置可以根据实际需求进行调整。access_log指令指定了日志文件的路径和格式。在这个例子中,我们将日志文件命名为access.log,并使用自定义的格式进行记录。

更新完成配置后,需要重启Nginx使配置生效:

sudo systemctl restart nginx

现在,Nginx将会按照配置的格式将访问信息写入/var/log/nginx/access.log文件中。接下来,我们可以使用日志分析工具来解析Nginx的访问日志,以便更好地了解网站的访问情况。

常用的日志分析工具有ELK Stack、Awstats、GoAccess等。在本文中,我们将介绍使用GoAccess实时监控Nginx访问情况。

GoAccess是一个基于命令行的实时日志分析器,可以产生直观、可交互的报告,并将结果以HTML格式进行展示。首先,我们需要查看GoAccess是否已安装,若未安装,则可以通过以下命令进行安装:

sudo apt-get install goaccess

安装完成后,我们可以使用以下命令来实时监控Nginx的访问情况:

sudo tail -f /var/log/nginx/access.log | goaccess -a -o /var/www/html/report.html

上述命令中,tail -f用于监视Nginx的访问日志文件,goaccess命令将实时解析日志,并生成报告。-a标志用于显示所有的访问信息,-o用于指定报告的输出路径。在这个例子中,报告将以HTML格式存储在/var/www/html/report.html文件中。

现在,我们可以通过浏览器访问http://your_server_ip/report.html

Nginx 구성 파일(일반적으로 /etc/nginx/nginx.conf)에서 http 섹션을 찾아 다음 구성을 추가합니다.

rrreee

위 코드는 액세스 정보를 기록하는 데 필요한 다양한 필드를 포함하는 맞춤형 로그 형식(custom_format). 특정 로그 형식 구성은 실제 필요에 따라 조정될 수 있습니다. access_log 지시어는 로그 파일의 경로와 형식을 지정합니다. 이 예에서는 로그 파일 이름을 access.log로 지정하고 기록을 위해 사용자 정의 형식을 사용합니다. 🎜🎜구성을 업데이트한 후 구성을 적용하려면 Nginx를 다시 시작해야 합니다. 🎜rrreee🎜이제 Nginx는 액세스 정보를 /var/log/nginx/access.log 파일에 기록합니다. 구성된 형식에 따라. 다음으로, 로그 분석 도구를 사용하여 Nginx 액세스 로그를 구문 분석하여 웹사이트 액세스를 더 잘 이해할 수 있습니다. 🎜🎜일반적으로 사용되는 로그 분석 도구에는 ELK Stack, Awstats, GoAccess 등이 있습니다. 이 기사에서는 GoAccess를 사용하여 Nginx 액세스를 실시간으로 모니터링하는 방법을 소개합니다. 🎜🎜GoAccess는 직관적이고 대화형 보고서를 생성하고 결과를 HTML 형식으로 표시할 수 있는 명령줄 기반의 실시간 로그 분석기입니다. 먼저 GoAccess가 설치되어 있는지 확인해야 합니다. 그렇지 않은 경우 다음 명령을 통해 설치할 수 있습니다. 🎜rrreee🎜설치가 완료된 후 다음 명령을 사용하여 Nginx 액세스를 실시간으로 모니터링할 수 있습니다. 위 명령에서 tail -f는 Nginx 액세스 로그 파일을 모니터링하는 데 사용됩니다. goaccess 명령은 로그를 실시간으로 구문 분석하고 보고서를 생성합니다. -a 플래그는 모든 액세스 정보를 표시하는 데 사용되며, -o 플래그는 보고서의 출력 경로를 지정하는 데 사용됩니다. 이 예에서 보고서는 /var/www/html/report.html 파일에 HTML 형식으로 저장됩니다. 🎜🎜이제 브라우저를 통해 http://your_server_ip/report.html에 접속하시면 실시간 Nginx 접속 리포트를 보실 수 있습니다. 보고서는 방문 횟수, 방문 소스, 일반 사용자 에이전트, HTTP 응답 코드 등에 대한 정보를 제공하여 웹사이트의 방문 및 성능 상태를 더 잘 이해하는 데 도움을 줍니다. 🎜🎜Nginx 접속 로그 분석 및 실시간 모니터링을 구성하여 웹 사이트 방문에 대한 자세한 정보를 적시에 얻을 수 있습니다. 이는 웹 사이트 성능을 이해하고, 비정상적인 액세스 동작을 해결하고, 해당 최적화 조정을 수행하는 데 매우 유용합니다. 이 글이 Nginx 액세스 로그 분석에 대해 더 자세히 알고 싶은 독자들에게 도움이 되기를 바랍니다. 🎜

위 내용은 Nginx 접속 로그 분석 구성, 웹사이트 접속 실시간 모니터링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.