Skip to content

Commit 6e4cc85

Browse files
committed
docs: Document checkKernelJournal feature for kernel log monitoring
Add documentation for the new checkKernelJournal configuration option which uses journalctl -k as the primary method for kernel log monitoring. Includes comparison table of kernel log monitoring methods and updated default values.
1 parent efc26ce commit 6e4cc85

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

docs/monitors.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,25 +1155,38 @@ monitors:
11551155
severity: info
11561156
reason: SELinuxDenial
11571157
message: "SELinux denial detected"
1158-
kmsgPath: /dev/kmsg
1159-
checkKmsg: true
1158+
# Kernel log monitoring (choose one):
1159+
checkKernelJournal: true # PRIMARY: Use journalctl -k (recommended)
1160+
checkKmsg: false # FALLBACK: Direct /dev/kmsg access
1161+
kmsgPath: /dev/kmsg # Path for checkKmsg fallback
1162+
# Service unit log monitoring:
1163+
checkJournal: true # Enable systemd journal monitoring
11601164
journalUnits:
11611165
- kubelet
11621166
- docker
11631167
- containerd
1164-
checkJournal: true
11651168
maxEventsPerPattern: 10 # Max events per pattern per check (1-1000)
11661169
dedupWindow: 5m # Deduplication window (1s-1h)
11671170
```
11681171
11691172
**Default Values:**
11701173
- `useDefaults`: true
1174+
- `checkKernelJournal`: true (PRIMARY - uses `journalctl -k`)
1175+
- `checkKmsg`: false (FALLBACK - direct `/dev/kmsg` access)
11711176
- `kmsgPath`: /dev/kmsg
1172-
- `checkKmsg`: true
1173-
- `checkJournal`: true
1177+
- `checkJournal`: true (service unit logs)
11741178
- `maxEventsPerPattern`: 10 (range: 1-1000)
11751179
- `dedupWindow`: 5 minutes (range: 1s-1h)
11761180

1181+
**Kernel Log Monitoring Methods:**
1182+
1183+
| Method | Config Option | Command | Use Case |
1184+
|--------|---------------|---------|----------|
1185+
| **Journal (Primary)** | `checkKernelJournal: true` | `journalctl -k --since` | Recommended - uses systemd journal, supports time-based filtering |
1186+
| **Kmsg (Fallback)** | `checkKmsg: true` | Read `/dev/kmsg` | Non-systemd systems or when journalctl unavailable |
1187+
1188+
> **Note:** The container image includes the `journalctl` binary from the `systemd` package to support kernel journal monitoring. If both `checkKernelJournal` and `checkKmsg` are enabled, kernel journal takes precedence.
1189+
11771190
**Default Patterns (when useDefaults=true):**
11781191
- OOM kills: `killed process|Out of memory|oom-kill`
11791192
- Kernel panics: `Kernel panic|BUG: unable to handle`
@@ -1202,14 +1215,16 @@ The monitor validates regex patterns for safety:
12021215
3. **Timeout Enforcement**: Context-based timeout for regex matching
12031216

12041217
**Key Features:**
1205-
- Kernel message monitoring (`/dev/kmsg`)
1206-
- Systemd journal monitoring (multiple units)
1218+
- Kernel journal monitoring via `journalctl -k` (primary, recommended)
1219+
- Kernel message monitoring via `/dev/kmsg` (fallback)
1220+
- Systemd service unit journal monitoring (kubelet, containerd, docker)
12071221
- Regex pattern matching with safety validation
12081222
- Deduplication to prevent event flooding
12091223
- Custom pattern support
12101224
- Default critical pattern library
12111225
- Event rate limiting per pattern
1212-
- ARM64 /dev/kmsg compatibility
1226+
- Time-based filtering (only processes new logs since last check)
1227+
- ARM64 compatibility
12131228

12141229
**Events Generated:**
12151230
- Pattern-defined events (custom severity/reason/message)

0 commit comments

Comments
 (0)