To reproduce, build the elastic-agent docker container from the head of main and run it. You will immediately see error messages about components failing:
Exiting: error loading config file: stat metricbeat.yml: no such file or directory
{"log.level":"info","@timestamp":"2022-11-10T22:10:59.283Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"http/metrics-monitoring","state":"Failed","message":"Failed: pid '192' exited with code '1'","inputs":[{"id":"http/metrics-monitoring-metrics-monitoring-agent","state":"Failed","message":"Failed: pid '192' exited with code '1'"}],"output":{"id":"http/metrics-monitoring","state":"Failed","message":"Failed: pid '192' exited with code '1'"}},"ecs.version":"1.6.0"}
{"log.level":"info","@timestamp":"2022-11-10T22:11:08.942Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"filestream-monitoring","state":"Starting","message":"Starting: spawned pid '201'","inputs":[{"id":"filestream-monitoring-logs-monitoring-agent","state":"Starting","message":"Starting: spawned pid '201'"}],"output":{"id":"filestream-monitoring","state":"Starting","message":"Starting: spawned pid '201'"}},"ecs.version":"1.6.0"}
{"log.level":"info","@timestamp":"2022-11-10T22:11:08.993Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"system/metrics-default","state":"Starting","message":"Starting: spawned pid '209'","inputs":[{"id":"system/metrics-default-system/metrics","state":"Starting","message":"Starting: spawned pid '209'"}],"output":{"id":"system/metrics-default","state":"Starting","message":"Starting: spawned pid '209'"}},"ecs.version":"1.6.0"}
{"log.level":"info","@timestamp":"2022-11-10T22:11:09.044Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"beat/metrics-monitoring","state":"Starting","message":"Starting: spawned pid '219'","inputs":[{"id":"beat/metrics-monitoring-metrics-monitoring-beats","state":"Starting","message":"Starting: spawned pid '219'"}],"output":{"id":"beat/metrics-monitoring","state":"Starting","message":"Starting: spawned pid '219'"}},"ecs.version":"1.6.0"}
Exiting: error loading config file: stat filebeat.yml: no such file or directory
{"log.level":"info","@timestamp":"2022-11-10T22:11:09.067Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"filestream-monitoring","state":"Failed","message":"Failed: pid '201' exited with code '1'","inputs":[{"id":"filestream-monitoring-logs-monitoring-agent","state":"Failed","message":"Failed: pid '201' exited with code '1'"}],"output":{"id":"filestream-monitoring","state":"Failed","message":"Failed: pid '201' exited with code '1'"}},"ecs.version":"1.6.0"}
Exiting: error loading config file: stat metricbeat.yml: no such file or directory
{"log.level":"info","@timestamp":"2022-11-10T22:11:09.135Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"system/metrics-default","state":"Failed","message":"Failed: pid '209' exited with code '1'","inputs":[{"id":"system/metrics-default-system/metrics","state":"Failed","message":"Failed: pid '209' exited with code '1'"}],"output":{"id":"system/metrics-default","state":"Failed","message":"Failed: pid '209' exited with code '1'"}},"ecs.version":"1.6.0"}
Exiting: error loading config file: stat metricbeat.yml: no such file or directory
{"log.level":"info","@timestamp":"2022-11-10T22:11:09.175Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"beat/metrics-monitoring","state":"Failed","message":"Failed: pid '219' exited with code '1'","inputs":[{"id":"beat/metrics-monitoring-metrics-monitoring-beats","state":"Failed","message":"Failed: pid '219' exited with code '1'"}],"output":{"id":"beat/metrics-monitoring","state":"Failed","message":"Failed: pid '219' exited with code '1'"}},"ecs.version":"1.6.0"}
{"log.level":"info","@timestamp":"2022-11-10T22:11:09.289Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"http/metrics-monitoring","state":"Starting","message":"Starting: spawned pid '227'","inputs":[{"id":"http/metrics-monitoring-metrics-monitoring-agent","state":"Starting","message":"Starting: spawned pid '227'"}],"output":{"id":"http/metrics-monitoring","state":"Starting","message":"Starting: spawned pid '227'"}},"ecs.version":"1.6.0"}
Exiting: error loading config file: stat metricbeat.yml: no such file or directory
{"log.level":"info","@timestamp":"2022-11-10T22:11:09.410Z","log.origin":{"file.name":"coordinator/coordinator.go","file.line":325},"message":"Existing component state changed","component":{"id":"http/metrics-monitoring","state":"Failed","message":"Failed: pid '227' exited with code '1'","inputs":[{"id":"http/metrics-monitoring-metrics-monitoring-agent","state":"Failed","message":"Failed: pid '227' exited with code '1'"}],"output":{"id":"http/metrics-monitoring","state":"Failed","message":"Failed: pid '227' exited with code '1'"}},"ecs.version":"1.6.0"}
To reproduce, build the elastic-agent docker container from the head of main and run it. You will immediately see error messages about components failing:
You will logs like:
Exec-ing into the container to check status reports every component as failed:
I can see that the
metricbeat.ymlfile reported as missing is located in the components directory:Edit: the restart problem is a separate bug #1713