Amazon web services 我可以使用自定义CloudWatch指标做什么?

Amazon web services 我可以使用自定义CloudWatch指标做什么?,amazon-web-services,amazon-cloudwatch,Amazon Web Services,Amazon Cloudwatch,通过创建自定义CloudWatch指标,我可以做什么? 在阅读文档后,我无法理解在CloudWatch中创建自定义指标背后的想法 我创建了一个新指标: mon-put-data --metric-name MyMetric --namespace "MyService" --value 2 --timestamp 2011-03-14T12:00:00.000Z 我能从这个指标中得到什么? 我无法理解自定义指标。CloudWatch的想法是从运行的云资源(服务器、应用程序、数据库等)收集指

通过创建自定义CloudWatch指标,我可以做什么? 在阅读文档后,我无法理解在CloudWatch中创建自定义指标背后的想法

我创建了一个新指标:

mon-put-data --metric-name MyMetric --namespace "MyService" --value 2 --timestamp 2011-03-14T12:00:00.000Z  
我能从这个指标中得到什么?
我无法理解自定义指标。

CloudWatch的想法是从运行的云资源(服务器、应用程序、数据库等)收集指标,并在其他资源之间共享这些信息,以便让他们做出决策。例如,您的应用程序可能会产生以下指标:

  • 内存中队列的大小
  • 可用于JVM的内存
  • 可用于缓存的磁盘空间
  • 当前处于活动状态的用户
  • 每分钟交易量
  • 每小时$sales
在极端情况下,您甚至可以使用CloudWatch复制谷歌分析。这是一个收集和分发统计数据的方便工具

Amazon CloudWatch提供了可靠、可扩展和灵活的 您可以在几分钟内开始使用的监控解决方案。你没有 不再需要设置、管理或扩展您自己的监控系统 和基础设施。使用Amazon CloudWatch,您可以轻松地监控 根据需要提供更多或更少的度量数据。Amazon CloudWatch让您 以编程方式检索监视数据、查看图形和设置 警报,帮助您进行故障排除、发现趋势并采取自动化措施 基于云环境状态的操作

这是一个类似于其他Amazon web服务的web服务。您可以通过API和控制台使用它。您还可以将其与其他服务(如简单通知服务(SNS))集成,甚至可以自动扩展实例

自定义度量机制的思想是允许您将AWS提供的内置度量扩展到AWS无法访问的度量(如内存和磁盘状态),或与您的业务相关的度量(购买规模、用户统计…)

CloudWatch是一种可扩展且可靠的服务,您无需安装或管理

另一个重要功能是能够根据度量设置警报。例如,当达到指标的阈值时,您可以向您发送电子邮件(例如,您一天售出的商品超过1000件)


现在,随着Lambda的加入,您有了更多的选项来使用CloudWatch度量和警报。您可以根据自定义指标为报警订阅Lambda函数,并自动实时响应此类事件。请参见此处,以获取在弹性容器服务(ECS)中自动扩展Docker环境的示例:

使用自定义度量的常见情况和示例是关于实例内存报告

关于自定义CloudWatch指标,web上有一些代码。我发现这在亚马逊论坛中非常有用

#!/bin/bash

export AWS_CLOUDWATCH_HOME=/home/ec2-user/CloudWatch-1.0.12.1
export AWS_CREDENTIAL_FILE=$AWS_CLOUDWATCH_HOME/credentials
export AWS_CLOUDWATCH_URL=https://monitoring.amazonaws.com
export PATH=$AWS_CLOUDWATCH_HOME/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/jre

# get ec2 instance id
instanceid=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`

memtotal=`free -m | grep 'Mem' | tr -s ' ' | cut -d ' ' -f 2`
memfree=`free -m | grep 'buffers/cache' | tr -s ' ' | cut -d ' ' -f 4`
let "memused=100-memfree*100/memtotal"

mon-put-data --metric-name "FreeMemoryMBytes" --namespace "System/Linux" --dimensions "InstanceId=$instanceid" --value "$memfree" --unit "Megabytes"

mon-put-data --metric-name "UsedMemoryPercent" --namespace "System/Linux" --dimensions "InstanceId=$instanceid" --value "$memused" --unit "Percent"

来源:

Ok。。例如,让我们以当前处于活动状态的用户为例。数据如何到达CloudWatch。