VHOSTS당 들어오는 httpd 연결 수를 감지하는 방법은 무엇입니까?

VHOSTS당 들어오는 httpd 연결 수를 감지하는 방법은 무엇입니까?

RHEL 및 Apache(httpd)를 사용하여 다음을 수행할 수 있는 방법이 있습니까?

  • 어떤 v.host(도메인)가 들어오는 연결 수를 감지합니까?

며칠 동안 서버에서 들어오는 연결을 많이 받았고 다음을 통해 확인했습니다.

  • ps aux | grep httpd -c

    734화

이것은 734현재 들어오는 연결을 처리하는 Apache가 있다는 것을 의미하지만 문제는 10개의 Vhost(도메인)가 있다는 것입니다.

  • 그렇다면 어느 도메인의 부하가 더 높습니까?

답변1

로그에 호스트 문자열을 포함하도록 액세스 로그 형식을 수정하겠습니다. 그렇다면 정렬하고 계산하는 것은 간단합니다 vhost. 이것이 apache제가 사용하는 구성 거짓말입니다.

# Modified log format with virtual host, execution time, and query params
LogFormat "%v:%p %a %T %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" local

# Define an access log for VirtualHosts that don't define their own logfile
CustomLog /var/log/apache2/access.log local

이는 다음 명령을 사용하여 계산할 수 있습니다.

cut -d\t -f1 access.log | sort | uniq -c

또는 다음을 사용할 수 있습니다 awk(시간 및/또는 기타 데이터별로 선택 가능).

awk '{print $1}' access.log | sort | uniq -c

또는 각 가상 호스트에 대해 별도의 액세스 로그를 사용하십시오. 활성 액세스 로그의 간단한 단어 수를 통해 귀하의 질문에 답할 수 있습니다.

현재 활동을 확인하려면 mod-status 플러그인을 활성화하고 URL을 사용하여 상태를 확인하세요 http://127.0.0.1/server-status. 출력에는 각 슬롯에서 처리된 마지막 URL과 현재 상태가 포함됩니다. 이 정보는 현재 상태를 확인하는 데 사용될 수 있습니다. URL을 사용하는 출력은 http://127.0.0.1/server-status?notable구문 분석하기가 더 쉬울 수 있습니다.

이 명령은 w3m -dump http://127.0.0.1/server-status?notable멋진 텍스트 덤프를 제공합니다. 그러나 이러한 쿼리에는 wgetor 명령이 curl자주 사용됩니다.

관련 정보