상세 컨텐츠

본문 제목

netstat 포트 연결 갯수 확인 및 크론 등록하여 수집하기

IT 상식

by yyng 2022. 1. 24. 07:40

본문

반응형

netstat 특정 포트 연결 개수 확인

웹서버 또는 애플리케이션 서버를 운영하다 보면, 많은 사용자로 인해 TCP커널을 수정해야 할 경우가 생기기도 하고, 해당하는 프로세스가 실시간으로 몇 개가 연결되어 있는지 확인하거나, 방문자가 몇 명인지, 서버의 TCP 연결 개수 제한으로 서버 개수를 늘려야 할지 등 판단하거나 확인할 일이 생깁니다.

이럴 경우 netstat 프로세스 연결 갯수 감시를 크론으로 등록하여 주기적으로 체크해보면 필요한 주기로 포트 연결 정보를 확인할 수 있습니다.

우선 크론에 등록하기전 netstat을 이용한 간단하게 명령어를 입력하여 확인하는 방법을 확인해 보겠습니다. 

 

1. LISTEN 프로세스 확인

    netstat -an | grep "검색이 필요한 포토 번호 입력" | grep LISTEN 

netstat -an| grep 80| grep LISTEN

 

2. ESTABLISHED 개수 확인

    netstat -anp | grep "검색이 필요한 포토 번호 입력" | grep ESTABLISHED | wc -l

netstat -an| grep 80| grep EST| wc -l

3. TIMEWAIT 갯수 확인

    netstat -anp | grep "검색이 필요한 포토 번호 입력" | grep TIMEWAIT | wc -l

 netstat -an| grep 80| grep TIME| wc -l

4. FINWAIT2 갯수 확인

    netstat -anp | grep "검색이 필요한 포토 번호 입력" | grep FINWAIT2 | wc -l

 netstat -an| grep 80 | grep FIN | wc -l

 

netstat 포트 연결 개수 확인 크론으로 등록하기

 

1. 크론에 등록할 netstat 연결 포트 정보 확인 스크립트 만들기

  : 스크립트는 단순하게 아래와 같은 방식으로 생성하였다.

   1) 체크하는 시간 확인을 위한 date 함수로 시간 출력 및 저장

   2) 체크하는 netstat 프로세스 정보 출력 및 저장

   3) 프로세스 확인 및 개수 확인 명령어 실행 및 저장

[/home/cron/cron_script] vi netstat_check.sh

##LISTEN 프로세스 확인
date &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
echo "netstat -an| grep 12202 | grep LISTEN" &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
netstat -an| grep 80| grep LISTEN &>> /home/cron/cron_script/$(date +"%Y%m%d").txt

##ESTABLISHED 개수 확인
date &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
echo "netstat -an| grep 80 | grep EST| wc -l" &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
netstat -an| grep 80| grep EST| wc -l &>>/home/cron/cron_script/$(date +"%Y%m%d").txt

##TIMEWAIT 개수 확인
date &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
echo "netstat -an| grep 80| grep TIME| wc -l" &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
netstat -an| grep 80| grep TIME| wc -l &>> /home/cron/cron_script/$(date +"%Y%m%d").txt

##FINWAIT2 개수 확인
date &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
echo "netstat -an| grep 80 | grep FINWAIT" &>> /home/cron/cron_script/$(date +"%Y%m%d").txt
netstat -an| grep 80| grep FIN| wc -l &>> /home/cron/cron_script/$(date +"%Y%m%d").txt

2. crontab에 등록하기

 크론탭에 5분마다 실행하기 설정해 준다.

   : crontab -e 을 클릭하여 아래와 같이 5분마다 실행하는 옵션과 실행할 쉘 경로를 지정해 줍니다.

[/home/cron/cron_script] crontab -e
*/5 * * * * /home/cron/cron_script/netstat_check.sh
반응형

관련글 더보기

댓글 영역