标签: amazon-cloudwatch

带有回溯时间戳的 Cloudwatch 自定义指标出现缓慢

我正在尝试触发自定义 cloudwatch 指标。在指标事件上设置时间戳对我们很重要。

当我将时间戳设置为过去一天左右的时间时,我可以看到该事件几乎立即出现在 cloudwatch 控制面板上或使用 aws-cli。

问题是当我将时间戳设置为一天前的时间时。我似乎需要很长时间才能看到这个事件。我没有确切的测量值,但有些事件需要大约 24 小时才能出现。

这是正常的吗?是否有任何文档可以在任何地方解释这一点?顺便说一下,我知道 cloudwatch 只将事件保留 14 天 - 我不想设置过去那么远的时间戳。

顺便说一句,我使用的是通过Apache的骆驼在Java SDK将数据发送到CloudWatch的,但我不认为这是相关的-事件要CloudWatch的使用适当的时间戳。

amazon-web-services amazon-cloudwatch

1
推荐指数
1
解决办法
1467
查看次数

Boto 无法获取 ElasticSearch Cloudwatch 指标

我正在尝试使用 boto 获取 elasticsearch cloud-watch 指标,但无论我做什么,我都没有得到价值。下面是我的代码片段,例如,如果我用于 RDS 指标,则相同的代码可以工作。

import datetime
import boto.ec2.cloudwatch

end = datetime.datetime.utcnow()
start = end - datetime.timedelta(minutes=5)

metric="CPUUtilization"

region = boto.regioninfo.RegionInfo(
    name='ap-southeast-1',
    endpoint='monitoring.ap-southeast-1.amazonaws.com')

conn = boto.ec2.cloudwatch.CloudWatchConnection(region=region)

data = conn.get_metric_statistics(60, start, end, metric, "AWS/ES", "Average", {"DomainName": "My-es-name"})
Run Code Online (Sandbox Code Playgroud)

打印数据

[]

但是,如果我将命名空间更改为 RDS,它可以在正确的维度值下正常工作。这是我可以编写的简单代码。我不确定这里有什么问题。谁能帮我弄清楚这一点?

我在这里做错了什么?

谢谢

boto amazon-cloudwatch

1
推荐指数
1
解决办法
665
查看次数

CloudWatch 自定义指标未按预期工作

我已经根据我发送到 CloudWatch 的一些日志文件创建了其他 7 个指标,没有出现任何问题。

前段时间我们遇到了MongoDB连接的问题,我通过日志发现了这个问题,所以我想创建一个指标,以便我可以基于它创建一个警报。我确实创建了 Metric,但是(当然)没有数据被输入到 Metic,因为不再存在“MongoError”消息。

但这是否也意味着我什至无法访问指标来创建警报?因为这就是现在正在发生的事情。指标无法在任何地方看到,只能在日志的“过滤器”部分中看到,这将不允许我创建警报或创建图形或任何东西。

我已经在 AWS 论坛上发布了这个,但这通常没有帮助。

amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs

1
推荐指数
1
解决办法
4547
查看次数

AWS Cloudwatch Json 指标筛选器模式

遵循Amazon Example for Json Metric Filter
我尝试复制他们的示例。在创建指标过滤器的过程中,您可以先使用示例日志对其进行测试。所以我选择了“自定义日志”,从上面给出的链接中复制粘贴了示例:

{
  "eventType": "UpdateTrail",
  "sourceIPAddress": "111.111.111.111",
  "arrayKey": [
        "value",
        "another value"
  ],
  "objectList": [
       {
         "name": "a",
         "id": 1
       },
       {
         "name": "b",
         "id": 2
       }
  ],
  "SomeObject": null,
  "ThisFlag": true
}  
Run Code Online (Sandbox Code Playgroud)

我的模式是:{ $.eventType = "UpdateTrail" } 如示例中所述

这是“测试模式”的输出:

在示例日志中的 20 个事件中找到 0 个匹配项。

如何正确使用它们?我似乎不太明白这个概念。

从我这边更新:它似乎有换行符的问题,出于我自己的目的,我只是将我的整个自定义 json 放在一行中,由logger.info(json.dumps(my_message)).
我把这个“修复”放在这里,以防有人偶然发现同样的问题。
我还是想听听一个通用的解决方案!

amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs amazon-cloudwatch-metrics

1
推荐指数
1
解决办法
1143
查看次数

实现预定推送通知的最佳方式

我目前正在开发一个具有某种用户会议系统的应用程序,最近我们的产品团队要求包括一些预定的推送通知,提醒用户他们在 30 分钟前、10 分钟前和 10 分钟后有会议会议。(我们使用 FCM 作为推送通知服务)

目前,对于每个新会议,我们都会在 AWS CloudWatch Events 规则上注册一个 cron 作业,但我开始意识到,由于预期有大量注册会议,这可能不是实现它的最佳方式......(例如,如果我们将有 100 个活动会议,我们将有 300 个注册的 CloudWatch Events 规则...

所以我的问题是有更好的方法来实现这样的服务吗?

编辑:客户端都是 IOS(Swift) 和 Anrdoid(Java)

push-notification amazon-web-services amazon-cloudwatch firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
2594
查看次数

使用未链接到角色的 AWS CloudFormation 创建 CloudWatch 规则

我正在尝试创建一个按计划触发并执行状态机 (Step Functions) 的 CloudWatch 规则。我正在使用 CloudFormation 来创建它,除了规则使用的 IAM 角色与规则本身的关联之外,一切都很好。这就是我的意思:

注意在“使用现有角色”下它是空白的。

在此处输入图片说明

这是处理规则及其作用的 CF 模板部分。

"SFInvoke":{
    "Type": "AWS::IAM::Role",
    "Properties": {
      "AssumeRolePolicyDocument": {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": {
                "Fn::Sub": "states.${AWS::Region}.amazonaws.com"
              }
            },
            "Action": "sts:AssumeRole"
          }
        ]
      },
      "Policies": [
        {
          "PolicyName": "StepFunctionsInvoke",
          "PolicyDocument": {
            "Version": "2012-10-17",
            "Statement": [
              {
                "Effect": "Allow",
                "Action": [
                  "states:StartExecution"
                ],
                "Resource": { "Ref" : "StateMachine"}
              }
            ]
          }
        }
      ]
    }
  },
  "CloudWatchStateMachineSDCEventRule": {
    "Type":"AWS::Events::Rule",
    "Properties": {
      "Description":"CloudWatch trigger for the …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation amazon-cloudwatch

1
推荐指数
1
解决办法
1261
查看次数

AWS CloudWatch GetMetricsData:“Sum”在没有值的时间段丢失点数

GetMetricsData从 AWS CloudWatch查询:

                 {
                    StartTime: lastWeek ,
                    EndTime: today,
                    MetricDataQueries: [
                        {
                            Id: 'invocations',
                            Label: 'Invocations',
                            MetricStat: {
                                Metric: {
                                    Dimensions: [
                                        {
                                            Name: 'FunctionName',
                                            Value: /* FunctionName */,
                                        },
                                    ],
                                    MetricName: 'Invocations',
                                    Namespace: 'AWS/Lambda'
                                },
                                Period: 60*60*24, // day
                                Stat: 'Sum',
                                Unit: 'Count',
                            },
                        },
                    ],
                }
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

在此处输入图片说明

我没有获得 7 天(即一周)的数据,而是获得了 5 天。我错过了 2 天(如您在图表中所见)。

那些失踪的日子没有任何数据。

CloudWatch 不会返回没有数据的点。我怎样才能让Sum操作返回实际计数 ( 0) 呢?

amazon-web-services amazon-cloudwatch aws-sdk amazon-cloudwatch-metrics aws-sdk-js

1
推荐指数
1
解决办法
1466
查看次数

带有 CloudWatch 的 AWS 上 Symfony 应用程序中的 PHP 日志目标

我有一个在 AWS 上用 Docker 托管的 Symfony 应用程序。对于日志记录,我使用 AWS CloudWatch。

例如:无法建立数据库连接。如果我使用默认的 monolog 配置,我会在文件/project/var/log/prod.log 中收到错误消息。当我将路径更改为php://stderr 时我希望 CloudWatch 中出现相同的消息,但没有出现

出于测试原因,我修改了 index.php:

<?php
echo ini_get('error_log');
error_log('error_log');
file_put_contents('php://stderr', 'file_put_contents', FILE_APPEND);
Run Code Online (Sandbox Code Playgroud)

输出是:/proc/self/fd/2(docker 日志目标)

在 CloudWatch 中,我收到了消息error_log,但没有收到file_put_contents

我不知道问题出在哪里。也许 Symfony 应用程序配置错误。但是由于消息file_put_contents丢失 - 没有 Symfony 运行 - 我不确定。

这是 Monolog 配置:

monolog:
    handlers:
        main:
            type: fingers_crossed
            action_level: error
            handler: nested
            excluded_404s:
                # regex: exclude all 404 errors from the logs
                - ^/
        nested: …
Run Code Online (Sandbox Code Playgroud)

php symfony monolog amazon-cloudwatch

1
推荐指数
1
解决办法
2253
查看次数

如何使用 CloudFormation 在两个指标的总和上定义 CloudWatch 警报?

ApproximateNumberOfMessagesVisible两个不同队列上的相同指标 ( )的总和超过 100时,我需要触发警报

在 17 年 9 月,这个答案指出唯一的方法是使用 Lambda 函数获取两个值并通过 CloudWatch API 将它们相加。

在撰写本文时,2019 年 2 月,可以使用“ Metric Math ”,因此不需要 lambda 函数或 EC2 实例。是否可以使用 Metric Math 直接在 CloudFormation 中定义警报?

aws-cloudformation amazon-cloudwatch amazon-cloudwatch-metrics

1
推荐指数
1
解决办法
1989
查看次数