You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -13,106 +13,159 @@ The **Engine No Alerts** issue appears when your Security Engine has been runnin
13
13
14
14
## Common Root Causes
15
15
16
-
-**No logs being read**: The acquisition configuration may be missing, disabled, or pointing to empty log sources.
17
-
-**No logs being parsed**: Logs are being read but parsers can't process them due to format mismatches or missing collections.
18
16
-**Scenarios in simulation mode**: Detection scenarios are installed but set to simulation mode, preventing actual alerts.
19
-
-**Legitimate low-activity environment**: In some cases, truly clean environments with no malicious activity may not trigger alerts.
17
+
-**Are appropriate collections installed**: make sure you have the detection scenarios and/or appsec rules covering your services needs
18
+
-**Low/no-traffic environment**: If your service handles very few request or is not open to the internet it's usually to observe low/no malicious activity.
19
+
-**Legitimate low-activity environment**: Your defenses preceding your service might be good enough that you don't detect additional malicious behaviors (CrowdSec blocklists or other protections may already deflect most malicious activity)
20
+
21
+
<aname="otherIssues"></a>
22
+
23
+
**Other Issues**
24
+
- 🔗 **[No logs being read](/u/troubleshooting/issue_lp_no_logs_read)**: The acquisition configuration may be missing, disabled, or pointing to empty log sources.
25
+
- 🔗 **[No logs being parsed](/u/troubleshooting/issue_lp_no_logs_parsed)**: Logs are being read but parsers can't process them due to format mismatches or missing collections.
20
26
21
27
## How to Diagnose
22
28
23
-
### Check metrics to identify the issue
29
+
If it's not due to [other issues](#otherIssues), here are the diagnosis and resolutions for other root causes.
30
+
31
+
### Check if scenarios are in simulation mode
24
32
25
-
Run the metrics command to see the full pipeline:
33
+
Verify whether your scenarios are set to simulation mode, which prevents them from generating alerts:
26
34
27
35
```bash
28
36
# On host
29
-
sudo cscli metrics show acquisition parsers scenarios
37
+
sudo cscli simulation status
30
38
31
39
# Docker
32
-
docker exec crowdsec cscli metrics show acquisition parsers scenarios
kubectl exec -n crowdsec -it $(kubectl get pods -n crowdsec -l type=lapi -o name) -- cscli simulation status
36
44
```
37
45
38
-
Look for:
39
-
-**Acquisition Metrics**: Are log lines being read? (non-zero "Lines read")
40
-
-**Parser Metrics**: Are logs being parsed successfully? (non-zero "Lines parsed")
41
-
-**Scenario Metrics**: Are scenarios evaluating events? (check "Current count" or "Overflow")
46
+
If scenarios are listed, they're in simulation mode and won't be sent to CrowdSec console (they should however still appear in `cscli alerts list`).
47
+
48
+
### Check if appropriate collections are installed
42
49
43
-
### Check recent alerts
50
+
Verify you have collections matching your protected services:
44
51
45
52
```bash
46
53
# On host
47
-
sudo cscli alerts list
54
+
sudo cscli collections list
48
55
49
56
# Docker
50
-
docker exec crowdsec cscli alerts list
57
+
docker exec crowdsec cscli collections list
51
58
52
59
# Kubernetes
53
-
kubectl exec -n crowdsec -it $(kubectl get pods -n crowdsec -l type=lapi -o name) -- cscli alerts list
60
+
kubectl exec -n crowdsec -it $(kubectl get pods -n crowdsec -l type=lapi -o name) -- cscli collections list
54
61
```
55
62
56
-
If the list is empty, proceed with the resolution steps below.
63
+
Compare your installed collections against your actual services (nginx, apache, ssh, etc.). Missing collections means no detection rules for those services.
57
64
58
-
##How to Resolve
65
+
### Evaluate your service activity level
59
66
60
-
### If no logs are being read
67
+
Check how much traffic your service is processing:
61
68
62
-
This is the most common cause. Follow the [LP No Logs Read troubleshooting guide](/u/troubleshooting/lp_no_logs_read) for detailed steps.
63
-
64
-
**Quick checks:**
65
-
- Verify acquisition configuration exists (`/etc/crowdsec/acquis.yaml` or `acquis.d/`)
66
-
- Ensure log files exist and are accessible
67
-
- Check file permissions allow CrowdSec to read logs
69
+
```bash
70
+
# On host
71
+
sudo cscli metrics show acquisition parsers
68
72
69
-
### If logs are read but not parsed
73
+
# Docker
74
+
docker exec crowdsec cscli metrics show acquisition parsers
70
75
71
-
Follow the [LP No Logs Parsed troubleshooting guide](/u/troubleshooting/lp_no_logs_parsed) for detailed steps.
76
+
# Kubernetes
77
+
kubectl exec -n crowdsec -it $(kubectl get pods -n crowdsec -l type=lapi -o name) -- cscli metrics show acquisition parsers
78
+
```
72
79
73
-
**Quick checks:**
74
-
- Verify collections are installed: `cscli collections list`
75
-
- Check log format matches parser expectations
76
-
- Use `cscli explain --log "<sample log line>" --type <type>` to test parsing
80
+
Look at "Lines parsed" - if this number is very low (dozens or hundreds per day), you may simply have insufficient traffic volume for malicious activity to appear.
77
81
78
-
### If scenarios are in simulation mode
82
+
### Check if proactive defenses are blocking threats upstream
79
83
80
-
Check if scenarios are in simulation:
84
+
If you have CrowdSec blocklists or other protection layers active, they may be blocking malicious traffic before it reaches your scenarios:
81
85
82
86
```bash
83
-
sudo cscli simulation status
87
+
# On host
88
+
sudo cscli decisions list
89
+
sudo cscli metrics show bouncers
90
+
91
+
# Docker
92
+
docker exec crowdsec cscli decisions list
93
+
docker exec crowdsec cscli metrics show bouncers
94
+
95
+
# Kubernetes
96
+
kubectl exec -n crowdsec -it $(kubectl get pods -n crowdsec -l type=lapi -o name) -- cscli decisions list
97
+
kubectl exec -n crowdsec -it $(kubectl get pods -n crowdsec -l type=lapi -o name) -- cscli metrics show bouncers
84
98
```
85
99
86
-
If scenarios are in simulation mode, they will be listed. To disable simulation for all scenarios:
100
+
High numbers of active decisions or bouncer blocks indicate your proactive defenses are working - malicious actors never reach your log-based detection.
101
+
102
+
## How to Resolve
103
+
104
+
### If scenarios are in simulation mode
105
+
106
+
Disable simulation mode to allow alerts to be generated:
For services with minimal traffic or limited internet exposure:
103
157
104
-
1.**Test with dummy scenarios** using the [Health Check guide](/u/getting_started/health_check) to verify detection works
105
-
2.**Subscribe to Community Blocklist** decisions in the Console to add proactive blocking
106
-
3.**Monitor metrics regularly** to ensure the pipeline stays healthy
158
+
1.**Verify detection is working** by triggering test scenarios as described in the [Health Check guide](/u/getting_started/health_check/#trigger-crowdsecs-test-scenarios)
159
+
2.**Consider this normal** - If your detection is properly working, low traffic may means fewer threats to detect and you can ignore the issue for now.
107
160
108
-
##Verify Resolution
161
+
### If proactive defenses are already handling threats
109
162
110
-
After making changes:
163
+
This is actually a **positive outcome** - your blocklists and bouncers are preventing malicious traffic from reaching your services:
3.Check metrics again: `sudo cscli metrics show scenarios`
115
-
4.Trigger a test alert using the [Health Check detection tests](/u/getting_started/health_check#-detection-checks)
165
+
1.**Verify your setup is working** by running the [Health Check detection tests](/u/getting_started/health_check#-detection-checks) to confirm scenarios can still trigger when needed
166
+
2.**Monitor bouncer metrics** to see how many threats are being blocked: `sudo cscli metrics show bouncers`
167
+
3.**Review active decisions** to understand what threats are being prevented: `sudo cscli decisions list`
168
+
4.**Keep the Console enrolled** to maintain visibility into your protection posture even if local alerts are minimal
0 commit comments