Skip to content

docs: verify and document every sink use case (Loki, Wazuh, HTTP, syslog) - #40

Open
Donemmanuelo wants to merge 3 commits into
onelrian:mainfrom
Donemmanuelo:docs/verify-all-sinks
Open

docs: verify and document every sink use case (Loki, Wazuh, HTTP, syslog)#40
Donemmanuelo wants to merge 3 commits into
onelrian:mainfrom
Donemmanuelo:docs/verify-all-sinks

Conversation

@Donemmanuelo

Copy link
Copy Markdown

Closes #34. Implements the acceptance criteria of #32.

User-facing impact

Every sink type now has a setup guide with complete configuration,
verification commands, and captured evidence from a live
examples/local-demo/ run: Loki query responses with per-activity streams
and nanosecond timestamps, RFC 3164 frames received over TCP (Wazuh), NDJSON
batches received at a generic HTTP webhook, and RFC 5424 frames received over
UDP (generic syslog). The demo stack grows a webhook-receiver, a UDP syslog
listener, and an auditbridge-generic instance exercising the generic http
and syslog sinks, plus a copyable Wazuh decoder/ruleset outline. The README
"Verified" section moves from committed screenshots (removed) to per-sink
text evidence, per the reviewer direction in #32.

Verification

  • Evidence blocks are real output captured from the compose stack
    (docker compose up -d --build then the documented verify commands).
  • docs/SINKS.md's Loki evidence is verbatim from the live query, including
    the service_name label Loki 3.x adds.
  • No Rust changes; cargo fmt/clippy/test unaffected.

Note for the maintainer: this PR references BATCH_SIZE (see the generic
HTTP section), documented in #36's CONFIGURATION.md; merge #36 before or
together with this PR.

…log) (onelrian#34)

Implements the acceptance criteria of onelrian#32. Every sink type now has a setup
guide with complete config, verification commands, and captured evidence
from examples/local-demo: Loki stream query responses with nanosecond
timestamps, RFC 3164 frames over TCP at the Wazuh receiver, NDJSON batches
at the generic HTTP webhook, and RFC 5424 frames over UDP. The demo grows a
webhook receiver and a second AuditBridge instance (auditbridge-generic)
exercising the generic http and syslog sinks, with a copyable Wazuh
decoder/ruleset outline. The README Verified section moves from committed
screenshots (removed) to per-sink text evidence.
The copyable Wazuh decoder anchored on '{' right before "activity_code",
which can never match: AuditBridge emits JSON keys in alphabetical order,
so account_id/activity precede activity_code. Match the key anywhere
after the tag instead. The Loki query evidence now includes the
service_name label Loki 3.x adds to every stream, so the block is the
real captured response rather than an elided copy.
Comment thread .gitignore
.vscode/
.idea/
*.swp
# Scratch PR/issue bodies used when filing GitHub issues

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This replaces the entire .gitignore with just the two scratch dirs - target/, debug/, .env, .vscode/, *.pdb are no longer ignored, so cargo build artifacts and local secrets can get committed. Looks accidental: restore the original entries and add .issue-bodies//.pr-bodies/ alongside them.

Comment thread docs/SINKS.md
-v "$PWD/netbird-token:/run/secrets/netbird-token:ro" \
-e NETBIRD_API_TOKEN_FILE=/run/secrets/netbird-token \
-e SINKS=wazuh \
-e SINK_WAZUH_ADDR=wazuh-manager:1514 \

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This contradicts #31 (same docs work by t-desmond): #31 says a stock Wazuh manager's syslog listener is UDP and that TCP 1514 is the agent "secure" port, not a syslog listener - with a real Wazuh alert as proof. The demo's wazuh-receiver is also a Python TCP listener standing in for the manager: it proves the wire format, not that Wazuh accepts it. Reconcile the two PRs and point users at the ossec.conf <remote> block with the port chosen explicitly.

Comment thread README.md
@@ -57,18 +57,27 @@ names and troubleshooting.

## Verified

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#31 was asked to keep visual proof ("where are the images?") and this PR deletes the three screenshots outright. The captured log output is solid evidence, but decide consciously: keep screenshots + logs, or logs only. Also - #31 already covers this exact work (same title, same files, CHANGES_REQUESTED from the maintainer): pick one PR to carry forward and close the other, or you'll have two conflicting rewrites of the same sections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: verify and document every sink use case (Loki, Wazuh, HTTP, syslog)

2 participants