JSON to influx DB timestamp issues

Hello All
I am trying to configure telegraf to send VMware NSXT capacity data to influx DB. The JSON output from NSXT is as follows

{
“capacity_usage”: [
{
“usage_type”: “NUMBER_OF_GROUPS”,
“display_name”: “Groups”,
“current_usage_count”: 0,
“max_supported_count”: 10000,
“min_threshold_percentage”: 30,
“max_threshold_percentage”: 50,
“current_usage_percentage”: 0,
“severity”: “INFO”
},
{
“usage_type”: “NUMBER_OF_FIREWALL_SECTIONS”,
“display_name”: “System-wide Firewall Sections”,
“current_usage_count”: 2,
“max_supported_count”: 10000,
“min_threshold_percentage”: 70,
“max_threshold_percentage”: 100,
“current_usage_percentage”: 0.02,
“severity”: “INFO”
}
],
“meta_info”: {
“last_updated_timestamp”: 1589228467895,
“min_global_threshold_percentage”: 70,
“max_global_threshold_percentage”: 100
},
“unreported_usage_types”: ,
“_protection”: “NOT_PROTECTED”
}

The timestamp is a unix_ms under meta_info.last_updated_timestamp

I am using the following telegraf configuration

[[inputs.http]]
#URL for NSXT in JSON format
urls = [
https://abc/policy/api/v1/infra/capacity/dashboard/usage
]

HTTP method

method = “GET”

Optional HTTP headers

headers = {“X-Special-Header” = “Special-Value”}

HTTP entity-body to send with POST/PUT requests.

body = “”

HTTP Content-Encoding for write request body, can be set to “gzip” to

compress body or “identity” to apply no encoding.

content_encoding = “identity”

Optional file with Bearer token

file content is added as an Authorization header

bearer_token = “/path/to/file”

#Optional HTTP Basic Auth Credentials
username = “admin”
password = “abc”

#Overwrite measurement name from default http to citibikenyc
name_override = “nsxt”

#Exclude url and host items from tags
tagexclude = [“url”, “host”]

#Data from HTTP in JSON format
data_format = “json”

#Parse stationBeanList array only
#json_query = “capacity_usage”

#Set station metadata as tags
tag_keys = [“usage_type”, “display_name”]

#Do not include station landmark data as fields
fielddrop = [“landMark”]

#JSON values to set as string fields
json_string_fields = [“current_usage_count”, “max_supported_count”, “min_threshold_percentage”, “max_threshold_percentage”, “current_usage_percentage”,“last_updated_timestamp”]

#Latest station information reported at lastCommunicationTime
json_time_key = “meta_info.last_updated_timestamp”

#Time is reported in Golang “reference time” format
json_time_format = “unix_ms”

When I run telegraf -config ~/tel.conf -test -debug=true

I get an error JSON time key could not be found. What am i doing wrong ? any pointers will help

Please use the ``` around code blocks to make it easy to view.

{
  "capacity_usage": [
    {
      "usage_type": "NUMBER_OF_GROUPS",
      "display_name": "Groups",
      "current_usage_count": 0,
      "max_supported_count": 10000,
      "min_threshold_percentage": 30,
      "max_threshold_percentage": 50,
      "current_usage_percentage": 0,
      "severity": "INFO"
    },
    {
      "usage_type": "NUMBER_OF_FIREWALL_SECTIONS",
      "display_name": "System-wide Firewall Sections",
      "current_usage_count": 2,
      "max_supported_count": 10000,
      "min_threshold_percentage": 70,
      "max_threshold_percentage": 100,
      "current_usage_percentage": 0.02,
      "severity": "INFO"
    }
  ],
  "meta_info": {
    "last_updated_timestamp": 1589228467895,
    "min_global_threshold_percentage": 70,
    "max_global_threshold_percentage": 100
  },
  "unreported_usage_types": "",
  "_protection": "NOT_PROTECTED"
}

What is in the unreported_usage_types field? In discourse here, it shows up as a block?

For your config, can you confirm this is what you were using?

[[inputs.http]]
#URL for NSXT in JSON format
urls = [
“https://abc/policy/api/v1/infra/capacity/dashboard/usage”
]
# HTTP method

method = “GET”
# Optional HTTP headers
# headers = {“X-Special-Header” = “Special-Value”}
# HTTP entity-body to send with POST/PUT requests.
# body = “”
# HTTP Content-Encoding for write request body, can be set to “gzip” to
# compress body or “identity” to apply no encoding.
#content_encoding = “identity”
#Optional file with Bearer token
#file content is added as an Authorization header
#bearer_token = “/path/to/file”

#Optional HTTP Basic Auth Credentials
username = “admin”
password = “abc”

#Overwrite measurement name from default http to citibikenyc
name_override = “nsxt”

#Exclude url and host items from tags
tagexclude = [“url”, “host”]

#Data from HTTP in JSON format
data_format = “json”

#Parse stationBeanList array only
#json_query = “capacity_usage”

#Set station metadata as tags
tag_keys = [“usage_type”, “display_name”]

#Do not include station landmark data as fields
fielddrop = [“landMark”]

#JSON values to set as string fields
json_string_fields = [“current_usage_count”, “max_supported_count”, “min_threshold_percentage”, “max_threshold_percentage”, “current_usage_percentage”,“last_updated_timestamp”]

#Latest station information reported at lastCommunicationTime
json_time_key = “meta_info.last_updated_timestamp”

#Time is reported in Golang “reference time” format
json_time_format = “unix_ms”