403Webshell
Server IP : 54.233.248.239  /  Your IP : 172.28.1.13
Web Server : Apache
System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/aws/amazon-cloudwatch-agent/doc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/aws/amazon-cloudwatch-agent/doc/amazon-cloudwatch-agent-schema.json
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "description": "Amazon CloudWatch Agent JSON Schema",
  "properties": {
    "agent": {
      "$ref": "#/definitions/agentDefinition"
    },
    "metrics": {
      "$ref": "#/definitions/metricsDefinition"
    },
    "logs": {
      "$ref": "#/definitions/logsDefinition"
    },
    "traces": {
      "$ref": "#/definitions/tracesDefinition"
    }
  },
  "additionalProperties": true,
  "definitions": {
    "agentDefinition": {
      "type": "object",
      "description": "General configuration for Amazon CloudWatch Agent",
      "properties": {
        "metrics_collection_interval": {
          "description": "How often the metrics defined will be collected",
          "$ref": "#/definitions/timeIntervalDefinition"
        },
        "logfile": {
          "description": "Specifies the location to where the CloudWatch agent writes log messages. If you specify an empty string, the log goes to stdout",
          "type": "string",
          "maxLength": 4096
        },
        "region": {
          "description": "Specifies the region to use for the CloudWatch endpoint",
          "type": "string",
          "minLength": 1,
          "maxLength": 64
        },
        "debug": {
          "description": "Specifies running the CloudWatch agent with debug log messages",
          "type": "boolean"
        },
        "aws_sdk_log_level": {
          "description": "Specifies running the CloudWatch agent with AWS SDK debug logging. Multiple options must be separated by vertical bars.",
          "type": "string"
        },
        "credentials": {
          "description": "The credentials with which agent can access aws resources",
          "$ref": "#/definitions/credentialsDefinition"
        },
        "omit_hostname": {
          "description": "Hostname will be tagged by default unless you specifying append_dimensions, this flag allow you to omit hostname from tags without specifying append_dimensions",
          "type": "boolean"
        },
        "service.name": {
          "description": "The name of the service to associate with the telemetry produced by the agent.",
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "deployment.environment": {
          "description": "The name of the environment to associate with the telemetry produced by the agent.",
          "type": "string",
          "minLength": 1,
          "maxLength": 259
        }
      },
      "additionalProperties": true
    },
    "metricsDefinition": {
      "type": "object",
      "description": "configuration for metrics to be collected",
      "properties": {
        "namespace": {
          "type": "string",
          "description": "The namespace to use for the metrics collected by the agent. The default is CWAgent",
          "minLength": 1,
          "maxLength": 255
        },
        "aggregation_dimensions": {
          "description": "Specifies the dimensions on which collected metrics are to be aggregated",
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            },
            "uniqueItems": true,
            "maxItems": 30
          },
          "uniqueItems": true,
          "minItems": 1,
          "maxItems": 1024
        },
        "append_dimensions": {
          "type": "object",
          "description": "Adds Amazon EC2 metric dimensions to all metrics collected by the agent, we only support fixed key value pair now: ImageId:{aws:ImageId},InstanceId:{aws:InstanceId},InstanceType:{aws:InstanceType},AutoScalingGroupName:{aws:AutoScalingGroupName}. ",
          "maxProperties": 30,
          "additionalProperties": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          }
        },
        "metrics_destinations": {
          "type": "object",
          "properties": {
            "cloudwatch": {
            },
            "amp": {
              "$ref": "#/definitions/metricsDefinition/definitions/ampDefinition"
            }
          },
          "minProperties": 1,
          "additionalProperties": false
        },
        "metrics_collected": {
          "type": "object",
          "properties": {
            "collectd": {
              "$ref": "#/definitions/metricsDefinition/definitions/collectdDefinitions"
            },
            "cpu": {
              "$ref": "#/definitions/metricsDefinition/definitions/cpuDefinitions"
            },
            "disk": {
              "$ref": "#/definitions/metricsDefinition/definitions/diskDefinitions"
            },
            "diskio": {
              "$ref": "#/definitions/metricsDefinition/definitions/diskioDefinitions"
            },
            "statsd": {
              "$ref": "#/definitions/metricsDefinition/definitions/statsdDefinitions"
            },
            "swap": {
              "$ref": "#/definitions/metricsDefinition/definitions/swapDefinitions"
            },
            "mem": {
              "$ref": "#/definitions/metricsDefinition/definitions/memDefinitions"
            },
            "net": {
              "$ref": "#/definitions/metricsDefinition/definitions/netDefinitions"
            },
            "netstat": {
              "$ref": "#/definitions/metricsDefinition/definitions/netstatDefinitions"
            },
            "processes": {
              "$ref": "#/definitions/metricsDefinition/definitions/processesDefinitions"
            },
            "procstat": {
              "$ref": "#/definitions/metricsDefinition/definitions/procstatDefinitions"
            },
            "ethtool": {
              "$ref": "#/definitions/metricsDefinition/definitions/ethtoolDefinitions"
            },
            "nvidia_smi": {
              "$ref": "#/definitions/metricsDefinition/definitions/nvidiaGpuDefinitions"
            },
            "jmx": {
              "$ref": "#/definitions/metricsDefinition/definitions/jmxDefinitions"
            },
            "otlp": {
              "$ref": "#/definitions/otlpDefinitions"
            },
            "prometheus": {
             "$ref": "#/definitions/metricsDefinition/definitions/prometheusDefinitions"
            }
          },
          "minProperties": 1,
          "additionalProperties": {
            "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
          }
        },
        "force_flush_interval": {
          "description": "Max time to wait before batch publishing the metrics, unit is second.",
          "$ref": "#/definitions/timeIntervalDefinition"
        },
        "credentials": {
          "description": "The credentials with which agent can access aws resources",
          "$ref": "#/definitions/credentialsDefinition"
        },
        "endpoint_override": {
          "description": "The override endpoint to use to access cloudwatch",
          "$ref": "#/definitions/endpointOverrideDefinition"
        },
        "service.name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        "deployment.environment": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        }
      },
      "additionalProperties": false,
      "required": [
        "metrics_collected"
      ],
      "definitions": {
        "basicMetricDefinition": {
          "type": "object",
          "properties": {
            "metrics_collection_interval": {
              "$ref": "#/definitions/timeIntervalDefinition"
            },
            "append_dimensions": {
              "$ref": "#/definitions/generalAppendDimensionsDefinition"
            },
            "measurement": {
              "$ref": "#/definitions/metricsDefinition/definitions/metricsMeasurementDefinition"
            }
          },
          "required": [
            "measurement"
          ]
        },
        "basicResourcesDefinition": {
          "type": "object",
          "properties": {
            "resources": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 4096
              },
              "maxItems": 256
            }
          }
        },
        "collectdDefinitions": {
          "type": "object",
          "properties": {
            "service_address": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "name_prefix": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "collectd_auth_file": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "collectd_security_level": {
              "type": "string",
              "enum": [
                "none",
                "sign",
                "encrypt"
              ]
            },
            "collectd_typesdb": {
              "type": "array",
              "maxItems": 10,
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 4096
              }
            },
            "metrics_aggregation_interval": {
              "$ref": "#/definitions/timeIntervalWithZeroDefinition"
            },
            "drop_original_metrics": {
              "type": "array",
              "items": { "type": "string" },
              "minItems": 1,
              "uniqueItems": true
            },
            "service.name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "deployment.environment": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "additionalProperties": false
        },
        "cpuDefinitions": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
            },
            {
              "type": "object",
              "properties": {
                "resources": {
                  "type": "array",
                  "maxItems": 1,
                  "items": {
                    "type": "string",
                    "enum": [
                      "*"
                    ]
                  }
                },
                "totalcpu": {
                  "type": "boolean"
                }
              }
            }
          ]
        },
        "diskDefinitions": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
            },
            {
              "$ref": "#/definitions/metricsDefinition/definitions/basicResourcesDefinition"
            },
            {
              "type": "object",
              "properties": {
                "ignore_file_system_types": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096
                  },
                  "maxItems": 256
                },
                "drop_device": {
                  "type": "boolean"
                }
              }
            }
          ]
        },
        "diskioDefinitions": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
            },
            {
              "$ref": "#/definitions/metricsDefinition/definitions/basicResourcesDefinition"
            }
          ]
        },
        "jmxDefinitions": {
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "maxItems": 255,
              "items": {
                "$ref": "#/definitions/jmxObjectDefinition"
              }
            },
            {
              "$ref": "#/definitions/jmxObjectDefinition"
            }
          ]
        },
        "statsdDefinitions": {
          "type": "object",
          "properties": {
            "allowed_pending_messages": {
              "type": "integer",
              "minimum": 1,
              "maximum": 2147483647
            },
            "service_address": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "metrics_collection_interval": {
              "$ref": "#/definitions/timeIntervalDefinition"
            },
            "metrics_aggregation_interval": {
              "$ref": "#/definitions/timeIntervalWithZeroDefinition"
            },
            "metric_separator": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "drop_original_metrics": {
              "type": "array",
              "items": { "type": "string" },
              "minItems": 1,
              "uniqueItems": true
            },
            "service.name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "deployment.environment": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "additionalProperties": false
        },
        "ampDefinition": {
          "type": "object",
          "properties": {
            "workspace_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          },
          "required": [
            "workspace_id"
          ],
          "additionalProperties": false
        },
        "swapDefinitions": {
          "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
        },
        "memDefinitions": {
          "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
        },
        "netDefinitions": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
            },
            {
              "$ref": "#/definitions/metricsDefinition/definitions/basicResourcesDefinition"
            }
          ]
        },
        "netstatDefinitions": {
          "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
        },
        "processesDefinitions": {
          "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
        },
        "procstatDefinitions": {
          "type": "array",
          "minItems": 1,
          "maxItems": 255,
          "items": {
            "allOf": [
              {
                "$ref": "#/definitions/metricsDefinition/definitions/basicMetricDefinition"
              },
              {
                "type": "object",
                "properties": {
                  "pid_file": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "descriptions": "the path of pid_file"
                  },
                  "exe": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "descriptions": "a regex matches the names of processes"
                  },
                  "pattern": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "descriptions": "a regex matches the whole command of processes"
                  },
                  "measurement": {
                    "$ref": "#/definitions/metricsDefinition/definitions/metricsMeasurementWithoutDecorationDefinition"
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "pid_file"
                    ]
                  },
                  {
                    "required": [
                      "exe"
                    ]
                  },
                  {
                    "required": [
                      "pattern"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "ethtoolDefinitions": {
          "type": "object",
          "properties": {
            "interface_include": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "interface_exclude": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "metrics_include": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "append_dimensions": {
              "$ref": "#/definitions/generalAppendDimensionsDefinition"
            },
            "drop_original_metrics": {
              "type": "array",
              "items": { "type": "string" },
              "minItems": 1,
              "uniqueItems": true
            }
          },
          "additionalProperties": false
        },
        "nvidiaGpuDefinitions": {
          "type": "object",
          "properties": {
            "measurement": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            }
          },
          "metrics_collection_interval": {
            "$ref": "#/definitions/timeIntervalDefinition"
          }
        },
        "metricsMeasurementWithoutDecorationDefinition": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "uniqueItems": true
        },
        "metricsMeasurementDefinition": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "rename": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "unit": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                }
              }
            ]
          },
          "uniqueItems": true
        },
        "prometheusDefinitions": {
          "type": "object",
          "properties": {
            "prometheus_config_path": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          },
          "required": [
            "prometheus_config_path"
          ],
          "additionalProperties": false
        }
      }
    },
    "logsDefinition": {
      "type": "object",
      "descriptions": "configuration for collecting logs and upload to cloudWatch log service",
      "properties": {
        "logs_collected": {
          "type": "object",
          "properties": {
            "files": {
              "$ref": "#/definitions/logsDefinition/definitions/logsFilesDefinition"
            },
            "windows_events": {
              "$ref": "#/definitions/logsDefinition/definitions/logsWindowsEventsDefinition"
            }
          },
          "minProperties": 1,
          "additionalProperties": false
        },
        "metrics_collected": {
          "type": "object",
          "properties": {
            "app_signals": {
              "type": "object",
              "properties": {
                "hosted_in": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 1024
                },
                "rules": {
                  "description": "Custom rules defined by customer",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "selectors": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "dimension": {
                              "description": "dimension used for matching",
                              "type": "string",
                              "minLength": 1
                            },
                            "match": {
                              "description": "regex used for match",
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "required": [
                            "dimension",
                            "match"
                          ]
                        }
                      },
                      "replacements": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "target_dimension": {
                              "description": "dimension to be replaced",
                              "type": "string",
                              "minLength": 1
                            },
                            "value": {
                              "description": "replacement value",
                              "type": "string"
                            }
                          },
                          "required": [
                            "target_dimension",
                            "value"
                          ]
                        }
                      },
                      "action": {
                        "description": "action to be done, either keep, drop or replace",
                        "type": "string",
                        "enum": [
                          "drop",
                          "keep",
                          "replace"
                        ]
                      },
                      "rule_name": {
                        "description": "name of rule",
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "selectors",
                      "action"
                    ]
                  }
                }
              },
              "tls": {
                "$ref": "#/definitions/tlsDefinitions"
              },
              "additionalProperties": true
            },
            "application_signals": {
              "type": "object",
              "properties": {
                "hosted_in": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 1024
                },
                "rules": {
                  "description": "Custom rules defined by customer",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "selectors": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "dimension": {
                              "description": "dimension used for matching",
                              "type": "string",
                              "minLength": 1
                            },
                            "match": {
                              "description": "regex used for match",
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "required": [
                            "dimension",
                            "match"
                          ]
                        }
                      },
                      "replacements": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "target_dimension": {
                              "description": "dimension to be replaced",
                              "type": "string",
                              "minLength": 1
                            },
                            "value": {
                              "description": "replacement value",
                              "type": "string"
                            }
                          },
                          "required": [
                            "target_dimension",
                            "value"
                          ]
                        }
                      },
                      "action": {
                        "description": "action to be done, either keep, drop or replace",
                        "type": "string",
                        "enum": [
                          "drop",
                          "keep",
                          "replace"
                        ]
                      },
                      "rule_name": {
                        "description": "name of rule",
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "selectors",
                      "action"
                    ]
                  }
                }
              },
              "tls": {
                "$ref": "#/definitions/tlsDefinitions"
              },
              "additionalProperties": true
            },
            "ecs": {
              "type": "object",
              "properties": {
                "metrics_collection_interval": {
                  "$ref": "#/definitions/timeIntervalDefinition"
                },
                "disable_metric_extraction": {
                  "description": "Disable the extraction of metrics from EMF logs",
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "kubernetes": {
              "type": "object",
              "properties": {
                "cluster_name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512
                },
                "jmx_container_insights": {
                  "description": "Enable JMX Container Insights metrics",
                  "type": "boolean"
                },
                "metrics_collection_interval": {
                  "$ref": "#/definitions/timeIntervalDefinition"
                },
                "disable_metric_extraction": {
                  "description": "Disable the extraction of metrics from EMF logs",
                  "type": "boolean"
                }
              },
              "additionalProperties": true
            },
            "prometheus": {
              "type": "object",
              "properties": {
                "cluster_name": {
                  "type": "string"
                },
                "log_group_name": {
                  "type": "string"
                },
                "prometheus_config_path": {
                  "type": "string"
                },
                "emf_processor": {
                  "$ref": "#/definitions/emfProcessorDefinition"
                },
                "ecs_service_discovery": {
                  "$ref": "#/definitions/ecsServiceDiscoveryDefinition"
                },
                "disable_metric_extraction": {
                  "description": "Disable the extraction of metrics from EMF logs",
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "otlp": {
              "$ref": "#/definitions/otlpDefinitions"
            }
          },
          "additionalProperties": true
        },
        "log_stream_name": {
          "$ref": "#/definitions/logsDefinition/definitions/logStreamNameDefinition"
        },
        "force_flush_interval": {
          "description": "Max time to wait before batch publishing the log, unit is second.",
          "$ref": "#/definitions/timeIntervalDefinition"
        },
        "credentials": {
          "description": "The credentials with which agent can access aws resources",
          "$ref": "#/definitions/credentialsDefinition"
        },
        "endpoint_override": {
          "description": "The override endpoint to use to access cloudwatch logs",
          "$ref": "#/definitions/endpointOverrideDefinition"
        },
        "service.name": {
          "description": "The name of the service to associate with the telemetry produced by the agent.",
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "deployment.environment": {
          "description": "The name of the environment to associate with the telemetry produced by the agent.",
          "type": "string",
          "minLength": 1,
          "maxLength": 259
        },
        "concurrency": {
          "description": "The number of concurrent workers available for cloudwatch logs export",
          "type": "integer",
          "minimum": 1
        }
      },
      "additionalProperties": false,
      "anyOf": [
        {
          "required": [
            "logs_collected"
          ]
        },
        {
          "required": [
            "metrics_collected"
          ]
        }
      ],
      "definitions": {
        "logsFilesDefinition": {
          "type": "object",
          "descriptions": "Specifies the log files to be collected",
          "properties": {
            "collect_list": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "file_path": {
                    "type": "string",
                    "maxLength": 4096
                  },
                  "log_group_name": {
                    "$ref": "#/definitions/logsDefinition/definitions/logGroupNameDefinition"
                  },
                  "log_stream_name": {
                    "$ref": "#/definitions/logsDefinition/definitions/logStreamNameDefinition"
                  },
                  "log_group_class": {
                    "$ref": "#/definitions/logsDefinition/definitions/logGroupClassDefinition"
                  },
                  "multi_line_start_pattern": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096
                  },
                  "timestamp_format": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096
                  },
                  "timezone": {
                    "type": "string",
                    "enum": [
                      "Local",
                      "LOCAL",
                      "UTC"
                    ]
                  },
                  "trim_timestamp" : {
                    "type": "boolean",
                    "description": "Whether to trim the timestamp in the log message"
                  },
                  "encoding": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096
                  },
                  "auto_removal": {
                    "type": "boolean"
                  },
                  "backpressure_mode": {
                    "description": "Define the strategy during backpressure condition",
                    "type": "string",
                    "enum": [
                      "fd_release"
                    ]
                  },
                  "blacklist": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096
                  },
                  "publish_multi_logs": {
                    "type": "boolean"
                  },
                  "retention_in_days": {
                    "$ref": "#/definitions/logsDefinition/definitions/retentionInDaysDefinition"
                  },
                  "filters": {
                    "type": "array",
                    "items": {
                      "$ref": "#/definitions/logsDefinition/definitions/filterDefinition"
                    }
                  },
                  "service.name": {
                    "description": "The name of the service to associate with the telemetry produced by the agent.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "deployment.environment": {
                    "description": "The name of the environment to associate with the telemetry produced by the agent.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 259
                  }
                },
                "required": [
                  "file_path"
                ],
                "additionalProperties": false
              },
              "minItems": 1,
              "maxItems": 16384,
              "uniqueItems": true
            }
          },
          "required": [
            "collect_list"
          ],
          "additionalProperties": false
        },
        "logsWindowsEventsDefinition": {
          "type": "object",
          "descriptions": "Specifies the logs to collect from servers running Windows Server",
          "properties": {
            "collect_list": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "event_name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "not": {
                      "type": "string",
                      "enum": [
                        "Forwarded Events"
                      ]
                    }
                  },
                  "event_levels": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "CRITICAL",
                        "ERROR",
                        "WARNING",
                        "INFORMATION",
                        "VERBOSE"
                      ],
                      "minItems": 1,
                      "uniqueItems": true
                    }
                  },
                  "event_ids":{
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 65535
                    },
                    "minItems": 1,
                    "uniqueItems": true
                  },
                  "filters": {
                    "type": "array",
                    "items": {
                       "$ref": "#/definitions/logsDefinition/definitions/filterDefinition"
                    }
                  },
                  "log_stream_name": {
                    "$ref": "#/definitions/logsDefinition/definitions/logStreamNameDefinition"
                  },
                  "log_group_name": {
                    "$ref": "#/definitions/logsDefinition/definitions/logGroupNameDefinition"
                  },
                  "log_group_class": {
                    "$ref": "#/definitions/logsDefinition/definitions/logGroupClassDefinition"
                  },
                  "retention_in_days": {
                    "$ref": "#/definitions/logsDefinition/definitions/retentionInDaysDefinition"
                  },
                  "event_format": {
                    "type": "string",
                    "enum": [
                      "text",
                      "xml"
                    ]
                  }
                },
                "required": [
                  "event_name"
                ],
                "anyOf": [
                  {
                    "required": ["event_levels"]
                  },
                  {
                    "required": ["event_ids"]
                  },
                  {
                    "required": ["filters"]
                  }
                ],
                "additionalProperties": false
              },
              "minItems": 1,
              "maxItems": 16384,
              "uniqueItems": true
            }
          },
          "additionalProperties": false,
          "required": [
            "collect_list"
          ]
        },
        "logGroupNameDefinition": {
          "type": "string",
          "minLength": 1,
          "maxLength": 512
        },
        "logStreamNameDefinition": {
          "type": "string",
          "minLength": 1,
          "maxLength": 512
        },
        "logGroupClassDefinition": {
          "type": "string",
          "minLength": 1,
          "maxLength": 512
        },
        "retentionInDaysDefinition": {
          "type": "integer",
          "enum": [
            -1,
            1,
            3,
            5,
            7,
            14,
            30,
            60,
            90,
            120,
            150,
            180,
            365,
            400,
            545,
            731,
            1096,
            1827,
            2192,
            2557,
            2922,
            3288,
            3653
          ]
        },
        "filterDefinition": {
          "type": "object",
          "descriptions": "Define filters to apply to the log messages in this log file to determine whether to publish the message or not",
          "additionalProperties": false,
          "properties": {
            "type": {
              "description": "Declares if the specified filter should be used to include or exclude log messages",
              "type": "string",
              "enum": [
                "include",
                "exclude"
              ]
            },
            "expression": {
              "description": "Regular expression to apply to the log message",
              "type": "string"
            }
          }
        }
      }
    },
    "tracesDefinition": {
      "type": "object",
      "descriptions": "configuration for collecting traces and uploading to x-ray service",
      "properties": {
        "traces_collected": {
          "type": "object",
          "properties": {
            "app_signals": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "application_signals": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "xray": {
              "$ref": "#/definitions/tracesDefinition/definitions/xrayDefinition"
            },
            "otlp": {
              "$ref": "#/definitions/otlpDefinitions"
            }
          },
          "minProperties": 1,
          "additionalProperties": false
        },
        "concurrency": {
          "description": "Maximum number of concurrent calls to AWS X-Ray to upload documents",
          "type": "integer",
          "minimum": 1
        },
        "buffer_size_mb": {
          "description": "Memory limit for traces in MB",
          "type": "integer",
          "minimum": 3
        },
        "resource_arn": {
          "description": "Amazon Resource Name (ARN) of the AWS resource running the agent",
          "type": "string"
        },
        "local_mode": {
          "description": "Disable EC2 instance metadata check",
          "type": "boolean"
        },
        "insecure": {
          "description": "Disable TLS certification verification",
          "type": "boolean"
        },
        "credentials": {
          "description": "The credentials with which agent can access aws resources",
          "$ref": "#/definitions/credentialsDefinition"
        },
        "proxy_override": {
          "description": "The override proxy address to upload segments to",
          "$ref": "#/definitions/endpointOverrideDefinition"
        },
        "endpoint_override": {
          "description": "The override endpoint to use to access x-ray",
          "$ref": "#/definitions/endpointOverrideDefinition"
        },
        "region_override": {
          "description": "The override region",
          "type": "string"
        },
        "transit_spans_in_otlp_format": {
          "description": "Export X-Ray to OTEL format. If not set then send spans as X-Ray format",
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "required": [
        "traces_collected"
      ],
      "definitions": {
        "xrayDefinition": {
          "type": "object",
          "properties": {
            "bind_address": {
              "description": "UDP endpoint to use to listen for X-Ray segments",
              "$ref": "#/definitions/endpointOverrideDefinition"
            },
            "tcp_proxy": {
              "description": "TCP proxy server used by the X-Ray SDK to update sampling rules",
              "$ref": "#/definitions/tcpProxyDefinition"
            }
          },
          "additionalProperties": false
        }
      }
    },
    "timeIntervalDefinition": {
      "type": "integer",
      "minimum": 1,
      "maximum": 172800
    },
    "timeIntervalWithZeroDefinition": {
      "type": "integer",
      "minimum": 0,
      "maximum": 172800
    },
    "userPortDefinition": {
      "type": "integer",
      "minimum": 1024,
      "maximum": 65535
    },
    "generalAppendDimensionsDefinition": {
      "descriptions": "Additional customized dimensions to use",
      "type": "object",
      "maxProperties": 30,
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1024
      }
    },
    "credentialsDefinition": {
      "type": "object",
      "properties": {
        "role_arn": {
          "description": "The target IAM role with which agent can access aws resources",
          "type": "string",
          "minLength": 20,
          "maxLength": 2048
        }
      },
      "additionalProperties": false
    },
    "endpointOverrideDefinition": {
      "type": "string",
      "minLength": 4,
      "maxLength": 2048
    },
    "tcpProxyDefinition": {
      "type": "object",
      "properties": {
        "bind_address": {
          "description": "TCP endpoint for proxy server",
          "$ref": "#/definitions/endpointOverrideDefinition"
        }
      },
      "additionalProperties": false
    },
    "tlsDefinitions": {
      "type": "object",
      "properties": {
        "ca_file": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "cert_file": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "key_file": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "insecure": {
          "type": "boolean"
        }
      }
    },
    "otlpDefinitions": {
      "oneOf": [
        {
          "type": "array",
          "minItems": 1,
          "maxItems": 255,
          "items": {
            "$ref": "#/definitions/otlpObjectDefinition"
          }
        },
        {
          "$ref": "#/definitions/otlpObjectDefinition"
        }
      ]
    },
    "otlpObjectDefinition": {
      "type": "object",
      "properties": {
        "grpc_endpoint": {
          "description": "gRPC endpoint to use to listen for OTLP protobuf information",
          "$ref": "#/definitions/endpointOverrideDefinition"
        },
        "http_endpoint": {
          "description": "HTTP endpoint to use to listen for OTLP JSON information",
          "$ref": "#/definitions/endpointOverrideDefinition"
        },
        "tls": {
          "$ref": "#/definitions/tlsDefinitions"
        },
        "service.name": {
          "description": "The name of the service to associate with the telemetry produced by the agent.",
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "deployment.environment": {
          "description": "The name of the environment to associate with the telemetry produced by the agent.",
          "type": "string",
          "minLength": 1,
          "maxLength": 259
        }
      },
      "additionalProperties": false
    },
    "jmxObjectDefinition": {
      "type": "object",
      "properties": {
        "endpoint": {
          "description": "The endpoint to listen for JMX",
          "$ref": "#/definitions/endpointOverrideDefinition"
        },
        "metrics_collection_interval": {
          "$ref": "#/definitions/timeIntervalDefinition"
        },
        "username": {
          "description": "The username to use for JMX authentication",
          "type": "string"
        },
        "password_file": {
          "description": "The password file to read in the passwords for JMX authentication",
          "type": "string"
        },
        "keystore_path": {
          "description": "The keystore path is required if SSL is enabled on the target JVM",
          "type": "string"
        },
        "keystore_type": {
          "description": "The keystore type if required by SSL",
          "type": "string"
        },
        "truststore_path": {
          "description": "The truststore path is required if SSL is enabled on the target JVM",
          "type": "string"
        },
        "truststore_type": {
          "description": "The truststore type if required by SSL",
          "type": "string"
        },
        "registry_ssl_enabled": {
          "description": "If SSL is enabled for RMI registry",
          "type": "boolean"
        },
        "remote_profile": {
          "description": "Supported JMX remote profiles in combination with SASL profiles",
          "type": "string"
        },
        "realm": {
          "description": "The realm, as required by remote profile SASL/DIGEST-MD5.",
          "type": "string"
        },
        "jvm": {
          "$ref": "#/definitions/jmxTargetDefinition"
        },
        "kafka": {
          "$ref": "#/definitions/jmxTargetDefinition"
        },
        "kafka-consumer": {
          "$ref": "#/definitions/jmxTargetDefinition"
        },
        "kafka-producer": {
          "$ref": "#/definitions/jmxTargetDefinition"
        },
        "tomcat": {
          "$ref": "#/definitions/jmxTargetDefinition"
        },
        "insecure": {
          "description": "Disable JMX remote TLS/password authentication requirements",
          "type": "boolean"
        },
        "append_dimensions": {
          "$ref": "#/definitions/generalAppendDimensionsDefinition"
        }
      },
      "additionalProperties": false,
      "anyOf": [
        {
          "required": [
            "jvm"
          ]
        },
        {
          "required": [
            "kafka"
          ]
        },
        {
          "required": [
            "kafka-consumer"
          ]
        },
        {
          "required": [
            "kafka-producer"
          ]
        },
        {
          "required": [
            "tomcat"
          ]
        }
      ]
    },
    "jmxTargetDefinition": {
      "type": "object",
      "properties": {
        "measurement": {
          "$ref": "#/definitions/metricsDefinition/definitions/metricsMeasurementDefinition"
        }
      },
      "required": [
        "measurement"
      ]
    },
    "ecsServiceDiscoveryDefinition": {
      "type": "object",
      "descriptions": "Define ECS service discovery for Prometheus",
      "properties": {
        "docker_label": {
          "$ref": "#/definitions/ecsServiceDiscoveryDefinition/definitions/dockerLabel"
        },
        "task_definition_list": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ecsServiceDiscoveryDefinition/definitions/taskDefinitionList"
          }
        },
        "service_name_list_for_tasks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ecsServiceDiscoveryDefinition/definitions/serviceNameListForTasks"
          }
        },
        "sd_cluster_region": {
          "description": "ECS cluster region",
          "type": "string"
        },
        "sd_frequency": {
          "description": "ECS service discovery frequency",
          "type": "string"
        },
        "sd_result_file": {
          "description": "ECS service discovery result file full path",
          "type": "string"
        },
        "sd_target_cluster": {
          "description": "The target ECS cluster to be scanned for Prometheus exporters",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "definitions": {
        "dockerLabel": {
          "type": "object",
          "descriptions": "Define ECS service discovery based on docker labels",
          "properties": {
            "sd_job_name_label": {
              "description": "Docker label name for specifying ECS service discovery job name",
              "type": "string"
            },
            "sd_metrics_path_label": {
              "description": "Docker label name for specifying the Prometheus resource path",
              "type": "string"
            },
            "sd_port_label": {
              "description": "Docker label name for specifying the Prometheus port",
              "type": "string"
            }
          }
        },
        "taskDefinitionList": {
          "type": "object",
          "descriptions": "Define ECS service discovery based on task definitions",
          "properties": {
            "sd_container_name_pattern": {
              "description": "ECS container name pattern which expose the Prometheus metrics",
              "type": "string"
            },
            "sd_job_name": {
              "description": "Service discovery result job name",
              "type": "string"
            },
            "sd_metrics_path": {
              "description": "Prometheus metrics path of the exporters",
              "type": "string"
            },
            "sd_metrics_ports": {
              "description": "Prometheus metrics port list of the exporters",
              "type": "string"
            },
            "sd_task_definition_arn_pattern": {
              "description": "ECS task definition pattern which expose the Prometheus metrics",
              "type": "string"
            }
          }
        },
        "serviceNameListForTasks": {
          "type": "object",
          "descriptions": "Define ECS service discovery based on service names",
          "properties": {
            "sd_container_name_pattern": {
              "description": "ECS container name pattern which expose the Prometheus metrics",
              "type": "string"
            },
            "sd_job_name": {
              "description": "Service discovery result job name",
              "type": "string"
            },
            "sd_metrics_path": {
              "description": "Prometheus metrics path of the exporters",
              "type": "string"
            },
            "sd_metrics_ports": {
              "description": "Prometheus metrics port list of the exporters",
              "type": "string"
            },
            "sd_service_name_pattern": {
              "description": "ECS service name pattern responsible for tasks which expose the Prometheus metrics",
              "type": "string"
            }
          }
        }
      }
    },
    "emfProcessorDefinition": {
      "type": "object",
      "descriptions": "Define EMF Processor to set metric filter",
      "properties": {
        "metric_declaration_dedup": {
          "description": "Enable the de-duplication function for the EMF metric",
          "type": "boolean"
        },
        "metric_namespace": {
          "description": "The namespace to use for the Prometheus metrics collected by the agent",
          "type": "string"
        },
        "metric_unit": {
          "description": "The metric name, metric unit map",
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        },
        "metric_declaration": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/emfProcessorDefinition/definitions/metricDeclarationDefinition"
          }
        }
      },
      "additionalProperties": false,
      "definitions": {
        "metricDeclarationDefinition": {
          "type": "object",
          "descriptions": "Define metric declaration to set EMF",
          "properties": {
            "source_labels": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "label_matcher": {
              "type": "string"
            },
            "label_separator": {
              "type": "string"
            },
            "metric_selectors": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "dimensions": {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "additionalProperties": false
        }
      }
    }
  }
}

Youez - 2016 - github.com/yon3zu
LinuXploit