Windows 서버에 windows_exporter 설치 방법
MSI 설치 -> 서비스 확인 -> 포트 오픈 -> Prometheus 등록
1. windows_exporter 다운로드
- 공식 GitHub 페이지 접속:
- 최신 버전(zip 파일 또는 msi 설치 파일)을 다운로드한다.
- 보통 .msi 파일이 편하다 (windows_exporter-*.msi)
2. windows_exporter 설치
MSI 파일 설치 방법
- 다운로드한 .msi 파일 더블 클릭
- 설치 마법사 실행
- 설치 옵션 확인:
- 설치 경로(Default: C:\Program Files\windows_exporter\)
- 기본 포트(9182) 사용
- 설치 완료
(설치가 끝나면 자동으로 Windows 서비스로 등록되고, 실행된다.)
3. 서비스 정상 실행 확인
- Windows 서비스(services.msc) 들어간다.
- windows_exporter라는 서비스가 Running(실행 중)인지 확인한다.
또는 PowerShell에서 확인:
Get-Service windows_exporter
상태가 Running이면 정상.
4. 방화벽 포트 열기 (선택사항)
기본 포트 9182를 외부에서 접근할 수 있도록 열어야 한다.
PowerShell 명령어:
New-NetFirewallRule -DisplayName "Allow windows_exporter 9182" -Direction Inbound -Protocol TCP -LocalPort 9182 -Action Allow
5. 동작 테스트
서버에서 바로 접속 테스트:
curl http://localhost:9182/metrics
메트릭스 텍스트가 쭉 나오면 정상 설치된 거다.
6. Prometheus에 windows_exporter 타겟 추가
Prometheus 설정 파일(prometheus.yml)에 아래 블록 추가:
- job_name: 'windows_exporter'
static_configs:
- targets: ['서버IP:9182']
- 서버IP는 windows_exporter가 설치된 서버 IP로 바꿔야 한다.
Prometheus 재시작 후 정상 스크래핑 여부 확인.
IIS 서비스 활성화를 확인하기 위해 wmi_exporter 도 따로 추가할 예정
wmi_exporter 설치 방법
1. wmi_exporter 다운로드
- 공식 GitHub 릴리즈 페이지 접속
- wmi_exporter-0.7.0-amd64.msi 다운로드
- 다운로드한 .msi 파일 더블클릭 → 설치
- 설치 옵션
- 설치 경로: 기본값 (C:\Program Files\wmi_exporter\)
- 포트: 9183번으로 바꿔야 한다 (windows_exporter는 9182 쓰고 있으니까)
2. 포트 다르게 해서 windows exporter 와 동시에 실행
wmi_exporter 포트를 9183으로 지정해서 설치 후, 서비스 수정
PowerShell 관리자 권한으로:
sc stop wmi_exporter
sc config wmi_exporter binPath= "\"C:\Program Files\wmi_exporter\wmi_exporter.exe\" --telemetry.addr=:9183 --collectors.enabled=service"
sc start wmi_exporter
- --telemetry.addr=:9183 → 9183 포트로 띄움
- --collectors.enabled=service → 서비스 상태만 수집하도록 collector 설정
- 즉, wmi_exporter는 서비스 상태만 가져오게 제한함. (IIS 서비스만 볼 거니까.)
서버에서 포트 개방 방법 (Windows 기준)
PowerShell 관리자 권한으로 실행:
New-NetFirewallRule -DisplayName "Allow wmi_exporter 9183" -Direction Inbound -Protocol TCP -LocalPort 9183 -Action Allow
- 9183 포트만 추가로 열어주면 된다.
- Hiware 접속이든 RDP 접속이든 포트 개방은 서버 방화벽 설정 기준이라 무조건 필요
- 만약 회사 네트워크 방화벽(외부-내부 사이 방화벽)이 또 존재하면
→ 네트워크팀에도 요청해서 9183 인바운드 허용해달라고 해야 한다.
3. Prometheus 타겟 등록 (9183 포트로)
prometheus.yml에 타겟 추가:
- job_name: 'wmi_exporter_service'
static_configs:
- targets: ['서버IP:9183']
기존 windows_exporter(9182)랑 따로 등록해야 한다.
4. Prometheus 쿼리로 IIS 서비스 상태 체크
wmi_exporter는 아래 메트릭을 제공한다:
wmi_service_status{service="W3SVC"}
W3SVC = IIS의 핵심 서비스 이름 (World Wide Web Publishing Service)
값 해석:
- wmi_service_status{service="W3SVC"} == 1 → 살아있음
- wmi_service_status{service="W3SVC"} == 0 → 죽음
반응형
'Monitoring > Prometheus' 카테고리의 다른 글
Alertmanager 다운로드 & 설치 (0) | 2025.04.28 |
---|---|
Alertmanager 메일 알림 기능 추가 (0) | 2025.04.28 |
windows_exporter ( 구: wmi_exporter ) 정의 (0) | 2025.04.28 |