我正在尝试设置Cloudwatch预定事件,但我的cron表达似乎无效,但我无法弄清楚原因.
我的cron表达式是:
cron(5,15,25,35,45,55****)
我希望它能在每天每小时的第5天,第15天,第25天,第35天,第45天和第55分钟运行.这似乎与http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html中的AWS Scheduled Events文档一致.
上述文档允许用0到59之间的逗号分隔值表示分钟,以及用*通配符反映ALL的小时,日期(或星期几),月份和年份.
我尝试在Lambda控制台上设置cron表达式(创建函数并选择Cloudwatch Schedule Event时),并在Cloudwatch控制台中设置cron表达式(以及选择触发器的目标).两者都不适用于我的自定义cron表达式.
我尝试过以下方法:
5,15,25,35,45,55 * * * *
5,15,25,35,45,55 * ? * *
cron(5,15,25,35,45,55 * * * *)
cron(5,15,25,35,45,55 * ? * *)
Run Code Online (Sandbox Code Playgroud)
每次我收到错误说ScheduleExpression无效.但是,我可以使用premade rate()表达式之一.
我如何使用自己的自定义cron表达式?
谢谢.
我正在运行一个关于AWS的wordpress,我无法弄清楚如何监控卷的容量是否已耗尽.有很多选项可用于监控其他事情,但我只是想知道什么时候我们的空间不足.
编写由Cloudwatch预定事件触发的AWS Java Lambda函数时,哪个事件对象会传递给Lambda处理函数?
例如,对于由S3事件触发的Lambda函数,AWS调用该函数并传递S3Event对象.类似地,它会将SNSEvent对象传递给由SNS消息触发的函数.
public class LambdaHandler {
public void eventHandler(S3Event event, Context context) {
}
Run Code Online (Sandbox Code Playgroud)
要么
public class LambdaHandler {
public void eventHandler(SNSEvent event, Context context) {
}
Run Code Online (Sandbox Code Playgroud)
对于Cloudwatch计划事件驱动的功能,将取代SNSEvent/S3Event?
public class LambdaHandler {
public void eventHandler(__________ event, Context context) {
}
Run Code Online (Sandbox Code Playgroud)
我无法为我的生活找到任何由Java编写的AWS Lambda函数的示例,这些函数由Cloudwatch Scheduled事件触发...
样本函数的加分点.
编辑1目前还没有正确答案(虽然我不知道AWS已经在SDK中发布了一个适当的'事件'对象,将被传递给Lambda函数),所以实际上可能没有答案我正在寻找.
这个问题也是在这里问:什么是由CloudWatch的事件传递给lambda函数参数类型-计划触发?有人评论建议使用Object并打印类名.原来是LinkedHashMap.看起来像我要得到的答案一样正确......
我刚刚在我的ec2实例上配置了Cloudwatch日志,到目前为止我很喜欢它.我还为某些关键字设置了警报,例如"ERROR".虽然电子邮件警报似乎工作正常,但我想知道是否有办法微调警报电子邮件,使其简洁明了.具体来说,我期待
删除警报电子邮件中的所有样板文本.
包括有关触发警报的错误/异常的一些信息.这可能就像包含生成警报的日志语句一样简单.
现在,警报电子邮件看起来像
您收到此电子邮件是因为您在美国东部 - 弗吉尼亚州西部地区的Amazon CloudWatch警报"应用错误警报"已进入警报状态,因为"阈值已交叉:1个数据点(1.0)大于或等于阈值(1.0)".在"2017年2月7日星期二16:39:43 UTC".
在AWS管理控制台中查看此警报:https://console.aws.amazon.com/cloudwatch/home? region = us-east-1#s = Alert & alarm = App-Error-Alarm
警报详细信息: - 名称:应用程序错误警报 - 说明:app.log中的错误 - 状态更改:INSUFFICIENT_DATA - >警报 - 状态更改原因:阈值已交叉:1个数据点(1.0)大于或等于阈值( 1.0). - 时间戳:2017年2月7日星期二16:39:43 UTC - AWS账户:<>
阈值: - 当度量标准为GreaterThanOrEqualToThreshold 1.0 300秒时,警报处于ALARM状态.
受监视的度量标准: - MetricNamespace:LogMetrics - MetricName:ERROR - 维度: - 周期:300秒 - 统计:总和 - 单位:未指定
状态更改操作: - 确定: - ALARM:[arn:aws:sns:us-east-1:<>:support] - INSUFFICIENT_DATA:
我喜欢它
警报:应用程序错误警报
关键字:"ERROR"
原因:错误2017-02-07 07:31:47,375 [SimpleAsyncTaskExecutor-5] com.app.server.rest.Watcher:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure
它的短小,甜美,瞬间告诉我它是否需要我立即注意.可以这样不作为建议编写代码做了这里?
我们在Elastic Beanstalk Docker容器环境中运行自定义Docker Web应用程序.想要在外面查看应用程序日志.无需通过实例或AWS控制台下载.
到目前为止,这两种解决方 也许有人为Elastic Benastalk Dockerized应用程序实现了集中式日志记录?
不可接受 - 需要下载日志,每次都提取.非实时.
fluentd没有从S3检索日志的插件有优秀的S3插件,但它仅用于日志输出到S3.不适用于S3的输入日志.
缺点:只能从整个桶中提取所有日志或什么也不能.
问题在于Elastic Beanstalk S3 Log存储结构.您无法指定文件名模式.它可以是所有日志,也可以不是.ElasticBeanstalk在包含随机实例和环境ID的路径中将日志保存在S3上:
s3.bucket/resources/environments/logs/publish/e-<random environment id>/i-<random instance id>/my.log@
Run Code Online (Sandbox Code Playgroud)
Logstash s3插件只能指向resources/environments/logs/publish /.当您尝试将其指向environment/logs/publish/*/my.log时,它不起作用.这意味着你无法拉出特定的日志并标记/输入它以便能够在Elasticsearch中找到它.由于AWS将所有环境和实例中的日志保存在相同的文件夹结构中,因此您甚至无法选择实例.
可以将自定义日志转发到CloudWatch控制台.实现这一点,将配置文件放在应用程序包的.ebextensions路径中:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html
有一个名为cwl-webrequest-metrics.config的文件,它允许您指定日志文件以及警报等.太棒了!?除了配置文件格式既不是yaml,xml或json,也没有记录.该文件绝对没有提及,它的格式要么在AWS文档网站上,要么在网络上的任何地方.要在CloudWatch中显示一个日志文件,不仅仅是添加配置行.实现这项工作的唯一可行方法似乎是反复试验.大!?除了您需要重新部署环境的每次尝试.
关于如何使用自定义日志进行此操作只有一个参考:http://qiita.com/kozayupapa/items/2bb7a6b1f17f4e799a22我不知道该人如何逆向设计文件格式.
缺点:
我正在尝试使用 AWS Cloudwatch Logs 洞察力来搜索我们 lambda 函数的一些相当旧的日志。我正在AWS docs 上阅读本指南,但没有任何地方记录如何按时间戳过滤。我尝试了以下方法:
fields @timestamp, @message
| filter @timestamp > '2019-12-04T18:09:10.000+01:00'
| limit 200
| sort @timestamp desc
Run Code Online (Sandbox Code Playgroud)
但不起作用(返回 0 个结果)。
最初,当我自 2015年以来遇到此功能请求时,我试图找出是否有办法按时间戳列(而不是默认的日志组名称)对日志组进行排序- 这在eu-west-1 他们建议使用新的日志见解,但我无法完成这项工作。
有谁知道我如何按时间戳过滤日志,或者是否可以使用 Cloudwatch 日志见解来过滤日志?
谢谢!
amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights
有没有办法1)过滤和2)通过API或CLI从Cloudwatch中检索原始日志数据?我需要从Cloudwatch中提取一部分日志事件进行分析.
我不需要创建指标或类似的东西.这是针对特定事件的历史研究.
我已经转到控制台中的日志查看器,但我试图拉出特定的行来告诉我一段时间的故事.日志查看器几乎不可能用于此目的.如果我有实际的日志文件,我只会grep并在大约3秒内完成.但我没有.
澄清
在Cloudwatch日志的描述中,它说:"您可以查看原始日志数据(仅在Web视图中?),以便在需要时查看问题的根源.可以存储和访问日志数据(仅在Web视图中? )只要你需要使用高度耐用,低成本的存储,你就不必担心填满硬盘." - 是我的
如果此控制台视图是获取源数据的唯一方法,那么通过Cloudwatch存储日志对我来说是不可接受的解决方案.我需要以足够的灵活性来获取实际数据来搜索模式,而不是点击几十页的行并复制/粘贴.但是,似乎有可能无法获得获取源数据的更好方法.
如何将自定义日志添加到CloudWatch?发送默认日志但是如何添加自定义日志?
我已经添加了这样一个文件:(在.ebextensions中)
files:
"/opt/elasticbeanstalk/tasks/bundlelogs.d/applogs.conf" :
mode: "000755"
owner: root
group: root
content: |
/var/app/current/logs/*
"/opt/elasticbeanstalk/tasks/taillogs.d/cloud-init.conf" :
mode: "000755"
owner: root
group: root
content: |
/var/app/current/logs/*
Run Code Online (Sandbox Code Playgroud)
正如我所做的bundlelogs.d和taillogs.d这些自定义日志现在已经从控制台或网络中添加或检索,这很好但是它们不会持久存在且不会在CloudWatch上发送.
在CloudWatch中,我有默认日志,
/aws/elasticbeanstalk/InstanceName/var/log/eb-activity.log
而我希望有另一个这样的日志
/aws/elasticbeanstalk/InstanceName/var/app/current/logs/mycustomlog.log
amazon-web-services amazon-cloudwatch amazon-elastic-beanstalk amazon-cloudwatchlogs
我正在尝试使用此 CLI 用法从 Cloudwatch 获取日志:
cat cli-get-log-events.json
{
"logGroupName": "/aws/lambda/my-group",
"logStreamName": "2019/03/30/[$LATEST]dec1626296d84819be42f2ef615f292e",
"startTime": 1553977650000,
"endTime": 1553977748000,
"limit": 10,
"startFromHead": true
}
aws logs get-log-events --cli-input-json file://cli-get-log-events.json
Run Code Online (Sandbox Code Playgroud)
但是我在响应中看到了这个错误:
调用 GetLogEvents 操作时发生错误 (ResourceNotFoundException):指定的日志组不存在。
我在AWS上运行了一个应用程序.如何设置Amazon CloudWatch以在EC2实例失败或不再响应时通知我?
我浏览了CloudWatch屏幕,看起来你可以监控某些统计信息,比如CPU或磁盘利用率,但我没有看到监控事件的方法,例如"实例获得了一个http请求并花费了超过X秒的时间响应."
aws-lambda ×2
amazon-ebs ×1
aws-cli ×1
aws-cloudwatch-log-insights ×1
cron ×1
docker ×1
logging ×1
logstash ×1
monitoring ×1