Zabbix External Script로 AWS Aurora 상태 모니터링 및 웹콘솔 매핑 활용법

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에서 아이템 생성

  1. Zabbix 관리 콘솔 접속
  2. 모니터링할 호스트 선택 또는 템플릿 편집
  3. 새 아이템 생성
필드
이름Aurora 상태
유형External check
aurora_status.sh
업데이트 간격60초 (필요에 따라 조정)
데이터 타입문자열 (Character)

4. Value Mapping 설정

  1. 관리(Administration) > 일반(General) > 값 매핑(Value mapping) 메뉴로 이동
  2. 매핑 생성(Create mapping) 클릭
  3. 이름: Aurora Status Mapping 등 적절히 지정
  4. 다음과 같이 상태 문자열과 표현을 매핑
매핑 값 (표현)
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)
  1. 저장 후 아이템 편집에서 위 매핑을 선택하여 적용

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가 설치 불가능한 관리형 서비스 모니터링에 적합한 방식으로, 안정적인 운영에 도움이 됩니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다