| 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 : |
{
"$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
}
}
}
}
}