Trilio Metrics Exporter is a component of TrilioVault for Kubernetes written in Golang to export TrilioVault metrics. The project is based on the official Prometheus client library: prometheus_client.
Trilio Metrics Exporter runs as a separate deployment and is installed by the Operator as part of the installation process. A complete list of Prometheus metrics and their details are provided in the Appendix section - TrilioVault Prometheus Metrics
There are two methods to scrape the metrics from Trilio Exporter:
Prometheus can discover any metric in cluster exporter using the standard annotation set on the exporter pod.
The annotations are described below:
prometheus.io/scrape: The default configuration will scrape all pods and, if set to false, this annotation will exclude the pod from the scraping process.
prometheus.io/path: If the metrics path is not /metrics, define it with this annotation.
prometheus.io/port: Scrape the pod on the indicated port instead of the pod’s declared ports, Here it is 8080.
You will need to configure a prometheus server to scrape the metrics from your newly running exporter. Add the following scrape job to your
prometheus.yml configuration file.
- job_name: trilio_exporterscrape_interval: 30sfile_sd_configs:static_configs:- targets: ['EXPORTER_ADDRESS:8080']
EXPORTER_ADDRESS is the IP of the Prometheus exporter pod which can be found by running the following
#kubectl get pod -o wide |grep -i exportk8s-triliovault-exporter-787c7dd446-bcgkr 1/1 Running 0 6d4h 192.168.140.126 slave2 <none> <none>
If you installed prometheus via helm as shown below
helm install prometheus stable/prometheus-operator
Step 1: Expose TrilioVault Exporter: To expose the triliovault metrics, you need to create kubernetes Service. If your prometheus setup is not present in this cluster then expose via LoadBalancer Service.
You can create LoadBalancer Service using yaml
kind: ServiceapiVersion: v1metadata:name: k8s-triliovault-exporter-servicespec:ports:- name: webprotocol: TCPport: 8080targetPort: 8080selector:app: k8s-triliovault-exportertype: NodePort
Step 2. Create ServiceMonitor: You will need to configure a ServiceMonitor for prometheus to scrape the metrics from your k8s-triliovault-exporter-service. Apply the following yaml to TVK (NS where TVK is installed)namespace.
apiVersion: monitoring.coreos.com/v1kind: ServiceMonitormetadata:name: k8s-triliovault-exporterlabels:app: k8s-triliovault-exporterspec:selector:matchLabels:app: k8s-triliovault-exporterendpoints:- port: web
Once the configuration is completed. You can find
k8s-triliovault-exporter as active targets in Prometheus UI.
Please wait a couple of minutes for Prometheus to start scraping metrics. Access prometheus console at http://<prometheus-server-ip>/graph
To expose TVK metrics outside the cluster, perform the following two steps.
Expose TrilioVault Exporter: TrilioVault metrics can be exposed outside the cluster via a LoadBalancer Service. Leverage kubectl to create service for k8s-triliovault-exporter
kubectl expose deployment k8s-triliovault-exporter --type=LoadBalancer --name=exporter --namespace triliovault-integration
OR you can create a LoadBalancer Service using a .yaml file
kind: ServiceapiVersion: v1metadata:name: k8s-triliovault-exporter-servicespec:ports:- protocol: TCPport: 8080targetPort: 8080selector:app: k8s-triliovault-exporterrelease: triliotype: LoadBalancer
Once the Service is available capture the Public IP for k8s-triliovault-exporter-service, this will be used in second step.
Scrape Job: You will need to configure a prometheus server to scrape the metrics from your newly running exporter. Add the following scrape job to your
promethus.yml configuration file.
- job_name: trilio_exporterscrape_interval: 30sfile_sd_configs:static_configs:- targets: ['EXPORTER_PUBLIC_IP:8080']
Metrics from Prometheus can be visualized leveraging Grafana. Dashboards can be created in Grafana with the TrilioVault metrics exposed through Prometheus.
Trilio provides pre-created Grafana dashboards with the product to make monitoring and observing your backup landscape easy.
Grafana dashboards are pivoted on the following themes and provide high-level overview, summary and details around each theme.
There are two sources where TVK dashboards can be found
TVK dashboards can also be found on the Grafana within the Trilio org page
Instructions for downloading and importing are provided with the dashboards.