Collect telemetry data from Smart Fabric Manager to Victoria DB (cluster mode)
This section describes how to configure Smart Fabric Manager to securely stream telemetry metrics to the Service Kubernetes cluster.
This procedure assumes that VictoriaMetrics is deployed in cluster mode in the
telemetry namespace of the Service Kubernetes cluster.
For more information, see the VictoriaMetrics cluster mode documentation.
Prerequisites
Make sure the following prerequisites are met:
A Service Kubernetes cluster is running with VictoriaMetrics deployed in the
telemetrynamespace.External access to VictoriaMetrics is available through the following LoadBalancer ports:
8480for ingesting data8481for querying data
Steps
Run the following playbook to retrieve the VictoriaMetrics connection details and TLS certificate from the Service Kubernetes cluster:
cd /omnia/utils ansible-playbook external_victoria_connect_details.yml
- The
external_victoria_connect_details.ymlplaybook performs the following: Retrieves the VictoriaMetrics vminsert and vmselect LoadBalancer IPs.
Extracts the server CA certificate for TLS.
Writes the connection details to
/opt/omnia/telemetry/external_victoria_connect_details.yml.Saves the CA certificate at
/opt/omnia/telemetry/victoria-certs/ca.crt.
- The
In the Smart Fabric Manager for SONiC UI, navigate to Observability, and then select the Settings tab.
Under Prometheus Remote Pump, select the option button next to
vminsert-target, and then select Edit.- Configure the following settings:
Enable: ON
URL:
https://vminsert.telemetry.svc.cluster.local:8480/insert/0/prometheus/api/v1/writeMessage Version: v1
TLS Config: Upload
ca.crtfrom/opt/omnia/telemetry/victoria-certs/as the Server Certificate File
Note
If SFM is installed on a different system than the OIM host, copy
ca.crtto that system before uploading it in the UI.SSH to the SFM IP with admin credentials and log in to secure shell.
Update the
/etc/hostsfile only inside the SFM Prometheus pod. This is required only inside the pod, not on the SFM server host):kubectl exec -it <sfm-prometheus-pod-name> -n sfm-ui -- /bin/sh echo "<vminsert-IP> vminsert.telemetry.svc.cluster.local" >> /etc/hosts echo "<vmselect-IP> vmselect.telemetry.svc.cluster.local" >> /etc/hosts
For vminsert and vmselect IP, use the values retrieved by the
external_victoria_connect_details.ymlplaybook in Step 1. .. note:The ``/etc/hosts`` update must be repeated if the SFM Prometheus pod restarts.
If you have any feedback about Omnia documentation, please reach out at omnia.readme@dell.com.