# Receivers that agent needs to tests receivers: ["system","statsd","emf"] #Test case name test_case: "win_feature" validate_type: "feature" # Only support metrics/traces/logs, even in this case we validate more than logs, # we only make this data_type as a placeholder data_type: "logs" # Number of logs being written number_monitored_logs: 1 # Number of metrics to be sent or number of log lines being written each minute values_per_minute: "2" # Number of seconds the agent should run and collect the metrics. In this case, 1 minutes agent_collection_period: 60 cloudwatch_agent_config: "" # Metric that the test needs to validate; moreover, the stress validation already has # InstanceID dimension; therefore, does not need to validate it # https://github.com/aws/amazon-cloudwatch-agent-test/pull/109/files#diff-47c87373e751dd9fd5ce504e44b320765c8b84d6cde524a4e8a32cfa34674165R124-R135 metric_namespace: "CloudWatchAgentWinFeature" metric_validation: # For checking against metrics created by prometheus java agent - metric_name: "jvm_threads_current" metric_sample_count: 1 - metric_name: "jvm_gc_collection_seconds_sum" metric_sample_count: 2 - metric_name: "jvm_memory_bytes_used" metric_sample_count: 2 # Validator generates statsd metrics # https://github.com/aws/amazon-cloudwatch-agent-test/blob/4365fbdbf979756e7f6db7f795a8a84b2c4f57c1/internal/common/metrics.go#L130-L165 - metric_name: "statsd_gauge_1" metric_value: 1.0 metric_sample_count: 1 metric_dimension: - name: "metric_type" value: "gauge" - metric_name: "statsd_counter_1" metric_value: 1.0 metric_sample_count: 1 metric_dimension: - name: "metric_type" value: "counter" # Validator generates emf metrics # https://github.com/aws/amazon-cloudwatch-agent-test/blob/62930a4acf466934b3894658e2060dd5840c49c4/internal/common/metrics.go#L170-L211 - metric_name: "emf_time_1" metric_value: 1.0 metric_sample_count: 1 - metric_name: "emf_time_2" metric_value: 2.0 metric_sample_count: 1 # Validate Memory metrics - metric_name: "Available_Bytes" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Memory" - metric_name: "Cache_Faults_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Memory" - metric_name: "Page_Faults_Per_sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Memory" - metric_name: "Page_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Memory" # Validations for Logical Disks - metric_name: "Free_Space" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "LogicalDisk" - name: "instance" value: "C:" # Validations for Physical Disks - metric_name: "Disk_Time" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "PhysicalDisk" - name: "instance" value: "0 C:" - metric_name: "Write_Bytes_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "PhysicalDisk" - name: "instance" value: "0 C:" - metric_name: "Read_Bytes_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "PhysicalDisk" - name: "instance" value: "0 C:" - metric_name: "Write_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "PhysicalDisk" - name: "instance" value: "0 C:" - metric_name: "Disk_Read_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "PhysicalDisk" - name: "instance" value: "0 C:" # Validations for Processor - metric_name: "Idle_Time" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Processor" - name: "instance" value: "0" - metric_name: "Interrupt_Time" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Processor" - name: "instance" value: "0" - metric_name: "User_Time" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Processor" - name: "instance" value: "0" - metric_name: "Processor_Time" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Processor" - name: "instance" value: "0" # Validations for Network Interface - metric_name: "Bytes_Sent_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Network Interface" - name: "instance" value: "Amazon Elastic Network Adapter" - metric_name: "Bytes_Received_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Network Interface" - name: "instance" value: "Amazon Elastic Network Adapter" - metric_name: "Packets_Sent_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Network Interface" - name: "instance" value: "Amazon Elastic Network Adapter" - metric_name: "Packets_Received_Per_Sec" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "Network Interface" - name: "instance" value: "Amazon Elastic Network Adapter" # Validations for TCPv4 and TCPv6 - metric_name: "Connections_Established" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "TCPv4" - metric_name: "Connections_Established" metric_sample_count: 60 metric_dimension: - name: "objectname" value: "TCPv6" # Logs that the test needs to validate; moreover, the feature validation already has # InstanceID as a log group; therefore, does not need to pass it # https://github.com/aws/amazon-cloudwatch-agent-test/blob/96f576e865b55de5e2aa88e4cf80b79c4d3dad70/validator/validators/feature/feature_validator.go#L108-L111 # Moreover, the logs are being generated at with the generator # https://github.com/aws/amazon-cloudwatch-agent-test/blob/96f576e865b55de5e2aa88e4cf80b79c4d3dad70/internal/common/logs.go#L41-L64 # and being generated with 2 logs line per minute # https://github.com/aws/amazon-cloudwatch-agent-test/blob/96f576e865b55de5e2aa88e4cf80b79c4d3dad70/test/feature/mac/parameters.yml#L14 # and the collection period is 60. If X minutes, the logs line would be X * log lines log_validation: - log_value: "Microsoft-Windows-Security-Auditing" log_lines: 1 log_stream: "SecurityEvent" - log_value: "Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'" log_lines: 1 log_stream: "SecurityEvent" - log_value: "This is a log line." log_lines: 2 log_stream: "test1.log" - log_value: "# 0 - This is a log line." log_lines: 1 log_stream: "test1.log" - log_value: "# 1 - This is a log line." log_lines: 1 log_stream: "test1.log" - log_value: "System information log" log_level: "Information" log_lines: 1 log_stream: "System" log_source: "WindowsEvents" - log_value: "System warning log" log_level: "Warning" log_lines: 1 log_stream: "System" log_source: "WindowsEvents" - log_value: "System error log" log_level: "Error" log_lines: 1 log_stream: "System" log_source: "WindowsEvents" - log_value: "Application information log" log_level: "Information" log_lines: 1 log_stream: "Application" log_source: "WindowsEvents" - log_value: "Application warning log" log_level: "Warning" log_lines: 1 log_stream: "Application" log_source: "WindowsEvents" - log_value: "Application error log" log_level: "Error" log_lines: 1 log_stream: "Application" log_source: "WindowsEvents"