Hardware Sentry v3.0.00: A New Architecture for New Perspectives
Bye bye OpenTelemetry Collector. Hello OpenTelemetry Collector Contrib
Remembering the previous architecture
In version 2.0.00, Hardware Sentry OpenTelemetry Collector included a custom distribution of the OpenTelemetry Collector and the Hardware Sentry Agent (hws-agent). The OpenTelemetry Collector spawned the Hardware Sentry Agent which performed the monitoring and pushed the collected data to the OTLP receiver. Processors then handled this data before sending it to the configured exporter.
To use Hardware Sentry OpenTelemetry Collector v2.0.00, you had to:
- install at least JRE v11
- manually install the product
- manually create and run the service.
When we considered including the JRE in the distribution and providing installers for diverse platforms and architectures, we realized that relying on the OpenTelemetry Collector was not a perfect match. The OpenTelemetry Collector Contrib would better meet our needs. That's the reason why we moved to a new architecture...
Introducing the new architecture
Starting from v3.0.00, the custom OpenTelemetry Collector distribution is replaced with the OpenTelemetry Collector Contrib official distribution.
This new architecture brings significant changes. It is no longer the OpenTelemetry Collector which spawns the Hardware Sentry Agent but the Hardware Sentry Agent which spawns the OpenTelemetry Collector Contrib.
The Hardware Sentry Agent collects the hardware health of all the hosts configured in the hws-config.yaml file either through HTTP, WBEM, WMI, IPMI, SNMP, SSH, or WinRM and pushes the collected data to the OTLP receiver of the OpenTelemetry Collector Contrib.
The collected data is then handled by the following Processors:
- metrics transform to enrich the collected metrics
- memory limiter to prevent out of memory errors
- resource detection to find out the actual host name of the monitored system
- filter to include or exclude metrics
- batch to process data in batches and therefore reduce the number of outgoing connections. By default, batches are sent every 10 seconds (configurable).
Once processed, the data is sent either to:
- Datadog using the Datadog Exporter
- Prometheus/Grafana or BMC Helix using the prometheusremotewrite Exporter
- Splunk using signalfx
- New Relic through otlp
What the new architecture brings
With a new architecture comes a new product name. Hardware Sentry OpenTelemetry Collector becomes Hardware Sentry and:
- is shipped with Java Runtime Environment
- comes with rpm, deb, msi installers
- supports any observability back-end for which an exporter is available.