【问题标题】:What can I use custom CloudWatch metrics for?我可以将自定义 CloudWatch 指标用于什么?
【发布时间】:2013-06-10 07:45:33
【问题描述】:

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

我创建了一个新指标:

mon-put-data --metric-name MyMetric --namespace "MyService" --value 2 --timestamp 2011-03-14T12:00:00.000Z  

我可以从这个指标中得到什么? 我无法理解自定义指标。

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatch


    【解决方案1】:

    使用自定义指标的一个常见案例和示例是关于实例内存报告。

    网络上有一些关于自定义 CloudWatch 指标的代码。我发现这对亚马逊论坛非常有用。

    #!/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"
    

    来源:https://forums.aws.amazon.com/message.jspa?messageID=266893

    【讨论】:

      【解决方案2】:

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

      这是一项与亚马逊网络服务的其余部分一样的网络服务。您可以通过 API 和控制台使用它。您还可以将其与其他服务集成,例如简单通知服务 (SNS),甚至自动扩展您的实例。

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

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

      另一个重要功能是能够为您的指标设置警报。例如,您可以在达到指标阈值时向您发送电子邮件(例如,您一天卖出了 1,000 多件商品)。

      现在,通过添加 Lambda,您可以有更多选择来使用 CloudWatch 指标和警报。您可以为 Lambda 函数订阅基于自定义指标的警报,并自动实时响应此类事件。有关在弹性容器服务 (ECS) 中自动扩展 Docker 环境的示例,请参见此处:https://aws.amazon.com/blogs/compute/scaling-amazon-ecs-services-automatically-using-amazon-cloudwatch-and-aws-lambda/

      【讨论】:

        【解决方案3】:

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

        • 内存队列大小
        • JVM 可用内存
        • 可用于缓存的磁盘空间
        • 当前活跃的用户
        • 每分钟事务数
        • 每小时的销售额

        在极端情况下,您甚至可以使用 CloudWatch 重现 Google Analytics。它是一种方便的工具来收集和分发统计数据。

        【讨论】:

        • 好吧.. 以users currently active为例。数据如何到达 CloudWatch。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多