Repository navigation
chore(collectd): remove unbundled collector configs (SNMP-only overlay) - #400
Merged
Merged
Conversation
indigo423
force-pushed
the
chore/remove-vmware-wmi-collectors
branch
from
July 1, 2026 14:53
4fbf46d to
3355246
Compare
delta-v does not bundle the VMware or WMI collectors: VmwareCollector,
VmwareCimCollector, and WmiCollector exist nowhere in the repo, no
vmware/wmi collector jar ships in the collectd image (only snmp-collector
is a concrete collector impl), and no vmware-datacollection-config.xml /
wmi-datacollection-config.xml exists anywhere. The collectd overlay still
advertised them, so the config registered implementations that are not on
the classpath and pointed at datacollection configs that do not exist.
Remove the dead config:
- drop the vmware6 and vmware7 packages, the WMI service (already
status="off"), and the four VMware/WMI <collector> registrations from
collectd-configuration.xml
- drop the four VMware/WMI <include-collection> entries from
datacollection-config.xml and delete the now-orphaned datacollection
groups (vmware6.xml, vmware7.xml, vmware-cim.xml, wmi.xml) in lockstep
so no dangling group reference survives
- extend the VMware NOTE in shared/poller-services.yaml to record that
the collectors are gone too, not just the monitors
Every edit removes an optional/repeated element, so the schema-validating
MOXy unmarshaller accepts the config (unlike the RRD-element removals that
hard-fail at parse time). Verified: collectd rebuilt with the amputated
overlay boots Up (healthy), the datacollection config parses with no
dangling group reference, and the collectd producer keeps publishing to
deltav-timeseries with zero failures
(deltav_timeseries_batches_published_total{producer="collectd"} > 0).
Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: Ronny Trommer <ronny@no42.org>
The collectd boot module bundles only the SNMP collector: daemon-boot-collectd/ pom.xml declares SnmpCollector and no other concrete collector. The JMX/Jsr160, JDBC, Prometheus, WS-Man, and XML collectors that the overlay still registered are not on the collectd classpath (verified in deltav/collectd:latest: SnmpCollector is the only concrete collector class present), and delta-v daemons report self and exporter metrics via /actuator/prometheus -> Kafka -> VictoriaMetrics rather than through collectd. No node is provisioned or auto-detected with any of these services, so they never scheduled. Remove the dead, unbundled collector config from collectd-configuration.xml: - delete the `opennms` package (OpenNMS-JVM, JMX-Minion, JMX-Kafka, OpenNMS-DB, OpenNMS-DB-Stats) - trim `example1` to its SNMP service, dropping WS-Man, PostgreSQL, Elasticsearch, Windows-Exporter, Node-Exporter - drop the 10 corresponding <collector> registrations (PrometheusCollector, XmlCollector, JdbcCollector, WsManCollector, Jsr160Collector for the above) - add a comment documenting the SNMP-only design so unbundled collectors are not re-added JMX-Cassandra (the cassandra-via-jmx package and its two collectors) is left untouched here: it is retired separately on chore/collectd-rrd-amputation, and duplicating that removal would collide. After both land, collectd is SNMP-only. The result validates against collectd-configuration.xsd from opennms-config-jaxb- 1.0.19.jar (the schema the MOXy unmarshaller enforces at boot), and every remaining <service> has a matching <collector>. Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Ronny Trommer <ronny@no42.org>
indigo423
force-pushed
the
chore/remove-vmware-wmi-collectors
branch
from
July 1, 2026 15:14
91199e3 to
27dff02
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
delta-v's collectd is SNMP-only by design:
core/daemon-boot-collectd/pom.xmlbundlesSnmpCollectorand no other concrete collector (explicit<!-- SNMP collector — SnmpCollector -->). Verified against the freshly-builtdeltav/collectd:latest: of every collector the overlay registered, onlySnmpCollectoris present on the classpath —Jsr160Collector,JdbcCollector,PrometheusCollector,WsManCollector, andXmlCollectorare all absent. delta-v daemons report self/exporter metrics via/actuator/prometheus→ Kafka → VictoriaMetrics, not through collectd, and no node is provisioned or auto-detected with any of these services.So the overlay carried a large amount of dead collector config — registrations for collectors that cannot run. This PR removes it.
What changed (two commits)
1. Remove dead VMware/WMI collectors — no source, no jar, no datacollection config anywhere; documented as intentionally unbundled:
vmware6/vmware7packages, theWMIservice, and the VMware/WMI<collector>registrations<include-collection>entries + the orphaneddatacollection/{vmware6,vmware7,vmware-cim,wmi}.xmlgroups (removed in lockstep)2. Strip collectd to SNMP-only — remove the remaining unbundled collectors:
opennmspackage (OpenNMS-JVM,JMX-Minion,JMX-Kafka,OpenNMS-DB,OpenNMS-DB-Stats)example1to its SNMP service (dropWS-Man,PostgreSQL,Elasticsearch,Windows-Exporter,Node-Exporter)<collector>registrationsPlus a NOTE refresh in
shared/poller-services.yaml.Deliberately out of scope
JMX-Cassandra(thecassandra-via-jmxpackage + its two collectors) is left untouched — it's retired separately onchore/collectd-rrd-amputation, and duplicating that here would collide. Once both land, collectd is fully SNMP-only.chore/collectd-rrd-amputationboth editcollectd-configuration.xml. That branch removes thecassandra-via-jmxpackage and edits params inside theopennmspackage that this PR deletes wholesale — expect a modify/delete conflict on the second to merge (trivial resolution: the deletion wins).Verification
collectd-configuration.xsd(fromopennms-config-jaxb-1.0.19.jar— the schema the MOXy unmarshaller enforces at boot, the same gate that hard-fails RRD-element removals).<service>has a matching<collector>(SNMP + the two JMX-Cassandra holdovers); no dangling references.Up (healthy)and keeps publishing todeltav-timeseries); commit 2 removes the same class of optional/repeated elements.Scope
Greenfield / zero-back-compat: recoverable from git history if any collector is reintroduced (jar + config + provisioning together).
🤖 Generated with Claude Code