netstat로 통신 연결 상태를 정기적으로 모니터링하고 시각화
소개
이전에 게시한 'netstat로 통신 연결 상태를 정기적으로 모니터링
필요한 것
Git for Windows (Git Bash 사용)
모니터링 스크립트
netstat_monitor.sh#!/bin/bash
output_file=`date '+%Y%m%dT%H%M%S'`.tsv
echo "output: ${output_file}"
echo -e "datetime\tserver\tcount" > ${output_file}
while :
do
date_now=`date '+%Y%m%dT%H%M%S'`
netstat -an | egrep "ESTABLISHED|CLOSE_WAIT|TIME_WAIT" | awk '{print $3}' | sort | uniq -c | awk '{printf("%s\t%s\n",$2,$1)'} | sed "s/^/${date_now}\t/g" >> ${output_file}
echo ${date_now}
sleep 5
done
포트 번호를 잘라서 서버마다 카운트하는 경우는 awk '{print $3}' | sed "s/:[0-9]\+$//g" | sort |
와 같이 하면 좋다고 생각합니다.
Linux의 경우 awk '{print $3}'
를 awk '{print $5}'
로 설정합니다.
실행 예$ ./netstat_monitor.sh
output: 20200419T141531.tsv
20200419T141531
20200419T141537
20200419T141542
20200419T141547
20200419T141552
20200419T141557
20200419T141603
:
停止するには[CTRL]+[C]
Excel로 그래프화
출력된 tsv 파일을 Excel로 가져와서 비봇 테이블에서 집계한 다음 선 그래프로 시각화합니다.
Excel로 가져오기
피벗 테이블로 집계하여 꺾은선형 차트로 만들기
아래 그림과 같이 비봇 테이블의 필드를 설정하고 집계 결과를 기반으로 그래프화합니다.
이번 샘플 예제는 C# HttpClient의 멀티스레드 프로그램으로 모 사이트에 액세스한 결과입니다. 단번에 600포트 소비하고 있습니다. 그 후, 프로그램을 정지해 소비 포트수가 줄어드는 것을 알 수 있습니다.
참고문헌
#!/bin/bash
output_file=`date '+%Y%m%dT%H%M%S'`.tsv
echo "output: ${output_file}"
echo -e "datetime\tserver\tcount" > ${output_file}
while :
do
date_now=`date '+%Y%m%dT%H%M%S'`
netstat -an | egrep "ESTABLISHED|CLOSE_WAIT|TIME_WAIT" | awk '{print $3}' | sort | uniq -c | awk '{printf("%s\t%s\n",$2,$1)'} | sed "s/^/${date_now}\t/g" >> ${output_file}
echo ${date_now}
sleep 5
done
$ ./netstat_monitor.sh
output: 20200419T141531.tsv
20200419T141531
20200419T141537
20200419T141542
20200419T141547
20200419T141552
20200419T141557
20200419T141603
:
停止するには[CTRL]+[C]
출력된 tsv 파일을 Excel로 가져와서 비봇 테이블에서 집계한 다음 선 그래프로 시각화합니다.
Excel로 가져오기
피벗 테이블로 집계하여 꺾은선형 차트로 만들기
아래 그림과 같이 비봇 테이블의 필드를 설정하고 집계 결과를 기반으로 그래프화합니다.
이번 샘플 예제는 C# HttpClient의 멀티스레드 프로그램으로 모 사이트에 액세스한 결과입니다. 단번에 600포트 소비하고 있습니다. 그 후, 프로그램을 정지해 소비 포트수가 줄어드는 것을 알 수 있습니다.
참고문헌
Reference
이 문제에 관하여(netstat로 통신 연결 상태를 정기적으로 모니터링하고 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/curvaceous410/items/b862bbca78e6d544b41e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)