Skip to main content

Log Processor No Logs Read

The Log Processor No Logs Read means the LP is running but hasn't acquired any log lines in the last 24 hours.
This is the first step in the detection pipeline and must work for CrowdSec to function.

What Triggers This Issue

  • Trigger condition: No logs acquired for 24 hours
  • Criticality: 🔥 Critical
  • Impact: Complete detection failure - no logs means no alerts

Common Root Causes

Diagnosis & Resolution

Missing Acquisition Configuration

🔎 Check if acquisition configuration exists

# Default single file acquisition configuration
sudo cat /etc/crowdsec/acquis.yaml
# Recommended, per-datasource acquisitions configuration files
sudo ls -la /etc/crowdsec/acquis.d/
Run this command for Docker or Kubernetes
docker exec crowdsec cat /etc/crowdsec/acquis.yaml
docker exec crowdsec ls -la /etc/crowdsec/acquis.d/
kubectl get configmap -n crowdsec -o yaml

If these files are empty or missing, you need to create acquisition configuration.

Also check acquisition metrics:

sudo cscli metrics show acquisition
Run this command for Docker or Kubernetes
docker exec crowdsec cscli metrics show acquisition
kubectl exec -n crowdsec -it <agent-pod> -- cscli metrics show acquisition

What to look for:

  • If the output is empty or shows 0 "Lines read", acquisition is not working
  • If sources are listed but "Lines read" is 0, the source exists but isn't reading data

🛠️ Create acquisition configuration for your deployment

The acquisition configuration tells CrowdSec which logs to read. Configuration varies by deployment:

File Permission Issues

🔎 Test if CrowdSec can read log files

# Check logs permissions to see if they can be read by CrowdSec
ls -la /var/log/nginx/

🛠️ Grant CrowdSec read access to log files

If CrowdSec can't read log files:

# Or adjust log file permissions or find files you have read access to
sudo chmod 644 /var/log/nginx/access.log

# Restart CrowdSec to pick up group membership
sudo systemctl restart crowdsec

Log Files Empty or Not Being Written

🔎🛠️ Verify log files exist and have recent content

# Verify log file exists
ls -la /var/log/nginx/access.log

# Check if it has recent content
tail -10 /var/log/nginx/access.log

# Check last modification time
stat /var/log/nginx/access.log

🛠️ If your files are empty fix your logging or change your acquisition configuration to point at the appropriate files

Detailed Acquisition Documentation

For more information on acquisition configuration:

Getting Help

If acquisition still doesn't work: