标签: amazon-cloudwatch

如何使用 Terraform 将 AWS CloudWatch 警报链接到 AWS Route53 运行状况检查?

我目前正在使用Terraform设置 AWS CloudWatch Alarm 来检测服务器的运行状况。使用 AWS Route 53 运行状况检查检查运行状况。我的.tf文件是:

resource "aws_cloudwatch_metric_alarm" "val1-alarm" {
  alarm_name = "val-alarm"
  comparison_operator = "LessThanOrEqualToThreshold"
  evaluation_periods = "2"
  metric_name = "HealthCheckStatus"
  namespace = "AWS/Route53"
  period = "60"
  statistic = "Minimum"
  threshold = "0"
  dimensions {
    HealthCheckId = "${aws_route53_health_check.val1-hc.id}"
  }
  alarm_description = "This metric monitor whether the server is down or not."
  insufficient_data_actions = []
}

resource "aws_route53_health_check" "val1-hc" {
  fqdn = "${aws_route53_record.val1-record.name}"
  port = 27017
  type = "TCP"
  failure_threshold = "3"
  request_interval = …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudwatch amazon-route53 terraform

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

CloudWatch 事件 Cron 表达式无效

我尝试使用以下 cron 表达式添加 CloudWatch 计划事件:

cron(0 1 * * ? *)
Run Code Online (Sandbox Code Playgroud)

我想每天一点触发这个事件。但我总是收到以下错误:

保存规则 dms-unstage-tibia 时出错。详细信息:参数 ScheduleExpression 无效。

这个 cron 表达式有什么问题?

amazon-cloudwatch

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

云观察计费如何查找哪些服务或指标正在产生账单?

从 8 月到 9 月,我的 Cloudwatch 账单飙升了 400 美元。每 1,000 个请求 0.01 USD(混合费率:0.000010)161,204,177 个请求 每 1,000 个请求 0.01 USD(混合费率:0.000010)206,899,565 个请求

我们如何检查请求增加如此之多的原因并确定其终点或请求来自何处

amazon-web-services amazon-cloudwatch aws-billing

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

使用curl 将自定义指标发布到cloudwatch

我想将 api 调用的结果记录到云手表。我想做的是将消耗指标发布到云观察。我的架构被设计为位于弹性豆茎上,所以我更喜欢在上面安装尽可能少的东西。

我想了解是否可以使用简单的 CURL POST 来发布云手表。

我有这个教程

我实在不太明白这个例子。我可以邮寄吗?(看起来像 get 方法)。终点是什么?

当我尝试时: curl -X POST https://monitoring.&api-domain;/doc/2010-08-01/?Action=PutMetricData&Version=2010-08-01&Namespace=TestNamespace&MetricData.member.1.MetricName=buffers&MetricData.member.1.Unit=Bytes&&MetricData.member.1.Dimensions.member.1.Name=InstanceType&MetricData.member.1.Dimensions.member.1.Value=m1.small&AUTHPARAMS

我收到这个错误: 'api-domain' is not recognized as an internal or external command, operable program or batch file. 'Version' is not recognized as an internal or external command, operable program or batch file. 'Namespace' is not recognized as an internal or external command, operable program or batch file. 'MetricData.member.1.MetricName' is not recognized as an internal or external command, operable program or batch file. 'MetricData.member.1.Unit' …

curl metrics amazon-web-services amazon-cloudwatch

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

计算并发 Lambda 函数执行的数量

根据AWS文档所述,默认情况下每个账户一次可以执行1000个并发Lambda函数。当然,这是一个软限制,可以根据请求进行更改。

现在,我的问题是如何监控并发 Lambda 函数执行?

我假设这应该(以某种方式)使用 CloudWatch 来完成。在CloudWatch 的Metrics部分中,遵循以下路径:

All > Lambda > Across All Functions
Run Code Online (Sandbox Code Playgroud)

您可以通过名称查找指标ConcurrentExecutions。我押注于这一点,但与此同时,我没有根据我所做的测试得到数字。在我们到达那里之前,图表上显示的该指标的值不是整数,所以我猜我在这里遗漏了一些东西。但那很好。让我告诉你我进行的测试。

我在 EC2 实例上创建了一个简单的 NodeJs 脚本,如下所示:

const AWS = require('aws-sdk');
const https = require('https');

const sslAgent = new https.Agent({
    keepAlive: true,
    maxSockets: 200,
    rejectUnauthorized: true,
});
sslAgent.setMaxListeners(0);

AWS.config.update({
    region: 'us-east-1',
    httpOptions: {
        agent: sslAgent,
    },
});


const lambda = new AWS.Lambda();

function call() {
    return lambda.invoke({
        FunctionName: "test",
        Payload: JSON.stringify({
            wait: 5000,
        }),
    }).promise();
}

(async () => {
  let …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudwatch aws-lambda

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

如何获取 CloudFormation 生成的 lambda 的日志组名称和 ARN?

我正在像这样在 CloudFormation 中生成一个 lambda:

TestFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: lib/test.handler
    Timeout: 30
    Role: !GetAtt ExecutionRole.Arn
Run Code Online (Sandbox Code Playgroud)

现在,CloudFormation 将自动为这个 lambda 创建一个日志组。如何访问该日志组名称和 ARN?

我不想创建日志组,然后将其关联到我的 lambda。我想访问自动为我创建的日志组。

amazon-web-services aws-cloudformation amazon-cloudwatch

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

AWS。Cloudwatch 警报状态变化触发规则

我在 CloudWatch 警报状态更改上触发 Cloudwatch 规则时遇到问题。这是规则的事件模式。它不会向 SNS 发送状态更改消息。

{
  "detail-type": [
    "CloudWatch Alarm State Change"
  ],
  "resources": [
    !Sub "arn:aws:cloudwatch:${AWS:Region}:${AWS:AccountId}:alarm:Admin dead"
  ],
  "source": [
    "aws.cloudwatch"
  ],
  "detail": {
    "state": [
      "ALARM"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

警报本身正常工作并并行向 SNS 发送消息。另外,如果我删除这部分:

"detail": {
    "state": [
      "ALARM"
    ]
  }
Run Code Online (Sandbox Code Playgroud)

那么该规则对于每个状态变化都可以正常工作。但我只需要将其更改为“警报中”(如用户界面中显示的那样)。

感谢您的任何建议

rules amazon-web-services amazon-sns amazon-cloudwatch cloudwatch-alarms

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

Boto3 CloudWatch - 具有多个指标和数学表达式的 put_metric_alarm

我正在尝试使用 Boto3 - CloudWatch - put_metric_alarm 创建警报,但遇到困难。

以下是提供给函数的关键字参数:

{'ActionsEnabled': False,
 'AlarmDescription': 'Monitor for Idle instances',
 'AlarmName': 'IdleComponents',
 'ComparisonOperator': 'GreaterThanThreshold',
 'DatapointsToAlarm': 6,
 'EvaluationPeriods': 6,
 'Metrics': [{'Id': 'CPU',
              'MetricStat': {'Metric': {'Dimensions': [{'Name': 'InstanceId',
                                                        'Value': 'i-XX'}],
                                        'MetricName': 'CPUUtilization',
                                        'Namespace': 'AWS/EC2'},
                             'Period': 300,
                             'Stat': 'Average',
                             'Unit': 'Percent'},
              'ReturnData': False},
             {'Id': 'Net',
              'MetricStat': {'Metric': {'Dimensions': [{'Name': 'InstanceId',
                                                        'Value': 'i-XX'}],
                                        'MetricName': 'NetworkIn',
                                        'Namespace': 'AWS/EC2'},
                             'Period': 300,
                             'Stat': 'Average',
                             'Unit': 'Megabytes'},
              'ReturnData': False},
             {'Expression': 'IF(CPU < 5, 1, 0) AND IF(Net < 5, 1, 0)',
              'Id': 'e1', …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services amazon-cloudwatch boto3

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

ClientError: 调用 PutObject 操作时发生错误 (AccessDenied):拒绝访问

我正在尝试调用一个 lambda 函数,它将一些消息推送到 s3 存储桶中。但是每次我调用 lambda 函数时,我都会收到以下错误

 ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied
Run Code Online (Sandbox Code Playgroud)

下面是我的 lambda 代码

import json
import boto3

def lambda_handler(event, context):
s3 = boto3.client("s3")
#data = json.loads(event["Records"][0]["body"])
data = event["Records"][0]["body"]

s3.put_object(Bucket="sqsmybucket",Key="data.json", Body=json.dumps(data))
#print(event) 
return {
    'statusCode': 200,
    'body': json.dumps('Hello from Lambda!')     
}
Run Code Online (Sandbox Code Playgroud)

我使用的用户帐户也具有访问 S3 的角色 在此处输入图片说明

我已经检查了 s3 存储桶权限,并且所有公共访问权限都已为其打开

在此处输入图片说明

但是我在 cloudwatch 日志中反复收到以下错误消息

2020-06-05T23:48:20.920+05:30

[ERROR] ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied
Traceback (most recent call last):
 File "/var/task/lambda_function.py", …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-cloudwatch

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

如何使用 Cloudformation 或 CDK 为 S3 存储桶启用请求指标

我可以通过选中复选框 ( https://ibb.co/bWDLcNT )在 AWS 控制台中手动启用(S3 存储桶的请求指标,apid 选项)。但我试图通过代码来做到这一点。我尝试寻找使用 CloudFormation / CDK(nodeJs) / AWS CLI 的解决方案。但没有运气。我找到的解决方案只涉及使用过滤器等创建指标,而不是启用它。有什么建议吗?

amazon-s3 amazon-web-services aws-cloudformation amazon-cloudwatch aws-cdk

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