feat: switch from syslog-ng to alloy
Description
Send syslog following RFC5424, then split the json for getting structured logs to forward to loki service. (dumped on stdout on local environment)
Screenshots
syslog-1 | ts=2025-11-25T07:58:52.312008081Z level=info component_path=/ component_id=loki.echo.syslog receiver=loki.echo.syslog entry="Console command executed: maintenance:repair --include-expensive" entry_timestamp=2025-11-25T07:58:36.000Z labels="{component=\"loki.source.syslog\", nextcloud_app=\"admin_audit\", nextcloud_level=\"1\", nextcloud_req_id=\"YzzaHSNI6hwcBBd0qVEd\", nextcloud_tag=\"nextcloud\", nextcloud_user=\"--\", protocol=\"tcp\"}" structured_metadata="{\"dataApp\":\"admin_audit\",\"method\":\"\",\"remoteAddr\":\"\",\"url\":\"--\",\"userAgent\":\"--\",\"version\":\"31.0.10.2\"}"
syslog-1 | ts=2025-11-25T07:58:52.520637787Z level=info component_path=/ component_id=loki.echo.syslog receiver=loki.echo.syslog entry="Invalid plugin class NextcloudPlugin at /var/www/html/custom_apps/snappymail/app/snappymail/v/2.38.2+murena-20251117/app/libraries/RainLoop/Plugins/Manager.php#145" entry_timestamp=2025-11-25T07:58:52.000Z labels="{component=\"loki.source.syslog\", nextcloud_app=\"PHP\", nextcloud_level=\"3\", nextcloud_req_id=\"YzzaHSNI6hwcBBd0qVEd\", nextcloud_tag=\"nextcloud\", nextcloud_user=\"--\", protocol=\"tcp\"}" structured_metadata="{\"dataApp\":\"PHP\",\"method\":\"\",\"remoteAddr\":\"\",\"url\":\"--\",\"userAgent\":\"--\",\"version\":\"31.0.10.2\"}"
Technical details
Tests
Issues
10 commandments of code review
Edited by Nicolas Gelot