At a high level, Panoptes-Stream consists of the following:
The telemetry can subscribe or unsubscribe gNMI, JTI or MDT telemetries for one or more sensors through gRPC. It optimized for Juniper, Cisco and Arista.
The configuration supports dynamic configuration without requiring panoptes restart. It can read the configuration from a simple yaml file and well-known distributed key value store applications.
This component provides scalability and fault tolerance through auto sharding of network devices. Once the shards are enabled each panoptes instance is responsible for specified devices. In other words the shards groups the devices and assigns them to each instance to spread load and failover. In case of failure the other instances take over the load quickly.
The demux routes metrics to proper producers and databases based on the given configuration. It can be able to run different producers and databases concurrently. In case of the network latency or database/messaging-queue maintenance the demux can write metrics to local drive to prevent any metrics losing and return them once they are backed up. It provides guaranteed telemetry delivery when you enabled the local drive storage feature.
The discovery automatically detects other instances once each node is registered to a given discovery application. it supports well-known applications and works with Kubenetes API to detects other nodes liveness.
This component produces the metrics to given messaging queues. Panoptes can create multi instances of producers with different topics at the same time and route metrics to appropriate destinations.
The component Ingests metrics to given databases. Panoptes can create multi instances of databases at the same time and route metrics to appropriate destinations.
This component loads the certificates, private keys and device credentials from a secret management or local drive. In case of the secret management it will reduce Secrets Sprawl.
The component is responsible to provide local metrics and health check. It can expose them to a 3rd party application for panoptes monitoring and alerting.