标签: aws-cloudwatch-log-insights

AWS CloudWatch Logs Insights-导出完整查询结果吗?

我有一个CloudWatch Logs Insights查询,该查询显示“匹配7000条记录”,但是当我尝试操作->下载查询结果(CSV)时,仅导出1000条记录(与控制台中显示的相同)。我找不到任何导出“完整”查询结果的方法。我有什么想念的吗?

amazon-web-services aws-cloudwatch-log-insights

4
推荐指数
2
解决办法
485
查看次数

如何配置 AWS cloudWatchAgent 以从 EC2 实例上的文件夹递归收集日志?

logs在 EC2 实例上有一个目录,并在那里运行云监视代理。在 CloudWatch 代理配置文件中,我提供了日志文件详细信息,如下所示

"logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/home/ec2-user/logs/**/*",
            "log_group_name": "test0",
            "log_stream_name": "{instance_id}"
          }
        ]
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

但这不是递归收集日志。我希望云代理将一个目录下的所有日志(也有嵌套目录)发送到云监视日志。这怎么可能?

amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights

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

如何在 AWS CloudWatch Insights 中按字段然后按 bin 聚合日志?

我正在尝试执行一个查询,该查询将首先按字段计数聚合,然后通过bin(1h)例如我想得到如下结果:

# Date                     Field Count
1 2019-01-01T10:00:00.000Z A     123
2 2019-01-01T11:00:00.000Z A     456
3 2019-01-01T10:00:00.000Z B     567
4 2019-01-01T11:00:00.000Z B     789
Run Code Online (Sandbox Code Playgroud)

不确定是否可能,查询应该是这样的:

fields Field
| stats count() by Field by bin(1h)
Run Code Online (Sandbox Code Playgroud)

任何想法如何实现这一目标?

amazon-cloudwatch aws-cloudwatch-log-insights

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

如何使用 AWS 控制台/GUI 在已创建的 ECS Fargate 上启用容器洞察

如何在已创建的 ECS Fargate 上启用容器洞察?我正在运行多个 ECS 集群,在创建这些集群时未启用容器洞察。现在我已在帐户设置中启用了该选项。但它仅适用于我将在启用它后创建的新集群。但如何在现有集群上启用它。注意我正在运行 ECS Fargate 而不是 ec2 实例。

任何帮助或文件表示赞赏。

注意: https: //docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS-cluster.html

aws ecs update-cluster-settings --cluster myCICluster --settings name=containerInsights,value=enabled
Run Code Online (Sandbox Code Playgroud)

但没有看到任何使用 GUI/AWS 控制台的选择。

containers amazon-ecs aws-fargate aws-cloudwatch-log-insights

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

在 python 中使用 boto3 查询 cloudwatch 日志中的不同值

我有一个 lambda 函数,可以将指标写入Cloudwatch. 在写入指标的同时,它会在日志组中生成一些日志。

INFO:: username: simran+test@abc.com ClinicID: 7667 nodename: MacBook-Pro-2.local

INFO:: username: simran+test2@abc.com ClinicID: 7669 nodename: MacBook-Pro-3.local

INFO:: username: simran+test@abc.com ClinicID: 7668 nodename: MacBook-Pro-4.local

INFO:: username: simran+test3@abc.com ClinicID: 7667 nodename: MacBook-Pro-5.local

INFO:: username: simran+test3@abc.com ClinicID: 7667 nodename: MacBook-Pro-2.local
Run Code Online (Sandbox Code Playgroud)

我需要一种有效的方法来获取给定的不同值。例如,我传入并期望nodenameClinicId7667ClinicId

['MacBook-Pro-2.local', 'MacBook-Pro-5.local']
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

 query = "fields @timestamp, @message | parse @message \"username: * ClinicID: * nodename: *\" as username, ClinicID, nodename | filter ClinicID = "+ clinic_id

 start_query_response = client.start_query(
        logGroupName=log_group,
        startTime=int(time.mktime((Util.utcnow() …
Run Code Online (Sandbox Code Playgroud)

python amazon-cloudwatch boto3 amazon-cloudwatchlogs aws-cloudwatch-log-insights

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

如何从CloudWatch日志中过滤掉重复值?

我的 Android 应用程序日志位于 CloudWatch 中。我正在跟踪的一个事件就是提供这样的数据。

使用“count_distinct”时,它给出的计数为 242,而使用“count”时,它给出的计数为 243。因此,存在一个重复条目。

我也有 id 字段。我想这可能会重复。我怎样才能过滤掉它?

android amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights

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

在 CloudWatch Log Insights 中更改条形图 x 轴方向

当我在 AWS CloudWatch Log Insights 中绘制数据图表时,条形图按最新到最旧(从左到右)排序,而折线图按最旧到最新(从左到右)排序,尽管设置了值,但似乎还是会发生这种情况sort。这是一个示例查询:

fields @timestamp, link_count
| sort @timestamp desc
| filter ispresent(link_count)
| stats avg(link_count) as Links by bin(1d)
Run Code Online (Sandbox Code Playgroud)

我希望条形图上的 x 轴遵循与折线图相同的顺序。只要两个方向一致,哪个方向并不重要。这可能吗?

观察每个图中的 x 轴值:

线图可视化 线图可视化

条形图可视化 条形图可视化

aws-cloudwatch-log-insights

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

在 CloudWatch Logs Insights 中解析消息

以下是 lambda 的两个示例消息: 警告:

Field           Value
@ingestionTime  1653987507053
@log    XXXXXXX:/aws/lambda/lambda-name
@logStream 2022/05/31/[$LATEST]059106a15343448486b43f8b1168ec64
@message    2022-05-31T08:58:18.293Z b1266ad9-95aa-4c4e-9416-e86409f6455e WARN error catched and errorHandler configured, handling the error: Error: Error while executing handler: TypeError: Cannot read property 'replace' of undefined
@requestId  b1266ad9-95aa-4c4e-9416-e86409f6455e
@timestamp  1653987498296
Run Code Online (Sandbox Code Playgroud)

错误:

Field           Value
@ingestionTime  1653917638480
@log    XXXXXXXX:/aws/lambda/lambda-name
@logStream 2022/05/30/[$LATEST]bf8ba722ecd442dbafeaeeb3e7251024
@message    2022-05-30T13:33:57.406Z 8b5ec77c-fb30-4eb3-bd38-04a10abae403 ERROR Invoke Error {"errorType":"Error","errorMessage":"Error while executing configured error handler: Error: No body found in handler event","stack":["Error: Error while executing configured error handler: Error: No body found in handler …
Run Code Online (Sandbox Code Playgroud)

amazon-cloudwatch aws-lambda aws-cloudwatch-log-insights

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

CloudWatch:计算日志文件中特定字符串的出现次数

我有包含特定弹簧模式的日志文件。这些字符串模式在每个日志事件中频繁出现。例如:

<abc>108</abc>xyz<abc>22222</abc>
Run Code Online (Sandbox Code Playgroud)

我想统计<abc>CloudWatch 中特定时间段内 的出现情况。

我这样做是为了计算每分钟发生的次数:

fields @timestamp
| parse @message "<abc>" as abc
| filter strcontains(@message, "<abc>")
| stats count(abc) by bin(1m)
Run Code Online (Sandbox Code Playgroud)

但它只对<abc>至少包含一次的日志事件计数 1。在上面的例子中,我期望有两个。

我怎样才能实现这个目标?

amazon-cloudwatch aws-cloudwatch-log-insights

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

AWS with .NET - 从 CloudWatch 读取日志 - 没有返回日志数据

我正在尝试使用 .NET 从 CloudWatch 读取使用 SNS 发送的消息的日志数据。

从 CloudWatch 控制台 (CloudWatch \ CloudWatch Logs \ Logs Insights),我输入:

Date range: custom (2w)
LogGroup: sns/ap...../8...../LogName 
Query: fields @timestamp, @message | sort @timestamp desc | limit 20
Run Code Online (Sandbox Code Playgroud)

它返回大量日志记录(@timestamp | @message)

我正在尝试使用 .net AWS SDK 从 c# 执行相同的操作:

public async Task GetLogs()
{
    string logGroupName = "sns/ap...../8...../LogName";

    AWSOptions options = configuration.GetAWSOptions();
    IAmazonCloudWatchLogs logs = options.CreateServiceClient<IAmazonCloudWatchLogs>();

    StartQueryRequest startQueryRequest = new StartQueryRequest();
    startQueryRequest.LogGroupName = logGroupName;
    startQueryRequest.StartTime = 1577850562; //1 Jan 2020
    TimeSpan t = DateTime.UtcNow - …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services .net-core amazon-cloudwatchlogs aws-cloudwatch-log-insights

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