The logfile I need to ingest:
{
  "policy": {
    "name": "account-cloudtrail-enabled",
    "resource": "account",
    "description": "Checks to make sure CloudTrail is enabled on the account\nfor all regions.\n",
    "filters": [
      {
        "type": "check-cloudtrail",
        "global-events": false,
        "multi-region": false,
        "running": false,
        "file-digest": false
      }
    ]
  },
  "version": "0.9.13",
  "execution": {
    "id": "1ebc9860-6d1a-4e42-b809-0fad544479fe",
    "start": 1638815388.1077602,
    "end_time": 1638815388.935413,
    "duration": 0.8276526927947998
  },
  "config": {
    "region": "us-east-2",
    "regions": [
      "us-east-2"
    ],
    "cache": "~/.cache/cloud-custodian.cache",
    "profile": "CCAdmin",
    "account_id": "353563186465",
    "assume_role": null,
    "external_id": null,
    "log_group": null,
    "tracer": null,
    "metrics_enabled": null,
    "metrics": null,
    "output_dir": "s3://testcclog/custodian/",
    "cache_period": 15,
    "dryrun": false,
    "authorization_file": null,
    "subparser": "run",
    "config": null,
    "configs": [
      "./policies/root_account-compliance.yml"
    ],
    "policy_filters": [],
    "resource_types": [],
    "verbose": null,
    "quiet": null,
    "debug": false,
    "skip_validation": false,
    "command": "c7n.commands.run",
    "vars": null
  },
  "sys-stats": {},
  "api-stats": {
    "iam.ListAccountAliases": 1,
    "cloudtrail.DescribeTrails": 1
  },
  "metrics": [
    {
      "MetricName": "ResourceCount",
      "Timestamp": "2021-12-06T11:29:48.934903",
      "Value": 0,
      "Unit": "Count"
    },
    {
      "MetricName": "ResourceTime",
      "Timestamp": "2021-12-06T11:29:48.934920",
      "Value": 0.8265008926391602,
      "Unit": "Seconds"
    }
  ]
}
but logstash chokes on it:
[2021-12-16T22:26:37,524][DEBUG][logstash.filters.json    ][main][5760067d2c61b3b7732f165643696a8b23c1d8f10e61ade0441a188868bbd967] Running json filter {:event=>{"@version"=>"1", "path"=>"/etc/logstash/sample/raw.log", "@timestamp"=>2021-12-16T22:26:37.324Z, "host"=>"ip-172-31-29-221.us-east-2.compute.internal", "message"=>"{\n  \"policy\": {\n    \"name\": \"account-cloudtrail-enabled\",\n    \"resource\": \"account\",\n    \"description\": \"Checks to make sure CloudTrail is enabled on the account\\nfor all regions.\\n\",\n    \"filters\": [\n      {\n        \"type\": \"check-cloudtrail\",\n        \"global-events\": false,\n        \"multi-region\": false,\n        \"running\": false,\n        \"file-digest\": false\n      }\n    ]\n  },\n  \"version\": \"0.9.13\",\n  \"execution\": {\n    \"id\": \"1ebc9860-6d1a-4e42-b809-0fad544479fe\",\n    \"start\": 1638815388.1077602,\n    \"end_time\": 1638815388.935413,\n    \"duration\": 0.8276526927947998\n  },\n  \"config\": {\n    \"region\": \"us-east-2\",\n    \"regions\": [\n      \"us-east-2\"\n    ],\n    \"cache\": \"~/.cache/cloud-custodian.cache\",\n    \"profile\": \"CCAdmin\",\n    \"account_id\": \"353563186465\",\n    \"assume_role\": null,\n    \"external_id\": null,\n    \"log_group\": null,\n    \"tracer\": null,\n    \"metrics_enabled\": null,\n    \"metrics\": null,\n    \"output_dir\": \"s3://testcclog/custodian/\",\n    \"cache_period\": 15,\n    \"dryrun\": false,\n    \"authorization_file\": null,\n    \"subparser\": \"run\",\n    \"config\": null,\n    \"configs\": [\n      \"./policies/root_account-compliance.yml\"\n    ],\n    \"policy_filters\": [],\n    \"resource_types\": [],\n    \"verbose\": null,\n    \"quiet\": null,\n    \"debug\": false,\n    \"skip_validation\": false,\n    \"command\": \"c7n.commands.run\",\n    \"vars\": null\n  },\n  \"sys-stats\": {},\n  \"api-stats\": {\n    \"iam.ListAccountAliases\": 1,\n    \"cloudtrail.DescribeTrails\": 1\n  },\n  \"metrics\": [\n    {\n      \"MetricName\": \"ResourceCount\",\n      \"Timestamp\": \"2021-12-06T11:29:48.934903\",\n      \"Value\": 0,\n      \"Unit\": \"Count\"\n    },\n    {\n      \"MetricName\": \"ResourceTime\",\n      \"Timestamp\": \"2021-12-06T11:29:48.934920\",\n      \"Value\": 0.8265008926391602,\n      \"Unit\": \"Seconds\"\n    }\n  ]\n}"}}
[2021-12-16T22:26:37,540][DEBUG][logstash.filters.json    ][main][5760067d2c61b3b7732f165643696a8b23c1d8f10e61ade0441a188868bbd967] Event after json filter {:event=>{"message"=>"{\n  \"policy\": {\n    \"name\": \"account-cloudtrail-enabled\",\n    \"resource\": \"account\",\n    \"description\": \"Checks to make sure CloudTrail is enabled on the account\\nfor all regions.\\n\",\n    \"filters\": [\n      {\n        \"type\": \"check-cloudtrail\",\n        \"global-events\": false,\n        \"multi-region\": false,\n        \"running\": false,\n        \"file-digest\": false\n      }\n    ]\n  },\n  \"version\": \"0.9.13\",\n  \"execution\": {\n    \"id\": \"1ebc9860-6d1a-4e42-b809-0fad544479fe\",\n    \"start\": 1638815388.1077602,\n    \"end_time\": 1638815388.935413,\n    \"duration\": 0.8276526927947998\n  },\n  \"config\": {\n    \"region\": \"us-east-2\",\n    \"regions\": [\n      \"us-east-2\"\n    ],\n    \"cache\": \"~/.cache/cloud-custodian.cache\",\n    \"profile\": \"CCAdmin\",\n    \"account_id\": \"353563186465\",\n    \"assume_role\": null,\n    \"external_id\": null,\n    \"log_group\": null,\n    \"tracer\": null,\n    \"metrics_enabled\": null,\n    \"metrics\": null,\n    \"output_dir\": \"s3://testcclog/custodian/\",\n    \"cache_period\": 15,\n    \"dryrun\": false,\n    \"authorization_file\": null,\n    \"subparser\": \"run\",\n    \"config\": null,\n    \"configs\": [\n      \"./policies/root_account-compliance.yml\"\n    ],\n    \"policy_filters\": [],\n    \"resource_types\": [],\n    \"verbose\": null,\n    \"quiet\": null,\n    \"debug\": false,\n    \"skip_validation\": false,\n    \"command\": \"c7n.commands.run\",\n    \"vars\": null\n  },\n  \"sys-stats\": {},\n  \"api-stats\": {\n    \"iam.ListAccountAliases\": 1,\n    \"cloudtrail.DescribeTrails\": 1\n  },\n  \"metrics\": [\n    {\n      \"MetricName\": \"ResourceCount\",\n      \"Timestamp\": \"2021-12-06T11:29:48.934903\",\n      \"Value\": 0,\n      \"Unit\": \"Count\"\n    },\n    {\n      \"MetricName\": \"ResourceTime\",\n      \"Timestamp\": \"2021-12-06T11:29:48.934920\",\n      \"Value\": 0.8265008926391602,\n      \"Unit\": \"Seconds\"\n    }\n  ]\n}", "@timestamp"=>2021-12-16T22:26:37.324Z, "@version"=>"1", "cc-data"=>{"api-stats"=>{"cloudtrail.DescribeTrails"=>1, "iam.ListAccountAliases"=>1}, "version"=>"0.9.13", "config"=>{"profile"=>"CCAdmin", "command"=>"c7n.commands.run", "region"=>"us-east-2", "cache_period"=>15, "metrics"=>nil, "dryrun"=>false, "configs"=>["./policies/root_account-compliance.yml"], "resource_types"=>[], "authorization_file"=>nil, "assume_role"=>nil, "verbose"=>nil, "policy_filters"=>[], "vars"=>nil, "log_group"=>nil, "output_dir"=>"s3://testcclog/custodian/", "regions"=>["us-east-2"], "quiet"=>nil, "external_id"=>nil, "skip_validation"=>false, "cache"=>"~/.cache/cloud-custodian.cache", "tracer"=>nil, "subparser"=>"run", "config"=>nil, "debug"=>false, "account_id"=>"353563186465", "metrics_enabled"=>nil}, "execution"=>{"duration"=>0.8276526927947998e0, "start"=>0.16388153881077602e10, "id"=>"1ebc9860-6d1a-4e42-b809-0fad544479fe", "end_time"=>0.1638815388935413e10}, "metrics"=>[{"Unit"=>"Count", "MetricName"=>"ResourceCount", "Timestamp"=>"2021-12-06T11:29:48.934903", "Value"=>0}, {"Unit"=>"Seconds", "MetricName"=>"ResourceTime", "Timestamp"=>"2021-12-06T11:29:48.934920", "Value"=>0.8265008926391602e0}], "policy"=>{"name"=>"account-cloudtrail-enabled", "resource"=>"account", "filters"=>[{"file-digest"=>false, "type"=>"check-cloudtrail", "running"=>false, "global-events"=>false, "multi-region"=>false}], "description"=>"Checks to make sure CloudTrail is enabled on the account\nfor all regions.\n"}, "sys-stats"=>{}}, "host"=>"ip-172-31-29-221.us-east-2.compute.internal", "path"=>"/etc/logstash/sample/raw.log"}}
[2021-12-16T22:26:37,548][WARN ][logstash.filters.split   ][main][9222132c50512e9057c2b8b64c03cd0c4160ce44e794e7b898d3c819d3fdf7de] Only String and Array types are splittable. field:metrics is of type = NilClass
Configs
input:
input {
    file {
        start_position => "beginning"
        path => "/etc/logstash/sample/cctest1.log"
        sincedb_path => "/dev/null"
        codec => multiline {
            pattern => "^({|\[)\s*$"
            negate => true
            auto_flush_interval => 1
            multiline_tag => ""
            what => "previous"
        }
    }
}
filter:
filter {
    json {
        source => "message"
        target => "cc-data"
    }
    split {
        field => "metrics"
    }
    mutate {
        remove_field => ["@timestamp", "@version", "host"]
    }
}
I know that if I remove either of the objects in "metrics", it works. I was hoping that a "split" would fix this... but maybe I did it wrong?
