Overview
This topic contains all the migration related information to achieve HA and DR on Cisco IoT FND with Postgres.
Deployment and Management Guide for Cisco IoT FND on OVA with Postgres and InfluxDB, Release 5.x.x and Later
Updated: February 4, 2026
This topic contains all the migration related information to achieve HA and DR on Cisco IoT FND with Postgres.
This document provides a step-by-step guide for migrating time-series data (events and metrics) from InfluxDB to Postgres within the Cisco IoT FND environment. The current version of the FND is 5.1.0-155 is used for the Influx DB to Postgres migration.
Historically, Cisco IoT FND used Influx DB as a specialized time-series database to handle high volumes of events and performance metrics. Starting Cisco IoT FND Release 5.1.1, Cisco IoT FND consolidates this data into PostgreSQL to simplify the database architecture and management.
Ensure the following CPU and Memory configuration for Cisco IoT FND. Here's an example configuration for Cisco IoT FND running 50,000 routers:
| Configuration |
Value |
|---|---|
| CPU Cores |
24 |
| Sockets |
6 |
| Core per Socket |
4 |
| IOMMU |
Disabled |
| Memory |
96 GB |
In the Data Retention page, configure the following values:
Based on the image provided, here are the Data Retention settings in a tabular format:
| Field | Value (days) |
|---|---|
| Keep Event data for | 7 |
| Keep Firmware Operation data for | 7 |
| Keep Historical Dashboard data for | 7 |
| Keep Dashboard data for | 7 |
| Keep Closed Issues data for | 7 |
| Keep JobEngine data for | 7 |
| Keep Historical Metrics Statistics for | 30 |
| Keep Device Network Statistics for | 7 |
| Keep Open Issues data for | 7 |
| Keep Service Provider down routers data for | 7 |
Disable the data retention in Influx DB using the influxdb.conf script. Here's an example:
$ vim /etc/influxdb/influxdb.conf
[retention]
# Determines whether retention policy enforcement enabled.
enabled = false
$ Restart the influxdb service - systemctl restart influxdb.service Run du -sh /var/lib/influxdb/data/fnd/ to confirm the total volume of InfluxDB data (e.g., 25GB) that will be moved to the PostgresDB.
The Influx DB to Postgres migration process filters events based on current device inventory. Events linked to deleted or decommissioned devices are excluded from the migration scope. For further technical details, refer to CSCwp87487.
The following table outlines the specific measurements being migrated from the InfluxDB time-series database to the PostgreSQL relational database:
| InfluxDB Table (Source) | PostgresDB Table (Destination) |
|---|---|
events |
events |
historicalnameddata |
historical_named_data |
historicalnameddata_da |
historical_named_data_da |
historicalnameddata_1_hr |
historical_named_data_hr |
metricshistory |
metrics_history |
mhistory_1_hr |
metrics_history_hr |
The migration process is resource-intensive. It is mandatory to monitor system performance from the start of the migration until completion. If you encounter timeout or memory exhaustion issues, you must adjust the thread parameters in the influx2postgres.properties file.
Use these instructions to modify the influx2postgres.properties file:
| 1. | Stop the Cisco IoT FND CGMS service or the Cisco IoT FND container: Example:
|
|
| 2. | Disable the Kapacitor tasks or stop the Kapacitor service: Example:
|
|
| 3. | Install or upgrade the cgms-5.1.1-16x86_64.rpm on Cisco IoT FND. Example:
|
|
| 4. | Navigate to the /opt/cgms-tools/conf path and modify the influx2postgres.properties file: Example:
|
|
| 5. | Restart the Influx DB service. If any service is consuming the memory, restarting frees up the memory. Example:
|
|
| 6. | Navigate to the script path and execute the Example:
|
You've successfully migrated time-series data from InfluxDB to Postgres.
| 1. | (Optional) Verify the data in the Postgres DB using a standalone Cisco IoT FND using these steps: |
|
| 2. | Perform the database migration using Example:
|
|
| 3. | Start the cgms service: Example:
|
|
| 4. | Log in to Cisco IoT FND and verify the events, dashboard charts, and graphs. |
You've successfully verified the data in the Postgres DB after the Influx DB to Postgres migration.
This procedure configures the Cisco IoT FND to connect to an external EDB Postgres database and executes a migration script to transfer the necessary data to the new environment. It subsequently ensures data integrity and operational readiness by performing a complete backup and restore sequence on the database server.
| 1. | Configuration and Migration on DC2 FND: |
|
| 2. | Run the backup script pointing to the specific database server IP. Example:
|
|
| 3. | Restore the database. Example:
Example:
|
You've migrated the data from standalone to EDB Postgres.