aws / aws/amazon-cloudwatch-agent
An error prometheus scrape config will not cause agent error
- Dominant language
- Go
- Stars
- 550
- Forks
- 271
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 13
Description
promtheus config example
```yaml
# error.yml
global:
scrape_interval: 1m
scrape_timeout: 10s
scrape_configs:
- job_name: docker
docker_sd_config:
- host: unix:///var/run/docker.sock
filters:
- name: label
value:
- aaa=bbb
```
this config is not a correct config `docker_sd_config` should be `docker_sd_configs` and filters `value` should be `values` even the promtool can report the error.
```
$ promtool check config error.yml
Checking error.yml
FAILED: parsing YAML file error.yml: yaml: unmarshal errors:
line 6: field docker_sd_config not found in type config.ScrapeConfig
Checking error.yml
FAILED: parsing YAML file error.yml: yaml: unmarshal errors:
line 10: field value not found in type moby.Filter
```
but cwagent will start successfully without errors, which makes the users hard to debug some issues
```
2021/07/21 10:06:26 I! I! Detected the instance is EC2
2021/07/21 10:06:26 Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json ...
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json does not exist or cannot read. Skipping it.
2021/07/21 10:06:26 Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_cwagent-config.json ...
Valid Json input schema.
I! Detecting run_as_user...
No csm configuration found.
No metric configuration found.
Configuration validation first phase succeeded
2021/07/21 10:06:26 I! Config has been translated into TOML /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml
2021/07/21 10:06:26 Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json ...
2021/07/21 10:06:26 Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_cwagent-config.json ...
2021/07/21 10:06:26 I! Detected runAsUser: root
2021/07/21 10:06:26 I! Changing ownership of [/opt/aws/amazon-cloudwatch-agent/logs /opt/aws/amazon-cloudwatch-agent/etc /opt/aws/amazon-cloudwatch-agent/var] to 0:0
2021-07-21T10:06:26Z I! Starting AmazonCloudWatchAgent 1.247348.0
2021-07-21T10:06:26Z I! Loaded inputs: prometheus_scraper
2021-07-21T10:06:26Z I! Loaded aggregators:
2021-07-21T10:06:26Z I! Loaded processors: emfProcessor
2021-07-21T10:06:26Z I! Loaded outputs: cloudwatchlogs
2021-07-21T10:06:26Z I! Tags enabled: host=ec2
2021-07-21T10:06:26Z I! [agent] Config: Interval:1m0s, Quiet:false, Hostname:"ec2", Flush Interval:1s
2021-07-21T10:06:26Z D! [agent] Initializing plugins
2021-07-21T10:06:26Z D! [agent] Connecting outputs
2021-07-21T10:06:26Z D! [agent] Attempting connection to [outputs.cloudwatchlogs]
2021-07-21T10:06:26Z D! [agent] Successfully connected to outputs.cloudwatchlogs
2021-07-21T10:06:26Z D! [agent] Starting service inputs
2021-07-21T10:06:26Z I! [logagent] starting
2021-07-21T10:06:26Z I! [logagent] found plugin cloudwatchlogs is a log backend
```
Contributor guide
Assessment
This issue has not been assessed yet.