Parses and forwards Nginx syslog data to VictoriaLogs
- Rust 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This actually awaits the result, so one task failing will end the entire program (and get restarted by Nomad, specifically). |
||
| src | ||
| .gitignore | ||
| .woodpecker.yml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
http-syslog-transformer
This is a tiny service that accepts UDP packets from the Nginx syslog logger, parses their data using the default Nginx "combined" format, and forwards the data as structured JSON to a VictoriaLogs instance's stream API.
The resulting logs have all the usual benefits of structured logging, like ease of querying and fidelity of query results.
For debugging, this command will send a UDP packet in the expected format to an instance of the service running locally:
echo '<190>Dec 10 09:57:07 hypnos.hq.kat5.dev nginx_kat5_dev: 10.10.1.54 - - [10/Dec/2025:09:57:07 -0500] "GET / HTTP/2.0" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:145.0) Gecko/20100101 Firefox/145.0"' | nc -u 0.0.0.0 54321