-
python, grafana, mariadb를 이용한 윈도우 서버 성능 분석Windows/Windows 2008 , 2012 2019. 8. 17. 00:25
윈도우 서버를 운영하다보면 주기적으로 서버 성능을 분석해야 할 필요가 있다.
윈도우에는 성능모니터링이라는 좋은 유틸프로그램이 있는데, 이를 활용하여 데이터를 수집하고,
수집된 데이터를 DB화 하고, DB화한 데이터를 시각화해 보려 한다.
1. 윈도우즈 성능퍼포먼스 데이터 수집
샘플로 총 수집할 항목은 총 16개
- \Processor(_Total)\% Processor Time
- \System\Processor Queue Length
- \System\Context Switches/sec
- \Memory\% Committed Bytes In Use
- \Memory\Available MBytes
- \Memory\Free System Page Table Entries
- \Memory\Pool Nonpaged Bytes
- \Memory\Pool Paged Bytes
- \Memory\Pages/sec
- \PhysicalDisk(_Total)\% Idle Time
- \PhysicalDisk(_Total)\Avg. Disk sec/Read
- \PhysicalDisk(_Total)\Avg. Disk sec/Write
- \PhysicalDisk(_Total)\Avg. Disk Queue Length
- \Network Interface\Bytes Received/sec
- \Network Interface\Bytes Sent/sec
- \Network Interface\Output Queue Length최대로 디테일하게 분석하기 위해서 '초' 단위로 하였고, 파이썬에서 데이터를 파싱하기 위해서 파일형식은 'csv' 로 하였다.
성능퍼포먼스를 구동하고, 파일을 오픈해보면 logtime까지 총 17개의 필드가 적재됨을 알 수 있다.
2. python을 이용한 수집 데이터를 mariadb (DB) 적재
- mariadb에 적당한 DB와 table을 생성하고, 컬럼을 만든다.
- SIP(서버IP는) 성능 데이터가 어떤 서버의 테이터인지 식별하기 위해 강제적으로 넣었고,
성능 퍼포먼스 파일명 접두어 넣고, python의 split 메소드를 이용하여 넣었다.
- 시계열로 데이터를 분석하기 위해 logtime으로 index 설정
- 파이썬으로 데이터를 insert시 소수 2째자리까지만 표현
- 날짜 형식은 yyyy-mm-dd로 변환
3. grafana를 이용한 수집 데이터 시각화
Processor Time (CPU사용율)
Network Traffic (네트워크 트래픽)
sys_mem_availablembytes (여유 메모리 사용량)
종합 대쉬보드
'Windows > Windows 2008 , 2012' 카테고리의 다른 글
Windows Tomcat stout 로그 적재하지 않기 (0) 2019.12.23 Windows Server openJDK Download. (윈도우 서버 openJDK 다운로드) (0) 2019.11.19 윈도우 명령어 [ find ] - 파일에서 텍스트 찾기 (0) 2019.10.14 Windows 2008 / 2012 Server NTP Clinet Setting (0) 2019.10.02 python을 이용한 IIS web log 분석 (7) - pandas 연동 (0) 2019.08.12 IIS 웹 사이트 개별 시작/중지/응용프로그램 풀 재생 명령어 (0) 2019.06.26 Apache Tomcat Logging 경로와 Logging 항목 변경 (0) 2019.04.19 Windows 2012 Tomcat 8 Install (0) 2019.04.19