Repository navigation
Remote collector support - #386
Conversation
|
@copilot resolve the merge conflicts in this pull request |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Fresh-install schema gaps, incomplete realm migration, dedicated-database incompatibility, and a parallel-transfer data-loss path must be addressed.
Review effort: Balanced
Findings: 4
Open (10)
Use Main-side Syslog connection for central delivery · New Propagate transfer failures and prevent unsafe stale cleanup · New Create new realms and migrate legacy grants during upgrades · New Create replication support tables during fresh installation · New Quote the recovery script path in the background command · New Keep fresh syslog_remove schema consistent with upgrade schema · New Update changelog to describe central receipt and delivery · New Regenerate gettext template with new translatable strings · New Add the standard GPL v2 header to the production entry point · New Use tabs for indentation in the PHP test file · New
What changed in this PR
Adds durable remote-collector Syslog replication, centralized delivery, recovery, telemetry, and granular rule permissions.
Changes:
- Adds remote replication outbox, recovery worker, central receipts, and status telemetry.
- Splits rule viewing/editing permissions and strengthens mutation authorization.
- Expands partition observability, schema migrations, localization, and tests.
| File | Description |
|---|---|
functions.php |
Implements replication, recovery, telemetry, and rule authorization. |
setup.php |
Adds schemas, settings, realms, and migrations. |
syslog_process.php |
Triggers delivery and recovery after processing. |
syslog_recovery.php |
Adds the recovery CLI worker. |
syslog.php |
Displays replication and partition status. |
syslog_alerts.php |
Enforces rule-edit permission. |
syslog_removal.php |
Enforces rule-edit permission. |
syslog_reports.php |
Enforces rule-edit permission. |
syslog_device_rules.php |
Handles failed rule queries safely. |
css/search.css |
Styles new status tables. |
locales/po/cacti.pot |
Updates translation template references. |
INFO |
Bumps version to 4.6. |
CHANGELOG.md |
Documents new functionality. |
tests/Unit/ReplicationDeliveryTest.php |
Tests replication and recovery behavior. |
tests/Unit/StatusTelemetryTest.php |
Tests maintenance telemetry history. |
tests/Unit/MessageRuleLinksTest.php |
Updates permission-link coverage. |
tests/Unit/DeviceRulePolicyTest.php |
Tests device-rule replication setup. |
tests/Security/PartitionTableLockingTest.php |
Updates prepared-query expectations. |
tests/Security/LogicalMessageSearchTest.php |
Verifies stable union projections. |
tests/regression/rule_realm_upgrade_test.php |
Exercises realm migration behavior. |
tests/regression/partition_observability_test.php |
Tests partition health summaries. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Resolved the conflicts in merge commits |
…deling after remote collector established design
Add visbility to recovery queue
While the main collector is offline, remote collectors retain processed records locally for normal viewing. After confirmed delivery to the main collector, those temporary local syslog records are removed using tracked source identities. If the admin enables the new option, remote records remain stored and recovery does not remove them. Alerts, removal rules, and replication remain in the existing processing flow.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Updated the Syslog replication outbox feature to ensure processed events are delivered idempotently and retained through outages. Other features include Device Alert Rules and enhancements to the Syslog Status tab. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: bmfmancini <13388748+bmfmancini@users.noreply.github.com>
23adb9e to
9eef41f
Compare
Co-authored-by: bmfmancini <13388748+bmfmancini@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>



Add support for remote collectors running syslog to process syslog alerts and send the messages back to the main syslog server for centralized viewing
if main syslog is offline remotes will continue to process , alarm and hold syslog events until main is back online
This follows the same model as the cacti remote collectors