Filebeat Error: 'No paths were defined for input' — Cause, Fix, and Troubleshooting Guide
Fix Filebeat 'No paths were defined for input accessing config': add a valid paths list (or fix indentation) so the input initializes and harvests logs.
- #filebeat
- #logging
- #troubleshooting
- #errors
Fixing errors like this? Get 500 free DevOps AI prompts
500 copy-paste AI prompts for the stack you actually run — one PDF, free.
Overview
A log or filestream input must declare at least one path to harvest. If an input block has no usable paths, Filebeat cannot initialize it and the crawler fails to start:
Exiting: Failed to start crawler: starting input failed: Error while initializing input: No paths were defined for input accessing 'filebeat.inputs.0' (source:'/etc/filebeat/filebeat.yml')
The most common cause is not a truly missing paths key but a YAML indentation or structure mistake that makes paths land outside the input, or an empty/commented-out list. Because the input cannot be built, the whole crawler aborts and Filebeat exits. The accessing 'filebeat.inputs.N' fragment tells you exactly which input block is at fault.
Symptoms
No paths were defined for input accessing 'filebeat.inputs.N'and Filebeat exits.- The named index
Npoints at a specific input block. - Config “looks” complete but
pathsis empty, misindented, or commented out. - Happens after editing inputs or converting
loginputs tofilestream.
Common Root Causes
- Empty or commented
paths— the list has no entries. - Indentation error —
pathsis not nested under the input’s-list item. - Wrong key — using
path:(singular) instead ofpaths:. - Variable that resolved to nothing — a templated path that expanded empty.
- Merged configs where an included input file lost its
paths.
How to diagnose
Print the fully-resolved config and inspect the offending input index:
filebeat export config -c /etc/filebeat/filebeat.yml
filebeat test config -c /etc/filebeat/filebeat.yml
Run in the foreground to see which input index fails:
filebeat -e -c /etc/filebeat/filebeat.yml -d "crawler,input"
Fixes
Add a valid, correctly-indented paths list under the input:
filebeat.inputs:
- type: filestream
id: app-logs
enabled: true
paths:
- /var/log/app/*.log
- /var/log/app/**/*.log
Watch the indentation — paths and its entries must sit under the - input item, and use paths: (plural), not path:. If a glob may legitimately match nothing at start, that is fine; the error is specifically about no paths being defined, not about zero current matches.
Validate and restart:
filebeat test config && systemctl restart filebeat
journalctl -u filebeat -f | grep -i 'harvester\|input'
What to watch out for
- Zero matching files is allowed; the error is about a missing
pathsdefinition, not empty globs. path:(singular) is silently ignored — it must bepaths:.- A misindented
pathsattaches to the wrong node and reads as undefined — check YAML structure. - With included input files, ensure each carries its own
paths.
Related
- Filebeat Error: ‘Failed to start crawler’
- Filebeat Error Guide: ‘Error creating runner from config’
- Filebeat Error Guide: ‘error loading config file … yaml: line X’
Get 500 Battle-Tested DevOps AI Prompts — Free
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.