我有一个批处理,用 PHP 编写并嵌入到 Docker 容器中。基本上,它从多个 Web 服务加载数据,对数据进行一些计算(在 ~1 小时内),并将计算出的数据发布到另一个 Web 服务,然后容器退出(如果正常,返回代码为 0,如果进程某处失败则返回 1 )。在此过程中,一些日志会写入 STDOUT 或 STDERR。该批次必须每天触发一次。
我想知道用于调度、执行和监控我的批处理的最佳 AWS 服务是什么:
现在,深入 Fargate,我希望每天执行一次任务。
当我使用ECS的计划任务功能时,它似乎工作正常:容器按时启动,进程运行,然后容器停止。但 CloudWatch 缺少一些指标:未报告 CPUReservation 和 CPUUtilization。此外,无法知道批处理是否以退出代码 0 或 1 退出(所有执行都以“STOPPED”状态停止)。因此,如果容器执行失败,我无法发送 CloudWatch 警报。 …
我是 CloudWatch Logs Insights 的新手,我不知道如何按 3 列的时间范围聚合数据。
我要解析的日志文件是 json 格式:
{'ts': '12:01:00', 'method':'GET', 'url':'aaaa'}
{'ts': '12:02:00', 'method':'GET', 'url':'aaab'}
{'ts': '12:03:00', 'method':'POST', 'url':'aaac'}
{'ts': '12:04:00', 'method':'GET', 'url':'aaad'}
{'ts': '12:05:00', 'method':'POST', 'url':'aaae'}
{'ts': '12:06:00', 'method':'GET', 'url':'aaaf'}
{'ts': '12:07:00', 'method':'POST', 'url':'aaag'}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,每个事件行都是一个 POST 或 GET。每个事件也带有时间戳。
我想使用 Insights 在 500 万个窗口中可视化随时间推移的 GET 和 POST 分布。
我找不到正确的语法来在查询监视器中得到这样的结果:
# : ts : NbGET : NbPOST
1 : 12:00:00 : 3 : 1
3 : 12:05:00 : 1 : 2
Run Code Online (Sandbox Code Playgroud)
有了这样的结果,我就可以用两个提取的指标 'GET' 和 'POST' 绘制一个图表。
知道如何实现这一目标吗?
有没有办法在现有CloudWatch仪表板中显示CloudFront指标?
我可以在CloudFront控制台中查看CloudFront分布指标(请求总数,命中率...),但是我无法在CloudWatch仪表板中找到这些指标。
在Cloudfront文档(https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cf-metricscollected.html)上,他们讨论了“ AWS / CloudFront”名称空间,但是在该名称空间中没有任何指标CloudWatch。
另外,我怀疑有一个启用度量的选项(例如具有启用S3的详细统计信息的度量),但是我没有找到这样的选项。
我更喜欢将所有指标都放在一个仪表板中,从而更容易进行数据交互(例如,EC2 cpu利用率vs数据库连接vs cloudwatch req / s)。