Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 머신

VMware ESXi 호스트에서 SNMP 활성화 및 구성하는 방법 (완벽 가이드)

모니터링 시스템에서 VMware ESXi 서버의 상태를 확인하려면 호스트에 SNMP 에이전트를 구성해야 합니다. 이 글에서는 VMware ESXi 6.7에서 SNMP를 활성화하고 구성하는 방법을 단계별로 소개합니다(ESXi 5.5 이상 버전에도 동일하게 적용됩니다).

ESXi에는 SNMP 요청과 트랩(trap)을 주고받을 수 있는 내장 SNMP 에이전트가 포함되어 있습니다. ESXi 호스트에서 SNMP 에이전트는 vCLI 또는 PowerCLI를 통해 활성화할 수 있으며, vSphere 클라이언트 GUI에서는 직접 구성할 수 없다는 점에 유의하세요.

VMware ESXi의 SNMP 서비스 확인

vSphere 웹 인터페이스에서는 'SNMP Server' 서비스가 실행 중인지 확인하거나, 시작 옵션을 변경하거나, 서비스를 시작/중지하는 작업만 가능합니다. ESXi 호스트 → 구성(Configure)서비스(Services)SNMP Server로 이동하세요. 이 서비스는 기본적으로 중지되어 있으므로 시작해야 합니다.

VMware ESXi 호스트에서 SNMP 활성화 및 구성하는 방법 (완벽 가이드)

ESXi 호스트에서 SSH 접근을 활성화한 뒤, SSH 클라이언트(예: Windows 10 내장 SSH 클라이언트)로 접속합니다.

현재 SNMP 설정을 확인하려면 다음 명령어를 실행합니다:

esxcli system snmp get

VMware ESXi 호스트에서 SNMP 활성화 및 구성하는 방법 (완벽 가이드)

SNMP가 아직 구성되지 않은 상태라면 모든 파라미터가 비어 있고 에이전트도 비활성화되어 있습니다:

Authentication:
Communities:
Enable: false
Engineid:
Hwsrc: indications
Largestorage: true
Loglevel: info
Notraps:
Port: 161
Privacy:
Remoteusers:
Syscontact:
Syslocation:
Targets:
Users:
V3targets:

ESXi에서 SNMP 에이전트 파라미터 구성

모니터링 서버의 IP 주소(SNMP 타깃), 포트(기본값: UDP 161), SNMP 커뮤니티 이름(일반적으로 public)을 지정합니다:

esxcli system snmp set --targets=192.168.99.99@161/public

커뮤니티 이름만 별도로 설정할 수도 있습니다:

esxcli system snmp set --communities YOUR_COMMUNITY_STRING

추가로 장비의 물리적 위치 정보를 지정할 수 있습니다:

esxcli system snmp set --syslocation "Allee 16, Mun, DE"

관리자 연락처 정보도 함께 등록하면 관리에 유용합니다:

esxcli system snmp set --syscontact admin@woshub.com

이제 ESXi 호스트에서 SNMP 서비스를 활성화합니다:

esxcli system snmp set --enable true

SNMP 구성을 테스트하려면 다음 명령어를 사용합니다:

esxcli system snmp test

VMware ESXi 호스트에서 SNMP 활성화 및 구성하는 방법 (완벽 가이드)

설정을 적용하려면 SNMP 에이전트를 재시작합니다:

/etc/init.d/snmpd restart

VMware ESXi 호스트에서 SNMP 활성화 및 구성하는 방법 (완벽 가이드)

현재 설정을 초기화하려면 다음 명령어를 사용합니다:

esxcli system snmp set –r

SNMP를 비활성화하려면:

esxcli system snmp set --disable true

SNMP 트래픽을 위한 ESXi 방화벽 구성

ESXi 호스트 방화벽에서 SNMP 트래픽을 허용하는 방법은 두 가지입니다. 네트워크상의 모든 장치에서 오는 SNMP 요청을 허용하려면:

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true

보안을 강화하려면 모니터링 서버의 IP 주소 또는 SNMP 서버가 위치한 IP 대역에서 들어오는 트래픽만 허용하는 것이 좋습니다:

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.100.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true

이제 SNMP를 통해 VMware ESXi 호스트를 모니터링할 수 있습니다.

PowerCLI로 여러 ESXi 호스트의 SNMP 설정 변경하기

여러 ESXi 호스트의 SNMP 파라미터를 빠르게 구성하려면 아래 PowerCLI 스크립트를 활용할 수 있습니다:

$ESXi = 'mun-esxi01'
$Community = 'Public'
$Target = '192.168.99.99'
$Port = '161'

# ESXi 호스트에 연결
Connect-VIServer -Server $sESXiHost
# 기존 SNMP 설정 초기화
Get-VMHostSnmp | Set-VMHostSnmp -ReadonlyCommunity @()
# SNMP 파라미터 구성
Get-VMHostSnmp | Set-VMHostSnmp -Enabled:$true -AddTarget -TargetCommunity $Community -TargetHost $Target -TargetPort $Port -ReadOnlyCommunity $Community
# 현재 SNMP 파라미터 출력
$Cmd= Get-EsxCli -VMHost $ESXiHost
$Cmd.System.Snmp.Get()

참고로 VMware Enterprise Plus 라이선스를 보유하고 있다면 Host Profiles(관리 → Host Profiles → 프로필 선택 → SNMP Agent Configuration)를 통해 ESXi 호스트들의 SNMP 파라미터를 일괄 구성할 수도 있습니다.

VMware ESXi SNMPv3 구성 방법

앞서 ESXi 호스트에서 SNMP v1/v2 에이전트를 활성화하고 구성하는 방법을 살펴봤습니다. ESXi 5.1부터는 더 안전한 최신 프로토콜 버전인 SNMPv3를 사용할 수 있습니다. 보다 강력한 인증과 암호화가 필요하다면 다음 명령어로 SNMPv3를 구성하세요.

먼저 인증 및 암호화 프로토콜을 설정합니다:

esxcli system snmp set -a MD5 -x AES128

인증 및 암호화 비밀번호의 해시를 생성합니다(authpassprivhash를 실제 비밀번호로 교체):

esxcli system snmp hash --auth-hash authpass --priv-hash privhash --raw-secret

생성된 해시(authhash, privhash)를 사용해 사용자를 추가합니다:

esxcli system snmp set -e yes -C snmp@woshub.com -u snmpuser/authhash/privhash/priv

그다음 SNMP 타깃 주소를 지정합니다:

esxcli system snmp set –v3targets 192.168.99.99@161/user/priv/trap

리눅스의 snmpwalk 도구를 사용하면 원격지에서 SNMP 구성을 검증할 수 있습니다:

snmpwalk -v3 -u snmpuser -l AuthPriv -a SHA -A P@ssw0rd1 -x AES-X P@ssword2 192.168.1.120