원격 Windows 서버의 자원 모니터링을 위해 사용할 수 있는 다양한 방법과 도구가 있습니다.
그 중에서도 Invoke-Command를 활용하여 원격서버 자원 모니터링 하는 방법에 대해 공유하도록 하겠습니다.
1. 내 컴퓨터 자원 모니터링
(1) taskmgr
(2) resmon
2. 원격서버 자원 모니터링 (Invoke-Command)
(1) 자격 증명 저장 허용
원격 데스크톱 연결을 통해 자격 증명 저장 허용 (ID/PW)
(2) PowerShell에서 아래 명령어 순차적으로 실행
# 자격 증명 생성
$credential = Get-Credential
# 세션 옵션 설정
$sessionOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
# 원격 세션 생성 (IP 주소를 사용)
$remoteSession = New-PSSession -ComputerName "127.0.0.1" -Credential $credential -SessionOption $sessionOptions
# 원격 서버에서 여러 성능 카운터를 모니터링
Invoke-Command -Session $remoteSession -ScriptBlock {
Get-Counter -Counter @(
"\Processor(_Total)\% Processor Time",
"\Memory\Available MBytes",
"\LogicalDisk(_Total)\% Free Space"
)
}
# 세션 종료
Remove-PSSession $remoteSession
이 스크립트는 원격 서버의 CPU 사용량, 사용 가능한 메모리, 디스크 여유 공간을 모니터링합니다. 원격 서버의 IP 주소나 호스트 이름을 올바르게 입력하여 사용하면 됩니다.
이와 같이 New-PSSession과 Invoke-Command를 조합하여 원격 서버의 성능 데이터를 손쉽게 수집할 수 있습니다.
(3) ID/PW 및 기타 인증이 필요한 서버에서 아래와 같은 오류가 발생 시
New-PSSession : [XXX.XXX.XXX.XXX] 다음 오류 때문에 원격 서버 XXX.XXX.XXX.XXX에 연결하지 못했습니다. The WinRM client cannot process the request.
Default authentication may be used with an IP address under the following conditions: the transport is HTTPS or the de
stination is in the TrustedHosts list, and explicit credentials are provided. Use winrm.cmd to configure TrustedHosts.
Note that computers in the TrustedHosts list might not be authenticated. For more information on how to set TrustedHost
s run the following command: winrm help config. 자세한 내용은 about_Remote_Troubleshooting 도움말 항목을 참조하십시오.
해당 오류 메시지는 WinRM (Windows Remote Management) 클라이언트가 IP 주소를 사용하여 원격 서버에 연결하려고 할 때 발생하는 문제를 나타냅니다.
이를 해결하기 위해서는 원격 서버의 IP 주소를 TrustedHosts 목록에 추가하거나, HTTPS를 사용하여 연결해야 합니다.
# (1) 관리자 권한으로 PowerShell 실행
# (2) 현재 설정된 TrustedHosts 목록을 확인합니다.
Get-Item WSMan:\localhost\Client\TrustedHosts
# (3) TrustedHosts 목록에 IP 주소 추가
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "123.11.1.1" -Concatenate
# 여러 IP 주소를 추가하려면 쉼표로 구분하여 입력합니다.
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "123.11.1.1, 123.11.1.2" -Concatenate
3. 전문 모니터링 도구
(1) PRTG Network Monitor
네트워크 및 서버 모니터링 도구로, Windows 서버의 CPU, 메모리, 디스크 사용량 등을 실시간으로 모니터링할 수 있습니다.
설치가 쉽고 사용자 친화적인 인터페이스를 제공합니다.
(2) Nagios
오픈 소스 모니터링 도구로, 플러그인을 사용하여 Windows 서버를 모니터링할 수 있습니다. NRPE 또는 NCPA 에이전트를 설치하여 원격 모니터링을 수행할 수 있습니다.
(3) SolarWinds Server & Application Monitor
강력한 서버 모니터링 도구로, Windows 서버의 상태를 종합적으로 모니터링할 수 있습니다.
다양한 알림 및 대시보드 기능을 제공합니다.
Windows 서버의 자원 모니터링을 위해서는 기본적인 Windows 도구부터 시작해, PowerShell 스크립트, 전문 모니터링 소프트웨어, 클라우드 기반 솔루션 등 다양한 방법을 사용할 수 있습니다.
서버의 규모와 요구사항에 따라 적절한 도구를 선택하여 사용하면 효과적인 모니터링을 수행할 수 있습니다.
'#IT 개발노트' 카테고리의 다른 글
Java에서 WSDL을 기반으로 SOAP 웹 서비스의 request/response 클래스를 정의 (0) | 2024.10.04 |
---|---|
[DB] MSSQL 기본 쿼리 (테이블, 컬럼, 인덱스, 프로시저, DB Lock 조회) (0) | 2024.04.04 |
JavaScript(자바스크립트) 브라우저 객체 2탄 (0) | 2024.02.02 |
JavaScript(자바스크립트) 브라우저 객체 1탄 (0) | 2024.02.02 |
자주 사용되는 자바스크립트 이벤트 (0) | 2024.01.29 |