ServiceWatch Agent 설치하기
사용자는 Virtual Server에 ServiceWatch Agent를 설치하여 사용자 정의 지표와 로그를 수집할 수 있습니다.
ServiceWatch Agent
Virtual Server에 ServiceWatch의 사용자 정의 지표 및 로그 수집을 위해 설치해야 하는 Agent는 크게 2가지로 나눌 수 있습니다. Prometheus Exporter와 Open Telemetry Collector 입니다.
| 구분 | 상세 설명 | |
|---|---|---|
| Prometheus Exporter | 특정 애플리케이션이나 서비스의 메트릭을 Prometheus가 스크랩(scrape)할 수 있는 형식으로 제공
| |
| Open Telemetry Collector | 분산 시스템의 메트릭, 로그와 같은 텔레메트리 데이터를 수집하고, 처리(필터링, 샘플링 등)한 후, 여러 백엔드(예: Prometheus, Jaeger, Elasticsearch 등)로 내보내는 중앙 집중식 수집기 역할
|
Virtual Server를 위한 Prometheus Exporter 설치 (for Linux)
Linux 서버에서 사용하기 위해 Prometheus Exporter를 아래의 순서에 따라 설치합니다.
Node Exporter 설치
아래의 순서에 따라 Node Exporter를 설치합니다.
Node Exporter User 생성
Node Exporter 프로세스를 안전하게 격리하기 위한 전용 사용자를 생성합니다.
sudo useradd --no-create-home --shell /bin/false node_exportersudo useradd --no-create-home --shell /bin/false node_exporterNode Exporter 설정
- Node Exporter 설치를 위해 다운로드합니다.
해당 가이드에서는 아래 버전으로 안내합니다.
- 다운로드 경로: /tmp
- 설치 버전: 1.7.0배경색 변경
cd /tmp wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gzcd /tmp wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz코드블록. Node Exporter 다운로드 명령어
다운로드 받은 Node Exporter 설치하고 실행 파일에 권한을 부여합니다.
배경색 변경cd /tmp sudo tar -xvf node_exporter-1.7.0.linux-amd64.tar.gz -C /usr/local/bin --strip-components=1 node_exporter-1.7.0.linux-amd64/node_exportercd /tmp sudo tar -xvf node_exporter-1.7.0.linux-amd64.tar.gz -C /usr/local/bin --strip-components=1 node_exporter-1.7.0.linux-amd64/node_exporter코드블록. Node Exporter 설치 명령어 배경색 변경sudo chown node_exporter:node_exporter /usr/local/bin/node_exportersudo chown node_exporter:node_exporter /usr/local/bin/node_exporter코드블록. Node Exporter 권한 설정 명령어 서비스 파일 생성 Node Exporter를 메모리 메트릭(meminfo) 또는 블록 스토리지 메트릭(filesystem) 수집하도록 설정합니다.
배경색 변경sudo vi /etc/systemd/system/node_exporter.servicesudo vi /etc/systemd/system/node_exporter.service코드블록. Node Exporter 서비스 파일 열기 명령어 배경색 변경[Unit] Description=Prometheus Node Exporter (meminfo only) Wants=network-online.target After=network-online.target [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter \ --collector.disable-defaults \ # 기본 제공 메트릭 비활성화 --collector.meminfo \ # 메모리 메트릭 활성화 --collector.filesystem # Block Storage 파일 시스템 메트릭 활성화 Restart=on-failure [Install] WantedBy=multi-user.target[Unit] Description=Prometheus Node Exporter (meminfo only) Wants=network-online.target After=network-online.target [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter \ --collector.disable-defaults \ # 기본 제공 메트릭 비활성화 --collector.meminfo \ # 메모리 메트릭 활성화 --collector.filesystem # Block Storage 파일 시스템 메트릭 활성화 Restart=on-failure [Install] WantedBy=multi-user.target코드블록. Node Exporter 서비스 파일 열기 결과
collector는 플래그를 사용하여 활성화/비활성화 설정할 수 있습니다.
–collector.{name}: 특정 메트릭을 활성화할 때 사용합니다.–no-collector.{name}: 특정 메트릭을 비활성화할 수 있습니다.- 기본적으로 제공하는 메트릭을 모두 비활성화하고 특정 수집기만 활성화하려면
–collector.disable-defaults –collector.{name} …와 같이 사용할 수 있습니다.
아래는 주요 collector 설명입니다.
| Collector | 설명 | 라벨 |
|---|---|---|
| meminfo | 메모리 통계 제공 | - |
| filesystem | 사용된 디스크 공간과 같은 파일 시스템 통계 제공 |
|
- Node Exporter 지표에서 Node Exporter에서 제공하는 주요 지표와 Node Exporter Collector 설정 방법을 확인할 수 있습니다.
- 수집 가능한 메트릭과 설정 방법에 대한 자세한 내용은 Node Exporter > Collector에서 확인할 수 있습니다.
- 사용하는 Node Exporter의 버전에 따라 제공 가능한 메트릭이 상이할 수 있습니다. Node Exporter을 참고하세요.
- 서비스 활성화 및 시작
Node Exporter 서비스를 등록하고 등록된 서비스와 설정한 메트릭을 확인합니다.배경색 변경
sudo systemctl daemon-reload sudo systemctl enable --now node_exportersudo systemctl daemon-reload sudo systemctl enable --now node_exporter코드블록. Node Exporter 서비스 활성화 및 시작 명령어 배경색 변경sudo systemctl status node_exportersudo systemctl status node_exporter코드블록. Node Exporter 서비스 확인 명령어 배경색 변경curl http://localhost:9100/metrics | grep node_memorycurl http://localhost:9100/metrics | grep node_memory코드블록. Node Exporter 메트릭 정보 확인 명령어
자세한 내용은 ServiceWatch > ServiceWatch Agent 사용하기 참고하세요.
Virtual Server를 위한 Prometheus Exporter 설치 (for Windows)
Windows 서버에서 Prometheus Exporter를 사용하기 위해 아래의 순서에 따라 설치합니다.
Windows Exporter 설치
아래의 순서에 따라 Windows Exporter를 설치합니다.
Windows Exporter 설정
- Windows Exporter 설치를 위해 설치 파일을 다운로드합니다.
- 다운로드 경로: C:\Temp
- 테스트 버전: 0.31.3배경색 변경
$ mkdir /Temp $ Invoke-WebRequest -Uri "https://github.com/prometheus-community/windows_exporter/releases/download/v0.31.3/windows_exporter-0.31.3-amd64.exe" -OutFile "C:\Temp\windows_exporter-0.31.3-amd64.exe"$ mkdir /Temp $ Invoke-WebRequest -Uri "https://github.com/prometheus-community/windows_exporter/releases/download/v0.31.3/windows_exporter-0.31.3-amd64.exe" -OutFile "C:\Temp\windows_exporter-0.31.3-amd64.exe"코드블록. Windows Exporter 다운로드
- Windows Exporter 실행 테스트
Windows Exporter는 기본적으로 모든 컬렉터를 활성화하지만, 원하는 메트릭만 수집하려면 다음 컬렉터를 활성화해야 합니다. 다음은 사용자가 지정한 컬렉터를 활성화하는 예제입니다.- 메모리 메트릭: memory
- 블록 스토리지 메트릭: local_disk
- Host name: os배경색 변경
$ cd C:\Temp $ .\windows_exporter-0.31.3-amd64.exe --collectors.enabled memory,logical_disk,os$ cd C:\Temp $ .\windows_exporter-0.31.3-amd64.exe --collectors.enabled memory,logical_disk,os코드블록. Windows Exporter 실행 테스트
collector는 플래그를 사용하여 활성화 설정할 수 있습니다.
–collectors.enabled “[defaults]"기본적으로 제공하는 메트릭–collector.enabled {name},{name},{name}…: 특정 메트릭을 활성화할 때 사용합니다.
아래는 주요 collector 설명입니다.
| Collector | 설명 | 라벨 |
|---|---|---|
| memory | 메모리 통계 제공 | |
| logical_disk | 로컬 시스템의 논리적 디스크(예: C:, D: 드라이브) 성능 및 상태 메트릭을 수집 |
|
- Windows Exporter 지표에서 Windows Exporter에서 제공하는 주요 지표와 Windows Exporter Collector 설정 방법을 확인할 수 있습니다.
수집 가능한 메트릭과 설정 방법에 대한 자세한 내용은 Windows Exporter > Collector에서 확인할 수 있습니다.
사용하는 Windoes Exporter의 버전에 따라 제공 가능한 메트릭이 상이할 수 있습니다. Windows Exporter을 참고하세요.
서비스 등록 및 확인 Windows Exporter의 서비스를 등록하고 설정한 메트릭을 확인합니다.
배경색 변경$ sc.exe create windows_exporter binPath= "C:\Temp\windows_exporter-0.31.3-amd64.exe --collectors.enabled memory,logical_disk,os" DisplayName= "Prometheus Windows Exporter" start= auto $ Start-Service windows_exporter$ sc.exe create windows_exporter binPath= "C:\Temp\windows_exporter-0.31.3-amd64.exe --collectors.enabled memory,logical_disk,os" DisplayName= "Prometheus Windows Exporter" start= auto $ Start-Service windows_exporter코드블록. Windows Exporter 서비스 등록 배경색 변경# 서비스 확인 $ Get-Service windows_exporter # 메트릭 확인 $ Invoke-WebRequest -Uri "http://localhost:9182/metrics" | Select-String memory# 서비스 확인 $ Get-Service windows_exporter # 메트릭 확인 $ Invoke-WebRequest -Uri "http://localhost:9182/metrics" | Select-String memory코드블록. Windows Exporter 서비스 확인 구성 파일 설정
–config.file옵션을 사용하여 YAML 구성 파일을 사용하도록 설정할 수 있습니다.배경색 변경$ .\windows_exporter.exe --config.file=config.yml $ .\windows_exporter.exe --config.file="C:\Program Files\windows_exporter\config.yml" # 절대 경로를 사용하는 경우 경로를 따옴표로 묶어야 합니다.$ .\windows_exporter.exe --config.file=config.yml $ .\windows_exporter.exe --config.file="C:\Program Files\windows_exporter\config.yml" # 절대 경로를 사용하는 경우 경로를 따옴표로 묶어야 합니다.코드블록. Windows Exporter 구성 파일 설정 배경색 변경collectors: enabled: cpu,net,service collector: service: include: windows_exporter log: level: warncollectors: enabled: cpu,net,service collector: service: include: windows_exporter log: level: warn코드블록. Windows Exporter 구성 파일 일부 예시 - Windows Exporter > 구성 파일 공식 예시 파일을 참고하세요.배경색 변경
--- # Note this is not an exhaustive list of all configuration values collectors: enabled: cpu,logical_disk,net,os,service,system collector: service: include: "windows_exporter" scheduled_task: include: /Microsoft/.+ log: level: debug scrape: timeout-margin: 0.5 telemetry: path: /metrics web: listen-address: ":9182"--- # Note this is not an exhaustive list of all configuration values collectors: enabled: cpu,logical_disk,net,os,service,system collector: service: include: "windows_exporter" scheduled_task: include: /Microsoft/.+ log: level: debug scrape: timeout-margin: 0.5 telemetry: path: /metrics web: listen-address: ":9182"코드블록. Windows Exporter 구성 파일 예시 - 구성 파일을 이용하여 서비스 등록하기 위해서 아래를 참고하세요.배경색 변경
$ sc.exe create windows_exporter binPath= "C:\Temp\windows_exporter-0.31.3-amd64.exe --config.file=C:\Temp\config.yml" DisplayName= "Prometheus Windows Exporter" start= auto $ Start-Service windows_exporter$ sc.exe create windows_exporter binPath= "C:\Temp\windows_exporter-0.31.3-amd64.exe --config.file=C:\Temp\config.yml" DisplayName= "Prometheus Windows Exporter" start= auto $ Start-Service windows_exporter코드블록. Windows Exporter 구성 파일을 이용한 서비스 등록
자세한 내용은 ServiceWatch > ServiceWatch Agent 사용하기 참고하세요.
Node Exporter 지표
Node Exporter 주요 지표
아래는 Node Exporter를 통해 확인할 수 있는 Collector와 지표 정보입니다. Collector로 설정할 수도 있고, 특정 지표만 활성화할 수 있습니다.
| 구분 | Collector | Metric | Description |
|---|---|---|---|
| Memory | meminfo | node_memory_MemTotal_bytes | 전체 메모리 |
| Memory | meminfo | node_memory_MemAvailable_bytes | 사용 가능한 메모리(메모리 부족 여부를 판단하기 위해 사용) |
| Memory | meminfo | node_memory_MemFree_bytes | Free 메모리(비어 있는 메모리) |
| Memory | meminfo | node_memory_Buffers_bytes | IO 버퍼 |
| Memory | meminfo | node_memory_Cached_bytes | 페이지 캐시 |
| Memory | meminfo | node_memory_SwapTotal_bytes | 전체 스왑 |
| Memory | meminfo | node_memory_SwapFree_bytes | 남은 스왑 |
| Filesystem | filesystem | node_filesystem_size_bytes | 파일 시스템 전체 크기 |
| Filesystem | filesystem | node_filesystem_free_bytes | 전체 여유 공간(total free space) |
| Filesystem | filesystem | node_filesystem_avail_bytes | 사용자가 실제로 사용 가능한 공간(available space for unprivileged users) |
Node Exporter Collector 및 지표 수집 설정
Node Exporter는 기본적으로 대부분의 collector가 활성화되지만, 원하는 collector만 활성화/비활성화 설정할할 수 있습니다.
특정 Collector만 활성화
- 메모리, 파일 시스템 Collector만 사용하고 싶을 때:배경색 변경
./node_exporter --collector.meminfo # 메모리 Collector 활성화 --collector.filesystem # 파일 시스템 Collector 활성화./node_exporter --collector.meminfo # 메모리 Collector 활성화 --collector.filesystem # 파일 시스템 Collector 활성화코드블록. Node Exporter 특정 Collector 활성화 - Default 설정은 모두 해제하고 메모리, 파일 시스템 Collector만 사용하고 싶을 때:배경색 변경
./node_exporter --collector.disable-defaults # 기본 제공 메트릭 비활성화 --collector.meminfo # 메모리 Collector 활성화 --collector.filesystem # 파일 시스템 Collector 활성화./node_exporter --collector.disable-defaults # 기본 제공 메트릭 비활성화 --collector.meminfo # 메모리 Collector 활성화 --collector.filesystem # 파일 시스템 Collector 활성화코드블록. Node Exporter 특정 Collector 활성화 - 특정 마운트 지점에 대한 파일 시스템 Collector 활성화배경색 변경
./node_exporter --collector.disable-defaults # 기본 제공 메트릭 비활성화 --collector.filesystem.mount-points-include="/|/data" # /(Root)와 /data 마운트 지점에 대한 파일 시스템 Collector 활성화./node_exporter --collector.disable-defaults # 기본 제공 메트릭 비활성화 --collector.filesystem.mount-points-include="/|/data" # /(Root)와 /data 마운트 지점에 대한 파일 시스템 Collector 활성화코드블록. Node Exporter 특정 Collector 활성화 - 특정 마운트 지점을 제외한 파일 시스템 Collector 활성화배경색 변경
./node_exporter --collector.disable-defaults # 기본 제공 메트릭 비활성화 --collector.filesystem.mount-points-exclude="/boot|/var/log" # /boot와 /var/log 마운트 지점에 대한 파일 시스템 Collector 활성화./node_exporter --collector.disable-defaults # 기본 제공 메트릭 비활성화 --collector.filesystem.mount-points-exclude="/boot|/var/log" # /boot와 /var/log 마운트 지점에 대한 파일 시스템 Collector 활성화코드블록. Node Exporter 특정 Collector 활성화
특정 Collector 비활성화 (no-collector)
파일 시스템 collector를 사용하고 싶지 않을때:
./node_exporter --no-collector.filesystem./node_exporter --no-collector.filesystemSystemd 서비스로 Collector 구성 (권장)
[Unit]
Description=Node Exporter
After=network-online.target
[Service]
User=nodeexp
ExecStart=/usr/local/bin/node_exporter
--collector.disable-defaults # 기본 제공 메트릭 collector 모두 비활성화
--collector.meminfo
--collector.filesystem
[Install]
WantedBy=multi-user.target[Unit]
Description=Node Exporter
After=network-online.target
[Service]
User=nodeexp
ExecStart=/usr/local/bin/node_exporter
--collector.disable-defaults # 기본 제공 메트릭 collector 모두 비활성화
--collector.meminfo
--collector.filesystem
[Install]
WantedBy=multi-user.target특정 지표만 필터링하는 방법
Open Telemetry Collector 설정을 통해서 Node Exporter로부터 수집한 지표 중 필요한 것만 선택해서 수집하도록 설정할 수 있습니다. Node Exporter의 특정 Collector에서 제공하는 지표 중에 특정 지표만 수집하고자 할 때, ServiceWatch를 위한 Open Telemetry Collector 사전 설정을 참고할 수 있습니다.
Windows Exporter 지표
Windows Exporter 주요 지표
아래는 Windows Exporter를 통해 확인할 수 있는 Collector와 지표 정보입니다. Collector로 설정할 수도 있고, 특정 지표만 활성화할 수 있습니다.
| 구분 | Collector | 지표명 | 설명 |
|---|---|---|---|
| Memory | memory | windows_memory_available_bytes | 사용 가능한 메모리 |
| Memory | memory | windows_memory_cache_bytes | 캐시 메모리 |
| Memory | memory | windows_memory_committed_bytes | 커밋된 메모리 |
| Memory | memory | windows_memory_commit_limit | 커밋 한도 |
| Memory | memory | windows_memory_pool_paged_bytes | paged pool |
| Memory | memory | windows_memory_pool_nonpaged_bytes | non-paged pool |
| 디스크 정보 | logical_disk | windows_logical_disk_free_bytes | 남은 용량 |
| 디스크 정보 | logical_disk | windows_logical_disk_size_bytes | 전체 용량 |
| 디스크 정보 | logical_disk | windows_logical_disk_read_bytes_total | 읽기 바이트 수 |
| 디스크 정보 | logical_disk | windows_logical_disk_write_bytes_total | 쓰기 바이트 수 |
| 디스크 정보 | logical_disk | windows_logical_disk_read_seconds_total | 읽기 latency |
| 디스크 정보 | logical_disk | windows_logical_disk_write_seconds_total | 쓰기 latency |
| 디스크 정보 | logical_disk | windows_logical_disk_idle_seconds_total | idle 시간 |
Windows Exporter Collector 및 지표 수집 설정
Windows Exporter는 기본적으로 대부분의 collector가 활성화되지만, 원하는 collector만 설정할할 수 있습니다.
특정 Collector만 활성화
CPU, 메모리, 논리 디스크만 사용하고 싶을 때:
# --collector.enabled 옵션은 기본값을 비활성화하고, 표기한 Collector만 활성화
.\windows_exporter.exe --collectors.enabled="memory,logical_disk" # --collector.enabled 옵션은 기본값을 비활성화하고, 표기한 Collector만 활성화
.\windows_exporter.exe --collectors.enabled="memory,logical_disk" –collector.enabled를 사용하면 해당 옵션에 기재된 collector에 대해서만 수집됩니다.서비스로 Collector 구성 (권장)
# windows_exporter 를 서비스로 등록
sc.exe create windows_exporter binPath= "C:\Temp\windows_exporter-0.31.3-amd64.exe --config.file=C:\Temp\config.yml" DisplayName= "Prometheus Windows Exporter" start= auto
# 서비스 시작
Start-Service windows_exporter# windows_exporter 를 서비스로 등록
sc.exe create windows_exporter binPath= "C:\Temp\windows_exporter-0.31.3-amd64.exe --config.file=C:\Temp\config.yml" DisplayName= "Prometheus Windows Exporter" start= auto
# 서비스 시작
Start-Service windows_exporter# Note this is not an exhaustive list of all configuration values
collectors:
enabled: logical_disk,memory # 활성화할 collector 설정
collector:
service:
include: "windows_exporter"
scheduled_task:
include: /Microsoft/.+
log:
level: debug
scrape:
timeout-margin: 0.5
telemetry:
path: /metrics
web:
listen-address: ":9182"# Note this is not an exhaustive list of all configuration values
collectors:
enabled: logical_disk,memory # 활성화할 collector 설정
collector:
service:
include: "windows_exporter"
scheduled_task:
include: /Microsoft/.+
log:
level: debug
scrape:
timeout-margin: 0.5
telemetry:
path: /metrics
web:
listen-address: ":9182"특정 지표만 필터링하는 방법
Open Telemetry Collector 설정을 통해서 Windows Exporter로부터 수집한 지표 중 필요한 것만 선택해서 수집하도록 설정할 수 있습니다. Windows Exporter의 특정 Collector에서 제공하는 지표 중에 특정 지표만 수집하고자 할 때, ServiceWatch를 위한 Open Telemetry Collector 사전 설정을 참고할 수 있습니다.