问题标签 [amazon-cloudwatchlogs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - Elastic Beanstalk CloudWatch 日志流停止工作 – 如何调试
我的 Elastic Beanstalk 环境正在停止将 node.js 事件流式传输到 CloudWatch Logs。流式处理在新实例上的视图分钟内工作正常。查看几分钟后,CloudWatch 中不再显示日志。
我设置 AWS Elastic Beanstalk 以在配置 > 软件配置 > CloudWatch 日志 > 日志流式处理 (true) 下将日志流式传输到 CloudWatch。我停用了日志流并将其重新激活为测试。看看云表
- 上次 eb 活动日志大约 10 分钟前
- 错误日志不可用(在两个实例上都没有)
- nginx/access.log 是一个视图秒旧
- nodejs.log 大约一个小时前(重新启动实例后不久)
不过,每次运行状况检查都会每隔查看秒数将一个日志条目写入 nodejs.log。
我没有在 ec2 实例上找到任何关于日志流的日志。
- 有没有人有类似的问题?
- 如何使 Elastic Beanstalk 将 nodejs 日志流式传输到 CloudWatch 日志。
- - 编辑
amazon-web-services - 为 cloudwatchLogs 中的每个日志文件创建一个 logStream
我使用AWS CloudWatch
日志代理将我的应用程序日志推送到 AWS Cloudwatch。
在我的cloudwatchLogs
配置文件中EC2 instance
,我有这个条目:
根据此配置,workingdir 目录中的所有日志文件都被发送到同一流中的 cloudwatchLogs,名称为实例 ID。
我的问题是,我想为每个日志文件创建一个单独logStream
的. 换句话说,每次我有一个新的日志文件时,都会自动创建一个新的日志流。
我想通过 cron 作业中的 shell 脚本来做到这一点,但是我必须更改架构中的许多其他配置,所以我正在寻找一种在配置文件中执行此操作的方法。在文档中,他们说:
log_stream_name
指定目标日志流。您可以使用文字字符串或预定义变量({instance_id}、{hostname}、{ip_address})或两者的组合来定义日志流名称。如果日志流尚不存在,则会自动创建它。
日志文件的名称不能 100% 可预测,但它们始终具有以下结构:
此外,另一个问题是:
必须停止并重新启动正在运行的代理才能使配置更改生效。
在这种情况下如何设置 logStream?
非常感谢任何想法或建议或解决方法。
amazon-web-services - 使用 AWS CloudWatch 监控应用程序日志错误时出现问题
我利用 Cloud Watch 自定义指标的功能来监控我的虚拟机的应用程序日志。我已经成功地做到了这一点,并以这样的方式创建了警报,如果过去 5 分钟内错误的总和超过 5,我会收到一封通知到我的电子邮件。从那时起,我一直在收到相应的电子邮件。
但是今天,AWS 给我发了三个 SNS 通知,每个都说发生了 6 个错误。但是,当我登录到我的 Cloud Watch Logs 时,在那段时间里我只能看到 6 个错误。因此,根据警报,如果过去 5 分钟内错误超过 5 个,它只需要发送 1 个警报,但它给我发送了 3 个。
我包括下面的快照。请调查这些。
我的闹钟:
AWS向我发送了以下邮件:
- ) UTC 时间 3 月 21 日星期二22:17:27
- ) UTC 时间 3 月 21 日星期二22:21:27
- ) UTC 时间 3 月 21 日星期二22:26:27
但在我的Cloud Watch Logs中,在那期间我只能找到 6 个错误:
从上图中可以清楚地看到,在 22:15:37 UTC 之后没有应用程序错误。
我一直在摸索,以找出在这种情况下收到三个通知的原因。
谁能告诉我这背后的原因?
amazon-web-services - 带有 Docker 容器的 AWS Cloudwatch 日志 - NoCredentialProviders:链中没有有效的提供程序
我的码头工人撰写文件:
我已使用 aws configure 命令将我的 AWS 凭证添加到我的 mac,并且凭证正确存储在 ~/.aws/credentials 中
当我运行 docker-compose up 时,出现以下错误:
错误:刮板无法启动服务刮板:无法初始化日志记录驱动程序:NoCredentialProviders:链中没有有效的提供者。
已弃用。有关详细消息,请参阅 aws.Config.CredentialsChainVerboseErrors
错误:启动项目时遇到错误。
我相信这是因为我需要在 Docker 守护进程中设置 AWS 凭证,但我无法弄清楚这是如何在 macOS Sierra 上完成的。
amazon-web-services - 从 Docker 容器记录到 AWS Cloudwatch
我在 AWS EC2 实例上使用 docker-compose 运行了一些 docker 容器。我希望将日志发送到 AWS CloudWatch。我在从运行 Sierra 的 Mac 将日志从 docker 容器获取到 AWS CloudWatch 时也遇到了问题,因此我已经转移到运行 Amazon AMI 的 EC2 实例。
我的码头工人撰写文件:
当我运行 docker-compose up 时,出现以下错误:
刮刀_1 | 警告:“awslogs”日志驱动程序没有可用的日志
但容器正在运行。AWS CloudWatch 流上不显示任何日志。我已将 IAM 角色分配给运行 docker-containers 的 EC2 容器。
我现在完全不知道我应该做什么,并且会欣赏任何建议。
amazon-web-services - Amazon CloudWatch Logs 是否支持换行符?
我们正在将我们的日志聚合到 Amazon CloudWatch Logs。
我们希望能够附加堆栈跟踪。CloudWatch Log 的 Web 界面是否会解析换行符以使其更具可读性?
java - 从java客户端调用lambda函数后如何访问lambda函数调用的cloud-watch日志
我试图在调用 lambda 函数后检索特定于 lambda 函数的日志。调用函数后是否有适当的 aws java sdk 方法来检索 lambda 执行的日志?
amazon-web-services - 使用 JSON 属性名称中的特殊字符搜索 AWS CloudWatch Logs
我们使用 AWS CloudWatch Logs 来调试我们在 AWS 上运行的服务,并且我们日志中的许多属性名称使用冒号作为分隔符,但我们无法弄清楚如何使用这些属性名称进行搜索。
这是一个日志示例:
使用控制台,我尝试了这样的查询:
当然,特殊字符通常在查询语言和其他语言中有特定用途,所以我试图以某种方式对其进行转义。
我想不出什么都行,也许这是不可能的。文档似乎没有解决这种情况。
任何人都知道如何搜索属性包含特殊字符的 JSON 日志,或者明确知道这是否受支持?
在新的工作中,我们将使用不同的分隔符,但我们不会返回并在任何地方更改它。
amazon-web-services - lambda 函数日志未正确记录在 cloudwatch 中
我正在从家庭自动化技能集中调用 lambda 函数。
当我使用测试按钮测试我的 lambda 函数时,所有预期的日志都写在 cloudwatch 中,但在真实场景中,cloudwatch 上没有日志。有人可以建议为什么吗?
amazon-web-services - AWS CloudWatch 警报不会通过 SNS 触发
我有一些 docker 实例,我想通过使用 amazon awslogs 作为每个 docker 实例的客户端来监控 docker 的运行状况,并且我已成功配置为接收 CloudWatch 的日志文件,然后我像这样配置警报:
阈值:连续 1 个周期“大于 0”,
时间:5分钟,
统计:总和
警报配置在 Amazon Simple Notification Service (SNS) 之上。我在 SNS 中有一个主题,然后我订阅了该主题的电子邮件并通过向该主题发送原始消息进行测试,然后我可以在我的电子邮件中接收该消息。警报被配置为向该主题发送通知。
在这里您可以看到指标的图表:
在这里,您可以看到指标远远超过 0,因为我的阈值连续 1 个期间为“大于 0”。但是除了警报状态从“状态不足”转换为“状态为警报”时,我无法收到任何电子邮件。