간혹 Zabbix 또는 Nagios에서 커스터마이징해서 활용할 CloudWatch 체크 스크립트가
필요할때 아래 샘플을 변형하여 사용하실수 있습니다.
간단히 코맨트 해놓을께요.
대상이 ELB일 경우 사용 예
# ./get_cloudwatch.sh [ProfileName] RequestCount 1 60 ap-northeast-1 AWS/ELB Sum LoadBalancerName [ELBName]
대상이 EC2일 경우 사용 예
# ./get_cloudwatch.sh [ProfileName] CPUUtilization 10 300 ap-northeast-1 AWS/EC2 Maximum InstanceId [InstanceName]
#!/bin/bash
export HOME=[PROFILE_HOME_PATH]
config=$1 #프로파일네임
metric=$2 #CloudWatch 매트릭네임
minute=$3 #과거로부터 현재까지 데이터를 수집할 시간
period=$4 #수집 주기
region=$5 #Region
namespace=$6 #CloudWatch 네임스페이스
statistics= $7 #수집할 Statistics
dimensionkey=$8 #Dimension Key
dimensionvalue=$9 #Dimension Value
result=$(
aws cloudwatch get-metric-statistics --profile ${config} \
--metric-name ${metric} \
--namespace ${namespace} \
--region ${region} \
--start-time `date -u +%Y-%m-%dT%H:%M:%SZ -d "${minute} minute ago"` \
--end-time `date -u +%Y-%m-%dT%H:%M:%SZ` \
--period ${period} \
--statistics ${statistics} \
--dimension "Name=${dimensionkey}, Value=${dimensionvalue}" \
--output text \
| sort -k3 | tail -1 | cut -f 2
)
printf '%.5f' ${result}
exit 1
Return Value를 Float로 해놓았으니 Zabbix 등에서 수집데이터 유형도 Float로 하셔야 합니다.
댓글 없음:
댓글 쓰기