Zabbix는 모니터링을 제공하는 오픈 소스로 서버, 네트워크 장비, 애플리케이션 등 다양한 환경을 모니터링할 수 있습니다.
zabbix_get은 수동으로 데이터를 확인하거나 에이전트와의 연결 상태를 점검하는 데 유용한 유틸리티입니다.
이번 글에서는 Zabbix 5.0 기준으로 zabbix_get의 사용법과 활용 사례를 자세히 설명하겠습니다.
1. zabbix_get이란 무엇인가?
zabbix_get은 Zabbix 에이전트에서 데이터를 수집할 때 사용하는 명령어 기반 유틸리티입니다.
주로 Zabbix 서버나 다른 클라이언트에서 에이전트가 수집하는 데이터를 수동으로 확인하거나 테스트할 때 사용됩니다.
이를 통해 Zabbix 서버가 에이전트로부터 데이터를 성공적으로 수신할 수 있는지 확인할 수 있습니다.
주요 특징
- 수동 데이터 수집: 특정 항목의 데이터를 Zabbix 에이전트로부터 직접 확인할 수 있습니다.
- 디버깅 도구: 네트워크 문제, 방화벽 설정, 에이전트 설정 오류 등을 점검할 때 유용합니다.
2. zabbix_get 설치 방법
zabbix_get은 기본적으로 Zabbix 서버, 프록시, 에이전트 설치 시 포함되지 않으며, 별도의 패키지로 제공됩니다.
필요할 경우 사용자가 직접 설치해야 합니다.
설치 방법
Ubuntu/Debian 계열
sudo apt update
sudo apt install zabbix-get
CentOS/RHEL 계열
sudo yum install zabbix-get
이렇게 설치하면 zabbix_get을 서버나 클라이언트 시스템에서 사용할 수 있습니다.
3. zabbix_get의 기본 사용법
zabbix_get의 기본 구문은 다음과 같습니다.
zabbix_get -s <에이전트 IP 주소> -k "<키>"
- -s : 데이터를 가져올 Zabbix 에이전트의 IP 주소 또는 도메인
- -k : 수집할 항목 키(item key)
예시:
zabbix_get -s 172.16.34.15 -p 10060 -k "system.cpu.load[avg1]"
이 명령은 IP 주소가 172.16.34.15 인 Zabbix 에이전트에서 1분 평균 CPU 로드 데이터를 반환합니다.
명령어 옵션
- -p <포트>: Zabbix 에이전트가 사용하는 포트를 지정할 수 있습니다. 기본값은 10050입니다.(생략가능)
- -I <인터페이스>: IP 버전 6을 사용할 때 인터페이스를 지정할 수 있습니다.
실행 결과 예시:
$ zabbix_get -s 172.16.34.15 -k "system.cpu.load[avg1]"
0.45
위 명령어는 에이전트에서 1분 평균 CPU 로드가 0.45임을 반환합니다.
4. zabbix_get의 주요 사용 사례
4.1 에이전트 연결 테스트
Zabbix 서버와 에이전트의 연결 상태를 점검할 때 zabbix_get을 이용해서 연결 상태가 정상적인지 확인하고 방화벽이나 네트워크 문제를 빠르게 파악할 수 있습니다.
zabbix_get -s 172.16.34.15 -k "agent.ping"
이 명령은 지정된 에이전트가 Zabbix 서버로부터의 요청에 응답할 수 있는지 확인합니다.
정상적으로 응답하면 1, 그렇지 않으면 빈 응답이나 에러가 반환됩니다.
4.2 특정 항목 값 확인
Zabbix 에이전트의 설정에서 특정 항목 값을 수집할 수 있는지 확인할 때 사용합니다.
메모리 사용량을 확인하려면 다음과 같이 실행할 수 있습니다.
zabbix_get -s 172.16.34.15 -k "vm.memory.size[available]"
이 명령은 사용 가능한 메모리 크기를 반환하여 시스템의 현재 상태를 점검할 수 있습니다.
4.3 문제 발생 시 디버깅
모니터링된 데이터가 Zabbix UI에 나타나지 않거나 예상과 다를 때, zabbix_get을 통해 문제를 진단할 수 있습니다.
이를 통해 항목 키가 올바른지, 에이전트가 데이터를 반환하는지 등을 직접 확인할 수 있습니다.
5. zabbix_get 사용 시 주의사항 및 팁
5.1 방화벽 및 보안 설정
Zabbix 에이전트의 기본 포트는 10050입니다. zabbix_get 명령이 제대로 동작하지 않는다면, 해당 포트가 방화벽에서 열려 있는지 확인해야 합니다. 추가로 외부에서의 접근을 허용할 경우에는 보안 정책을 강화해 데이터 유출을 방지해야 합니다.
5.2 에이전트 설정 확인
Zabbix 에이전트의 설정 파일인 zabbix_agentd.conf에서 Server 및 ServerActive 설정이 올바르게 구성되어 있는지 확인해야합니다. Server 옵션은 수신을 허용할 서버 IP를, ServerActive는 데이터를 전송할 서버 IP를 정의합니다.
5.3 스크립트와의 통합
zabbix_get을 스크립트에 통합하여 자동화된 데이터 수집 및 테스트를 구현할 수 있습니다.
이를 통해 주기적으로 Zabbix 에이전트 상태를 모니터링하거나 데이터 수집 여부를 확인할 수 있습니다.
#!/bin/bash
HOST="172.16.34.15"
ITEM="system.uptime"
RESPONSE=$(zabbix_get -s $HOST -k $ITEM)
if [ -z "$RESPONSE" ]; then
echo "데이터 수집 실패"
else
echo "에이전트 응답: $RESPONSE"
fi
이 스크립트는 에이전트의 system.uptime 데이터를 수집하고 결과를 출력합니다.
'Monitoring Tools' 카테고리의 다른 글
Monitoring Tools - Zabbix Agent2로 SSL 인증서 만료 모니터링 (0) | 2024.12.18 |
---|---|
Monitoring Tools - CentOS 8에 Zabbix 5.0 설치 및 한글 문제 해결 (0) | 2024.11.11 |
Monitoring Tools - Zabbix로 윈도우 암호 만료일 7일 전 알림 설정방법 (0) | 2024.11.06 |
Monitoring Tools - Zabbix로 Windows Server 메모리 사용량 체크하기 (0) | 2024.10.31 |
Monitoring Tools - Zabbix 웹 시나리오를 통해 웹 사이트 모니터링하기 (4) | 2024.10.30 |