1. 개요
AWS Aurora는 관리형 DB 서비스라 Zabbix Agent 설치가 불가능합니다.
따라서 Zabbix Server에서 AWS CLI를 이용해 외부 스크립트로 Aurora 상태를 조회하고, Zabbix 웹콘솔의 Value Mapping 기능을 활용해 상태 문자열을 친숙하게 표현하는 방법을 소개합니다.
2. Aurora 상태 조회용 External Script 작성
아래 스크립트를 Zabbix Server의 /var/lib/zabbix/externalscripts/
폴더에 저장합니다.
#!/bin/bash
# /var/lib/zabbix/externalscripts/aurora_status.sh
DB_INSTANCE_ID="my-aurora-instance"
REGION="ap-northeast-2"
STATUS=$(aws rds describe-db-instances \
--db-instance-identifier "$DB_INSTANCE_ID" \
--region "$REGION" \
--query 'DBInstances[0].DBInstanceStatus' \
--output text)
echo "$STATUS"
- AWS CLI가 설치되어 있어야 하며,
- Zabbix Server가 이 스크립트를 실행할 권한과 환경(IAM Role 또는 AWS 자격증명)을 갖추고 있어야 합니다.
실행 권한 부여:
chmod +x /var/lib/zabbix/externalscripts/aurora_status.sh
3. Zabbix 웹 UI에서 아이템 생성
- Zabbix 관리 콘솔 접속
- 모니터링할 호스트 선택 또는 템플릿 편집
- 새 아이템 생성
필드 | 값 |
---|---|
이름 | Aurora 상태 |
유형 | External check |
키 | aurora_status.sh |
업데이트 간격 | 60초 (필요에 따라 조정) |
데이터 타입 | 문자열 (Character) |
4. Value Mapping 설정
- 관리(Administration) > 일반(General) > 값 매핑(Value mapping) 메뉴로 이동
- 매핑 생성(Create mapping) 클릭
- 이름:
Aurora Status Mapping
등 적절히 지정 - 다음과 같이 상태 문자열과 표현을 매핑
값 | 매핑 값 (표현) |
---|---|
available | 정상 (Available) |
backing-up | 백업 중 (Backing-up) |
creating | 생성 중 (Creating) |
deleting | 삭제 중 (Deleting) |
failed | 실패 (Failed) |
incompatible-credentials | 인증 불일치 |
incompatible-network | 네트워크 불일치 |
incompatible-parameter-group | 파라미터 그룹 불일치 |
incompatible-subnet | 서브넷 불일치 |
maintenance | 유지보수 중 (Maintenance) |
modifying | 수정 중 (Modifying) |
rebooting | 재부팅 중 (Rebooting) |
renaming | 이름 변경 중 (Renaming) |
resetting-master-credentials | 마스터 크리덴셜 재설정 중 |
storage-full | 저장 공간 부족 (Storage full) |
unknown | 알 수 없음 (Unknown) |
- 저장 후 아이템 편집에서 위 매핑을 선택하여 적용
5. 장점 및 활용
- Zabbix Server가 직접 AWS API를 호출하므로 별도 에이전트 설치 불필요
- 문자열 상태를 그대로 저장해 가독성 및 디버깅 용이
- 웹콘솔 Value Mapping으로 상태를 직관적으로 표시
- Grafana 등 외부 시각화 도구 연동 시 상태 문자열을 바로 활용 가능
6. IAM 권한 및 AWS CLI 환경 설정 팁
- Zabbix Server가 설치된 서버에 AWS CLI 설치
- 최소 권한 정책:
rds:DescribeDBInstances
권한 부여 - IAM Role을 사용하면 보안성과 관리가 편리
aws configure
또는 환경변수로 자격증명 설정
7. 마무리
이번 글에서는 Zabbix External Script를 활용해 AWS Aurora 상태를 모니터링하고, 웹콘솔 Value Mapping을 이용해 상태 표현을 개선하는 방법을 다뤘습니다.
Agent가 설치 불가능한 관리형 서비스 모니터링에 적합한 방식으로, 안정적인 운영에 도움이 됩니다.