Module erlcloud_mon

AWS CloudWatch erlang binding (the CLI SDK uses "mon_" prefix).

Copyright © 2011 Zvi Avraham

Authors: Zvi Avraham (zvi-AT-nivertech-DOT-com).

Description

AWS CloudWatch erlang binding (the CLI SDK uses "mon_" prefix)

Function Index

configure/2
configure/3
configure_host/3
describe_alarms_for_metric/2CloudWatch API - DescribeAlarmsForMetric https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmsForMetric.html
describe_alarms_for_metric/7CloudWatch API - DescribeAlarmsForMetric https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmsForMetric.html
describe_alarms_for_metric/8
get_alarm_state/1CloudWatch API - check alarm state using DescribeAlarms query https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html
get_alarm_state/2
get_metric_statistics/4CloudWatch API - GetMetricStatistics - Easy average version Gets average and max stats at 60 second intervals for the given metric on the given instance for the given interval.
get_metric_statistics/8CloudWatch API - GetMetricStatistics http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_GetMetricStatistics.html
get_metric_statistics/9
list_metrics/4CloudWatch API - ListMetrics http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_ListMetrics.html
list_metrics/5
new/2
new/3
put_metric_data/2CloudWatch API - PutMetricData http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_PutMetricData.html &MetricData.member.1.MetricName=buffers &MetricData.member.1.Unit=Bytes &MetricData.member.1.Value=231434333 &MetricData.member.1.Dimensions.member.1.Name=InstanceID &MetricData.member.1.Dimensions.member.1.Value=i-aaba32d4 &MetricData.member.1.Dimensions.member.2.Name=InstanceType &MetricData.member.1.Dimensions.member.2.Value=m1.small &MetricData.member.2.MetricName=latency &MetricData.member.2.Unit=Milliseconds &MetricData.member.2.Value=23 &MetricData.member.2.Dimensions.member.1.Name=InstanceID &MetricData.member.2.Dimensions.member.1.Value=i-aaba32d4 &MetricData.member.2.Dimensions.member.2.Name=InstanceType &MetricData.member.2.Dimensions.member.2.Value=m1.small
put_metric_data/3
put_metric_data/5CloudWatch API - PutMetricData http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_PutMetricData.html
put_metric_data/6
test/0
test2/0

Function Details

configure/2

configure(AccessKeyID::string(), SecretAccessKey::string()) -> ok

configure/3

configure(AccessKeyID::string(), SecretAccessKey::string(), Host::string()) -> ok

configure_host/3

configure_host(Host, Port, Protocol) -> any()

describe_alarms_for_metric/2

describe_alarms_for_metric(Namespace::string(), MetricName::string()) -> term()

CloudWatch API - DescribeAlarmsForMetric https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmsForMetric.html

USAGE:

erlcloud_mon:describe_alarms_for_metric("AWS/EC2", "NetworkIn"). [[{metric_name,"NetworkIn"}, {namespace,"AWS/EC2"}, {dimensions,[]}, {actions_enabled,true}, {alarm_actions,[{arn,"arn:aws:sns:us-east-1:123456797777:rgallego_cloudtrail_sns_topic"}]}, {alarm_arn,"arn:aws:cloudwatch:us-east-1:123456797777:alarm:rgallego_unauthorized_alarm"}, {alarm_configuration_updated_timestamp,{{2018,2,7}, {17,38,24}}}, {alarm_description,[]}, {alarm_name,"rgallego_unauthorized_alarm"}, {comparison_operator,"GreaterThanOrEqualToThreshold"}, {evaluate_low_sample_count_percentile,[]}, {evaluation_periods,1}, {extended_statistic,[]}, {insufficient_data_actions,[]}, {ok_actions,[]}, {period,300}, {state_reason,"Threshold Crossed: 1 datapoint [2.0 (07/02/18 17:33:00)] was greater than or equal to the threshold (1.0)."}, {state_reason_data,"{\"version\":\"1.0\",\"queryDate\":\"2018-02-07T17:38:24.953+0000\",\"startDate\":\"2018-02-07T17:33:00.000+0000\",\"statistic\":\"Sum\",\"period\":300,\"recentDatapoints\":[2.0],\"threshold\":1.0}"}, {state_updated_timestamp,{{2018,2,7},{17,38,24}}}, {state_value,"ALARM"}, {statistic,"Sum"}, {threshold,1.0}, {treat_missing_data,[]}, {unit,[]}]]

describe_alarms_for_metric/7

describe_alarms_for_metric(Namespace::string(), MetricName::string(), DimensionFilter::[{string(), string()}], ExtendedStatistic::string(), Period::pos_integer(), Statistic::statistic(), Unit::unit()) -> term()

CloudWatch API - DescribeAlarmsForMetric https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmsForMetric.html

USAGE:

erlcloud_mon:describe_alarms_for_metric("AWS/EC2", "NetworkIn", [{"InstanceType","m1.large"}], "p95", 17, "", "Seconds"). See describe_alarms_for_metric/2

describe_alarms_for_metric/8

describe_alarms_for_metric(Namespace::string(), MetricName::string(), DimensionFilter::[{string(), string()}], ExtendedStatistic::string(), Period::pos_integer() | undefined, Statistic::statistic(), Unit::unit(), Config::aws_config()) -> term()

get_alarm_state/1

get_alarm_state(AlarmName::string()) -> string()

CloudWatch API - check alarm state using DescribeAlarms query https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html

get_alarm_state/2

get_alarm_state(AlarmName::string(), Config::aws_config()) -> string()

get_metric_statistics/4

get_metric_statistics(MetricName::string(), StartTime::datetime() | string(), EndTime::datetime() | string(), InstanceId::string()) -> term()

CloudWatch API - GetMetricStatistics - Easy average version Gets average and max stats at 60 second intervals for the given metric on the given instance for the given interval

get_metric_statistics/8

get_metric_statistics(Namespace::string(), MetricName::string(), StartTime::datetime() | string(), EndTime::datetime() | string(), Period::pos_integer(), Unit::string(), Statistics::[string()], Dimensions::[{string(), string()}]) -> term()

CloudWatch API - GetMetricStatistics http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_GetMetricStatistics.html

USAGE:

erlcloud_mon:get_metric_statistics( "AWS/EC2", "CPUUtilization", {{2016, 06, 29}, {0, 0, 0}}, "2016-06-29T00:30:00Z", 60, "Percent", ["Average", "Maximum"], [{"InstanceType", "t2.micro"}]).

get_metric_statistics/9

get_metric_statistics(Namespace::string(), MetricName::string(), StartTime::datetime() | string(), EndTime::datetime() | string(), Period::pos_integer(), Unit::string(), Statistics::[string()], Dimensions::[{string(), string()}], Config::aws_config()) -> term()

list_metrics/4

list_metrics(Namespace::string(), MetricName::string(), DimensionFilter::[{string(), string()}], NextToken::string()) -> term()

CloudWatch API - ListMetrics http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_ListMetrics.html

USAGE:

erlcloud_mon:list_metrics("AWS/EC2", "NetworkIn", [{"InstanceType","m1.large"}], ""). [[{metric_name,"NetworkIn"}, {namespace,"AWS/EC2"}, {dimensions,[[{name,"InstanceType"},{value,"m1.large"}]]}]]

list_metrics/5

list_metrics(Namespace::string(), MetricName::string(), DimensionFilter::[{string(), string()}], NextToken::string(), Config::aws_config()) -> term()

new/2

new(AccessKeyID::string(), SecretAccessKey::string()) -> aws_config()

new/3

new(AccessKeyID::string(), SecretAccessKey::string(), Host::string()) -> aws_config()

put_metric_data/2

put_metric_data(Namespace::string(), MetricData::[metric_datum()]) -> term()

CloudWatch API - PutMetricData http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_PutMetricData.html &MetricData.member.1.MetricName=buffers &MetricData.member.1.Unit=Bytes &MetricData.member.1.Value=231434333 &MetricData.member.1.Dimensions.member.1.Name=InstanceID &MetricData.member.1.Dimensions.member.1.Value=i-aaba32d4 &MetricData.member.1.Dimensions.member.2.Name=InstanceType &MetricData.member.1.Dimensions.member.2.Value=m1.small &MetricData.member.2.MetricName=latency &MetricData.member.2.Unit=Milliseconds &MetricData.member.2.Value=23 &MetricData.member.2.Dimensions.member.1.Name=InstanceID &MetricData.member.2.Dimensions.member.1.Value=i-aaba32d4 &MetricData.member.2.Dimensions.member.2.Name=InstanceType &MetricData.member.2.Dimensions.member.2.Value=m1.small

put_metric_data/3

put_metric_data(Namespace::string(), MetricData::[metric_datum()], Config::aws_config()) -> term()

put_metric_data/5

put_metric_data(Namespace::string(), MetricName::string(), Value::string(), Unit::unit(), Timestamp::datetime() | string()) -> term()

CloudWatch API - PutMetricData http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/index.html?API_PutMetricData.html

put_metric_data/6

put_metric_data(Namespace::string(), MetricName::string(), Value::string(), Unit::unit(), Timestamp::datetime() | string(), Config::aws_config()) -> term()

test/0

test() -> any()

test2/0

test2() -> any()


Generated by EDoc