Filebeat Error: 'Failed to start crawler' — Cause, Fix, and Troubleshooting Guide
Fix Filebeat 'Failed to start crawler': resolve the bad input, glob, or module that stops the crawler and prevents any harvesters from starting.
- #filebeat
- #logging
- #troubleshooting
- #errors
Stuck on this Filebeat error? Get the free incident triage checklist
A one-page PDF — the exact steps to isolate, fix, and verify a production error like this one. No spam, unsubscribe anytime.
What this error means
The crawler is the Filebeat component that reads your filebeat.inputs (and enabled modules) and spins up a harvester per matching file. If any configured input cannot be initialized, the crawler refuses to start and Filebeat exits:
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 important detail is in the nested reason after Failed to start crawler:. The crawler aggregates every input’s initialization; a single broken input block — a missing paths, an unknown input type, a bad module config — aborts the whole crawler and stops Filebeat from harvesting anything. The YAML itself is usually valid, so filebeat test config may pass while startup still fails.
Failure signature
- Filebeat exits at boot with
Exiting: Failed to start crawler: .... - The message always carries a nested
starting input failed/initializing inputreason. - No harvesters start and no data ships, even though the config “looks” fine.
- The problem appears right after editing an input, enabling a module, or an upgrade.
filebeat test configreports OK because it validates YAML shape, not full crawler startup.
Reading the failure
Run Filebeat in the foreground to see the full nested reason:
filebeat -e -c /etc/filebeat/filebeat.yml
Validate config and list what modules are enabled:
filebeat test config -c /etc/filebeat/filebeat.yml
filebeat modules list
Isolate the suspect input into a minimal config and run only that:
filebeat -e -c /etc/filebeat/one-input.yml -d "crawler,input"
Runtime causes
- Input with no
paths— alog/filestreaminput missing itspaths:list. - Unknown or misspelled input
type— a value Filebeat does not recognize. - Broken module config — an enabled module in
modules.d/with an invalid setting. - Duplicate filestream
id— two filestream inputs sharing anid. - Bad processor attached to an input that fails to construct.
Resolution
Give every input a valid type and a non-empty paths list:
filebeat.inputs:
- type: filestream
id: app-logs
enabled: true
paths:
- /var/log/app/*.log
If a module is the culprit, disable it or fix the offending file under modules.d/:
filebeat modules disable nginx # if nginx.yml is broken
filebeat test config # re-validate
systemctl restart filebeat
Ensure each filestream input has a unique id so the crawler does not reject a collision, then restart and confirm harvesters start:
journalctl -u filebeat -f | grep -i 'crawler\|harvester\|Start'
Keeping the service running
- Always read the nested reason —
Failed to start crawler:is only the wrapper. filebeat test configis necessary but not sufficient; do a foreground start before deploying.- Enabling a module pulls in extra config that can break the crawler even if
filebeat.ymlis fine. - Keep configs in version control and validate in CI so a bad input never reaches a running node.
Related runtime errors
- Filebeat Error: ‘No paths were defined for input’
- Filebeat Error Guide: ‘Failed to create input: unknown input type’
- Filebeat Error Guide: ‘Error creating runner from config’
Fixed it? Get 500 Filebeat & 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.
Did this fix your issue?
Trending errors this week
The error guides other engineers are actually reading right now.
- 1mount: wrong fs type, bad option, bad superblock
- 2Docker 'failed to set up container networking': Fix the Bridge and IP Pool
- 3Docker 'failed to create shim task': How to Fix the containerd Runtime Error
- 4modprobe: FATAL: Module not found
- 5mount: wrong fs type, bad option, bad superblock
- 6Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
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.