이 자세한 가이드는 dstat를 사용하여 Linux(또는 Unix) 서버를 모니터링하는 프로세스를 단계별로 안내합니다.
사무실이나 담당 데이터 센터에서 Linux 서버를 실행하고 있다면 가동 시간을 100%에 가깝게 유지하려고 합니다. 이러한 경우 시스템이 어떻게 실행되고 있는지 계속 주시해야 합니다. 정확히 말하면 시스템이 제대로 실행되는 데 기여하는 모든 시스템 리소스를 모니터링하여 가동 시간을 늘리고자 합니다. 메모리, CPU, 디스크 사용량...은 관찰하고 싶은 것 중 일부입니다. 우리는 일반적으로 "무료", "top", "vmstat"와 같이 Linux 또는 UNIX 설치와 함께 제공되는 도구 조합을 사용합니다. 다른 도구를 결합하면 Dstat라는 한 지붕 아래에서 모두 얻을 수 있습니다. 이 명령줄 도구의 개발자인 Dag Wieers는 이를 "vmstat, iostat, netstat 및 ifstat의 다목적 대체품"이라고 부릅니다. 그는 "Dstat는 일부 한계를 극복하고 몇 가지 추가 기능을 추가합니다..."라고 덧붙였습니다. 저에게 Dstat는 모든 명령줄 시스템 모니터링 도구의 어머니입니다. 설치가 간단하고 사용이 간편하며 쉽게 조정할 수 있으며 보고서를 생성하여 상사에게 깊은 인상을 주기 위해 그래프로 그릴 수 있습니다.
Dstat 설치
Dstat 설치 프로그램을 다운로드하여 시작하십시오. 웹 브라우저에서 Dstat 프로젝트의 홈페이지(https://dag.wieers.com/home-made/dstat/)로 이동합니다. 다운로드가 나열된 페이지 섹션까지 아래로 스크롤합니다. 응용 프로그램을 설치하려는 Linux 버전을 선택하고 다운로드 링크를 클릭합니다. 이제 실행 중인 Linux 배포 버전에 대한 최신 버전의 Dstat를 다운로드합니다. Red Hat Enterprise Linux 버전 4 시스템에서 이 작업을 수행하는 방법을 보여 드리겠습니다.
# wget https://dag.wieers.com/rpm/packages/dstat/dstat-0.6.6-1.el4.rf.noarch.rpm
이제 Dstat를 설치하십시오:
# rpm -Uvh dstat-0.6.6-1.el4.rf.noarch.rpm
설치가 오류 없이 진행되었다면 Dstat가 설치되어 사용할 준비가 된 것입니다. 설치 중에 발생한 종속성이 있는 경우 필요한 패키지를 설치하고 다시 시도하십시오. Dstat에 종속성이 너무 많다고 생각하지 않으니 문제가 발생하지 않으셔도 됩니다.
Dstat 사용
Dstat가 시스템에 설치되어 있으면 잘 진행되어야 합니다. 터미널에서 명령을 실행하여 시작하십시오.
# dstat
출력은 다음과 같을 것입니다. ctrl+c 키 조합을 누르세요. 종료합니다.
# dstat
—-total-cpu-usage—- -disk/total -net/total- —paging– —system–
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_
7 1 91 1 0 0| 0 0 | 0 0 | 0 0 | 0 0
1 0 99 0 0 0| 0 0 | 0 0 | 0 0 |1051 1945
0 0 100 0 0 0| 0 12k|2269B 11.2k| 0 0 |1031 1923
1 0 99 0 0 0| 0 40k| 0 0 | 0 0 |1078 2235
0 0 100 0 0 0| 0 16k|6027B 21.5k| 0 0 |1008 2219
Dstat에는 여러 가지 옵션이 있습니다. 앞서 언급했듯이 Dstat는 조정하기가 매우 쉽습니다. 따라서 데이터 읽기를 CPU, 디스크 및 네트워크로 제한하려면 다음 명령을 실행하십시오.
# dstat -CDN
-disk/total -net/total- —paging– —system–
_read write|_recv _send|__in_ _out_|_int_ _csw_
0 0 | 0 0 | 0 0 | 0 0
0 12k|2295B 9603B| 0 0 |1053 1957
0 0 | 594B 0 | 0 0 |1002 1893
0 960k| 292B 3346B| 0 0 |1072 2012
0 4096B| 64B 0 | 0 0 |1031 1939
다음을 입력하여 액세스할 수 있는 애플리케이션의 도움말 문서에서 더 많은 옵션을 찾을 수 있습니다.
# dstat -h
옵션을 약간 사용하여 익숙해지도록 하십시오. 데이터 읽기 간의 기본 간격은 2초입니다. 필요한 경우 해당 간격을 변경할 수 있습니다. 간격을 10초로 늘리려면 다음을 입력하십시오.
# dstat 10
또 다른 유용한 기능은 각 항목에 대해 집계된 업데이트를 가져오는 것입니다. 따라서 Dstat가 새 줄에서 10초마다 업데이트를 제공하도록 할 수 있지만 데이터가 변경되면 줄 자체가 1초마다 업데이트됩니다.
선택적으로 Dstat가 3초 간격으로 5개의 업데이트를 제공하기를 원할 수 있습니다. 이를 수행하는 방법은 다음과 같습니다.
# dstat 3 5
—-total-cpu-usage—- -disk/total -net/total- —paging– —system–
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_
3 1 95 2 0 0| 0 0 | 0 0 | 0 0 | 0 0
2 11 87 1 0 0| 0 180k|2581B 3239B| 0 0 |1136 697
7 8 85 0 0 0| 0 0 | 115k 106k| 0 0 |1603 3985
2 1 98 0 0 0| 0 0 |77.5k 170k| 0 0 |1744 3856
1 0 100 0 0 0| 0 0 |3451B 9993B| 0 0 |1045 149
2 1 94 4 0 0| 0 276k|20.4k 31.1k| 0 0 |1219 804
내가 가장 유용하다고 생각하는 기능은 출력입니다. Dstat를 사용하면 나중에 Microsoft Excel과 같은 스프레드시트 응용 프로그램으로 가져올 수 있고 데이터를 그래프로 그릴 수 있는 쉼표로 구분된 파일에 기록된 세션의 출력을 가질 수 있습니다. 사용 방법은 다음과 같습니다.
# dstat –출력 /tmp/dstat_data.csv -CDN
애플리케이션을 실행하거나 이 시스템에서 테스트를 수행하는 동안 위의 명령을 실행하십시오. ctrl+c 키 조합을 누르세요. 완료되면. dstat_data.csv 파일을 엽니다. Microsoft Excel 또는 Open Office와 같은 스프레드시트 응용 프로그램으로 그런 다음 그래프에 표시할 열을 선택하고 스프레드시트 응용 프로그램이 마법을 수행하도록 할 수 있습니다.
우편으로 보고서 받기
일정 기간 동안 서버가 어떻게 작동하는지 관찰하려는 경우가 있을 수 있습니다. Linux에서 특정 간격으로 읽기를 제공하고 보고서를 생성하고 파일을 메일로 보내는 백그라운드 프로세스를 설정할 수 있습니다. 이것은 스트레스 테스트 중에 특히 유용할 수 있습니다. 다음은 이를 수행할 수 있는 방법입니다. 다음 스크립트는 3시간 동안 Dstat를 실행하고 30초마다 데이터를 읽고 보고서를 [email protected]으로 메일로 보냅니다.
<블록 인용>
#!/bin/bash
dstat –output /tmp/dstat_data_mail.csv -CDN 30 360
mutt -a /tmp/dstat_data_mail.csv -s "3시간 실행에 대한 Dstat 보고서" me@myemailid. co.kr
위의 스크립트를 dstat_script.sh라는 파일에 저장합니다. 서버에서 실행 권한을 부여한 다음 백그라운드 프로세스로 실행합니다.
# chmod +x dstat_script.sh
# nohup ./dstat_script.sh &
완료. 네, 간단합니다. 이제 실행이 완료된 후 이 보고서를 우편으로 받게 됩니다. 이 데이터를 매일 받을 수 있도록 이 스크립트를 일일 크론 작업으로 선택적으로 예약할 수 있습니다.
이미 Dstat가 성능 모니터링 및 디버깅에 적용될 때 훌륭한 도구라는 것을 깨달았을 수도 있습니다. 수집된 데이터의 세분성, 빈도 및 특성은 전적으로 귀하에게 달려 있습니다. Dstat를 사용하면 서버에서 무슨 일이 일어나고 있는지 알 수 있습니다. 이 힘을 현명하게 사용하면 잠 못 이루는 밤이 훨씬 줄어들 수 있습니다.