我有一个 AWS 负载均衡器连接到一个 EC2 实例。根据 AWS 文档以及我所期望的含义,ELB 上 RequestCount 的 CloudWatch 指标应该显示请求总数。但是,我得到了一个映射到 0-1 范围的图表,其中 1 是峰值。
它是否正确?这对我来说没有用。有没有办法查看实际请求数?
我希望能够在 Lambda 执行时监控 Cloudwatch 中的日志,目前 Lambda 控制台顶部有一个部分:
它向我显示执行 Lambda 时遇到的任何错误,但如果我单击logs,它会将我定向到 CloudWatch 并向我显示log group does not exist,有谁知道为什么以及如何我能够在 Cloudwatch 中查看日志?(我以为会自动...)
amazon-web-services amazon-cloudwatch aws-lambda amazon-cloudwatchlogs
假设我有 log group /aws/lambda/backend,它跟踪我的 Python lambda 函数的日志。我想调试常见问题,例如异常和超时,并查找相关日志条目。
但该函数并发流量很大,因此日志组中有很多日志流。如何在不访问每个单独的日志流并执行搜索的情况下查找所有日志中的日志条目?
amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights
我有一个 t4g.large EC2 实例,运行 Ubuntu 22.04,具有单个 30GB 存储卷。我已安装并配置 Cloudwatch 代理来监控磁盘使用情况。
\n目前,Cloudwatch 上的指标显示磁盘已满 56%。
\n如果我运行lsblk -f,我会看到这个(为了简洁起见,我删除了 uuid 列):
NAME FSTYPE FSVER LABEL FSAVAIL FSUSE% MOUNTPOINTS \nloop0 squashfs 4.0 0 100% /snap/core20/1699 \nloop1 squashfs 4.0 0 100% /snap/amazon-ssm-agent/5657 \nloop2 squashfs 4.0 \nloop3 squashfs 4.0 0 100% /snap/lxd/23545 \nloop4 squashfs 4.0 0 100% /snap/core18/2658 \nloop5 squashfs 4.0 0 100% /snap/core18/2636 \nloop6 squashfs 4.0 0 100% /snap/snapd/17885 \nloop7 squashfs 4.0 0 100% /snap/amazon-ssm-agent/6313 \nloop8 squashfs 4.0 0 100% /snap/core20/1740 …Run Code Online (Sandbox Code Playgroud) 我想每天使用CloudWatch Events停止我的EC2实例.在控制台上,它没有任何问题.通过对我使用控制台完成的配置进行逆向工程,一系列与之相当的命令似乎如下:
aws events put-rule \
--name stop-ec2-instance \
--schedule-expression 'cron(0 13 * * ? *)' \
--description "Stop EC2 instance everyday" \
--role-arn arn:aws:iam::012345678901:role/AWS_Events_Actions_Execution
aws events put-targets \
--rule stop-ec2-instance \
--targets "[{ \
\"Arn\": \"arn:aws:automation:ap-northeast-1:012345678901:action/EC2StopInstance/EC2StopInstance_stop-ec2-instance\", \
\"Id\": \"EC2StopInstance_stop-ec2-instance\", \
\"Input\": \"\\\"arn:aws:ec2:ap-northeast-1:012345678901:instance/i-01234567\\\"\" \
}]"
Run Code Online (Sandbox Code Playgroud)
.
但是,这不起作用,因为我在第一个命令时收到以下错误:
A client error (ValidationException) occurred when calling the PutRule operation: Provided role 'arn:aws:iam::012345678901:role/AWS_Events_Actions_Execution' cannot be assumed by principal 'events.amazonaws.com'.
Run Code Online (Sandbox Code Playgroud)
.
如何使用CLI放置Amazon CloudWatch Events规则?
我正面临一个问题。我的主要动机是在 ec2 实例发生状态更改时发送电子邮件。
我直接使用 SNS 尝试了云监视事件及其工作,但我收到的电子邮件模板没有正确的信息来理解。
我期待电子邮件模板中的服务器名称及其 IP,但 SNS 没有给我修改它的选项。所以我在想的是让 lambda 参与进来
如果您认为这是否符合我的期望,请告诉我。并就如何在 Cloud watch 和 SNS 之间获取 Lambda 提供一些见解
感谢和问候
我想创建一个计划事件来运行 Lambda,每1 分钟执行一次 api 调用(cron 行行为)。
此设置的警告是;外部 api 不可靠/缓慢,并且 api 调用有时可能持续超过1 分钟。
所以,我的问题是;给定设置和场景 - AWS 会运行另一个计划事件并在上一个执行完成之前执行 lambda 吗?即重叠?
如果是的话;有没有办法将计划的事件配置为不“重叠”?
我对此做了一些初步研究并发现了这篇文章: https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html
看起来可以在函数级别设置并发限制?这是实现不重叠的预定 lambda 执行的方法吗?即设置函数的并发限制为1?
出于某些警报和监控目的,我正在尝试获取 RDS cloudwatch 指标。大约有 50 个 RDS 实例,并且希望在一个 API 调用中获取所有这些实例的指标(我使用的是 boto3)。这是我的代码:
response = cloudwatch_client.get_metric_data(
MetricDataQueries=[
{
'Id': 'fetching_data_for_something',
'MetricStat': {
'Metric': {
'Namespace': 'AWS/RDS',
'MetricName': 'FreeStorageSpace',
'Dimensions': [
{
'Name': 'DBInstanceIdentifier',
'Value': '*'
},
]
},
'Period': 300,
'Stat': 'Average'
},
'ReturnData': True
},
],
StartTime=datetime(2019, 6, 11,13,0,0),
EndTime=datetime(2019, 6, 11,13,20,00),
ScanBy='TimestampDescending',
MaxDatapoints=123
)
Run Code Online (Sandbox Code Playgroud)
但这返回一个空结果,但是当我搜索特定的数据库实例时,它返回结果。这是工作:
'Dimensions': [
{
'Name': 'DBInstanceIdentifier',
'Value': 'name_of_db'
},
]
Run Code Online (Sandbox Code Playgroud)
但是,这不是:
'Dimensions': [
{
'Name': 'DBInstanceIdentifier',
'Value': '*'
},
]
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?一次获取所有数据库的指标?
amazon-web-services amazon-rds amazon-cloudwatch boto3 amazon-cloudwatch-metrics
如果删除的消息数等于接收的消息数,SQS 队列中的消息数增加的原因是什么?
我想通过 terraform 根据 ECS 集群的任务状态更改设置 Cloudwatch 事件规则。当任务进入“已停止”或“正在运行”状态时,我希望收到通知。
每当任一事件发生时,这条规则都会起作用并匹配吗?然后,我将相应地创建资源“aws_cloudwatch_event_target”:
resource "aws_cloudwatch_event_rule" "ecs-sns-rule" {
name = "ecs task state change"
event_pattern = <<PATTERN
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Task State Change"
],
"detail": {
"lastStatus": [
"STOPPED",
"RUNNING"
],
"clusterArn": "arn:aws:ecs:us-west-2:XXXXXXXXX:Cluster/XXXXXXXX"
}
}
PATTERN
}
Run Code Online (Sandbox Code Playgroud) CloudWatch 下有事件和日志。为什么需要将日志从ec2发送到cloudWatch?
aws-lambda ×3
amazon-ec2 ×2
amazon-ecs ×1
amazon-elb ×1
amazon-rds ×1
amazon-sns ×1
amazon-sqs ×1
aws-cli ×1
aws-cloud9 ×1
aws-cloudwatch-log-insights ×1
boto3 ×1
filesystems ×1
linux ×1
terraform ×1