--- title: "Monitoring and Visualizing the Metrics" slug: "fortanix-dsm-for-monitoring-visualizing-metrics" updated: 2026-04-01T07:29:45Z published: 2025-09-19T08:27:28Z canonical: "support.fortanix.com/fortanix-dsm-for-monitoring-visualizing-metrics" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.fortanix.com/llms.txt > Use this file to discover all available pages before exploring further. # Monitoring and Visualizing the Metrics ## 1.0 Introduction The purpose of this article is to describe how to configure, collect, and visualize Fortanix Data Security Manager (DSM) metrics. In Fortanix DSM, metrics are available in **Prometheus format**, which can be scraped by a Prometheus server and visualized in tools such as, **Grafana**. The following two categories of time-series metrics on each node are provided: - **Node Metrics**: System-level performance statistics - CPU usage - Load average - Memory usage - Disk I/O statistics - Filesystem usage - Network usage - **Fortanix DSM Metrics**: Service-level performance statistics - Number of active connections - Public (port `443`) - KMIP (port `5969`) - Internal admin (port `4444`) - Logging backlog queue length - Elasticsearch - Splunk - Other log integrations ## 2.0 Terminology References - KMIP – Key Management Interoperability Protocol - CPU – Central Processing Unit - TLS – Transport Layer Security - IP – Internet Protocol ## 3.0 Installing Fortanix DSM Monitoring Package If the Fortanix DSM monitoring package is not already installed, run the following command on each Fortanix DSM node: ```bash sudo apt-get install sdkms-monitoring ``` > [!NOTE] > NOTE > > If the package was installed before upgrading to version 3.21, this step is not required. ## 4.0 Setting Up Metrics Collection This section describes the steps to enable and start the required services for publishing metrics information. Perform the following steps on each Fortanix DSM node: 1. Run the following command to configure the default settings for `node_exporter`: ```bash sudo cp /opt/fortanix/sdkms/monitoring/node_exporter.default /etc/default/node_exporter ``` 2. Run the following command to enable the `node-exporter` service: ```bash sudo systemctl enable node-exporter ``` 3. Run the following command to start the `node-exporter` service: ```bash sudo systemctl start node-exporter ``` 4. Run the following command to verify the status of the `node-exporter` service: ```bash sudo systemctl status node-exporter ``` 5. Run the following command to configure the default settings for `sdkms_exporter`: ```bash sudo cp /opt/fortanix/sdkms/monitoring/sdkms_exporter.default /etc/default/sdkms_exporter ``` 6. Run the following command to enable the `sdkms-metrics` service: ```bash sudo systemctl enable sdkms-metrics ``` 7. Run the following command to start the `sdkms-metrics` service: ```bash sudo systemctl start sdkms-metrics ``` 8. Run the following command to verify the status of the `sdkms-metrics` service: ```bash sudo systemctl status sdkms-metrics ``` ## 5.0 Configuring TLS for Metrics Collection This section describes the steps to configure the `sdkms-metrics` service to use TLS for secure metrics collection. Perform the following steps on each Fortanix DSM node: 1. Obtain a TLS private key and certificate. 1. Both files must be in PEM format. 2. Save them in the `/opt/fortanix/sdkms/monitoring/` directory. 2. Run the following command to edit the `sdkms-metrics` service file: ```bash sudo vi /etc/systemd/system/sdkms-metrics.service ``` 3. In the `sdkms-metrics` service file, replace the existing `ExecStart` line with the following line: ```bash ExecStart=/opt/fortanix/sdkms/monitoring/exporter_exporter \  -config.file /opt/fortanix/sdkms/monitoring/sdkms_exporter.yml \  -web.tls.cert /opt/fortanix/sdkms/monitoring/CERT_FILENAME \  -web.tls.key /opt/fortanix/sdkms/monitoring/KEY_FILENAME \  -web.tls.listen-address :9998 ``` > [!NOTE] > NOTE > > - Replace `CERT_FILENAME` and `KEY_FILENAME` with the actual certificate and key file names respectively. > - This example uses port `9998`. You can configure a different port, if required. 4. Run the following command to reload the `systemd` configuration: ```bash sudo systemctl daemon-reload ``` 5. Run the following command to restart the `sdkms-metrics` service: ```bash sudo systemctl restart sdkms-metrics.service ``` ## 6.0 Metrics Endpoints Metrics are published on the following endpoints by default. > [!NOTE] > NOTE > > If TLS is enabled, update the endpoint URL to use https and the configured port number. ### 6.1 Node Metrics You can access node metrics using the following endpoint: ```bash http://NODE_IP_ADDRESS:9999/proxy?module=node ``` *The sample data is available from the* [*Prometheus/ node_exporter*](https://github.com/prometheus/node_exporter)*.* ### 6.2 Fortanix DSM Metrics You can access Fortanix DSM metrics using the following endpoint: ```bash http://NODE_IP_ADDRESS:9999/proxy?module=sdkms ``` The following is the sample output from the endpoint: ```bash # HELP es_backlog Number of pending ES documents # TYPE es_backlog gauge es_backlog 0 # HELP other_log_integrations Number of pending audit logs # TYPE other_log_integrations gauge other_log_integrations 0 # HELP kmip_connections Number of active kmip connections # TYPE kmip_connections gauge kmip_connections 0 # HELP splunk_queue_len Number of pending Splunk log events # TYPE splunk_queue_len gauge splunk_queue_len 0 # HELP splunk_pending_logs Number of pending Splunk logs # TYPE splunk_pending_logs gauge splunk_pending_logs 0 # HELP admin_connections Number of active admin connections # TYPE admin_connections gauge admin_connections 1 # HELP public_connections Number of active public connections # TYPE public_connections gauge public_connections 1 ``` ## 7.0 Configuring Prometheus You can extend your existing Prometheus configuration to scrape Fortanix DSM metrics. Add the following jobs to your Prometheus configuration file: > [!NOTE] > NOTE > > Update the targets with the IP addresses of your deployment nodes. ```bash - job_name: 'node_metrics'    scrape_interval: 300s    metrics_path: /proxy    params:      module:        - node    static_configs:      - targets: ['NODE1_IP:9999']      - targets: ['NODE2_IP:9999']      - targets: ['NODE3_IP:9999']  - job_name: 'sdkms_metrics'    scrape_interval: 60s    metrics_path: /proxy    params:      module:        - sdkms    static_configs:      - targets: ['NODE1_IP:9999']      - targets: ['NODE2_IP:9999']      - targets: ['NODE3_IP:9999'] ``` ## 8.0 Visualization If Prometheus server is collecting metrics, you can use Grafana to visualize them. - **Node Metrics**: Use the prebuilt **Node Exporter** dashboard in Grafana to visualize system-level metrics. You can also customize the dashboard as needed. ![Visualization.png](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/4406880384532.png) **Figure 1: Visualization** - **Fortanix DSM Metrics**: Create a custom Grafana dashboard using the collected Fortanix DSM metrics. ![Dashboard.png](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/4406880374164.png) **Figure 2: Dashboard**