SKOOR StableNet FDW Changelog

9.5.0

  • Adds an init-data-source.py initialization script that provisions the PostgreSQL database and tablespaces, configures SKOOR Auth and StableNet FDW settings, creates the StableNet data source, imports sync scripts, and imports commonly used data queries into SKOOR.

9.4.0

  • Adds support for configuring whether already loaded measurements are skipped during history sync via the skip_already_loaded_measurements setting.

9.3.1

  • Uses prepared statements when reading data from the StableNet Oracle/MySQL database. This reduces noise in Oracle Query Analyzer reports and improves query reuse.

9.3.0

  • Implements stablenet_netcom_bw_customer_number foreign table and corresponding sync script.

9.2.0

  • Adds synchronization for NetFlow talker data.
  • Fixes an additional edge case that could trigger a TokenExpiredError.
  • Adds business-hours aggregation for daily, weekly, monthly, quarterly, and yearly data, with per-webservice start and end hours configurable via business_start_hour and business_end_hour (default: 7 to 17).

9.1.1

  • Removes the manual ANALYZE VACUUM maintenance calls, as it is no longer needed in PostgreSQL 17.

9.1.0

  • No changes

9.0.4

  • Fixes race condition that sometimes causes API requests to fail with "Token expired" error message.

9.0.3

  • Fixes bug that causes connections to fail if no Magellan Oauth config is there.

9.0.2

  • Adds state_agg column to minutely, 5_minutely and 15_minutely tables.

9.0.1

  • Fixes bug that causes Magellan Oauth reauthentication to fail.
  • Optimizes magellan-default-organsisations-sync.py by simplifying the used query.

9.0.0

  • Switch to PostgreSQL 17 dependencies.
  • Adds StableNet favicons to be used withing SKOOR Dashboard

8.1.16

  • Implements derived data sync. Derived data sync is disabled by default and has to be enabled by the sync_derived_data option.
  • Makes timeouts configurable using query_timeout, measurement_sync_query_timeout, magellan_default_organisations_sync_query_timeout, load_query_timeout, aggregate_query_timeout, cleanup_query_timeout and analyze_query_timeout.

8.1.15

  • Changes the Magellan organisation sync in a way that only organisations with data are stored. This is needed by SKOOR Auth to display proper error pages in case a customer has no active organisations.

8.1.14

  • Always set expected_interval of measurement_metric table to NULL to be compatible with StableNet 26. We keep the column in the foreign table to keep backwards compatibility.

8.1.13

  • Enables incremental history synchronization, allowing additional measurements and metrics to be added after the initial sync and ensuring that only newly added data is synced in subsequent runs.

8.1.12

  • Always set Content-Type: application/json in HTTP requests because Magellan API Gateway fails otherwise.
  • Adds job, job_result and job_result_discovery_audit_event tables.

8.1.11

  • Implements OAuth2 against Magellan.

8.1.10

  • Removes entity caching in FDW to prevent memory issues and user confusion.
  • Ensures that ping measurements have min and max values in synced tables.

8.1.9

  • Makes getting taggables, measurements, open alarms, monitors and links paged.
  • Syncs data for external measurements
  • Adds stablenet_magellan_organisation foreign table

8.1.8

  • Always executes VACUUM (ANALYZE) after doing measurement data sync.

8.1.7

  • Gets rid of stats_agg_max and percentile_agg_max in aggregate tables because for new data those are just duplicates of stats_agg and percentile_agg. Adds value_min and value_max instead.

8.1.6

  • Installs or updates timescaledb, timescaledb_toolkit and tablefunc extensions in init-foreign-tables.sh

8.1.5

  • Add more robust retry behavior.

8.1.4

  • Allows to disable measurement data sync for individual tables.
  • Fixes swapped avg and min when getting data from StableNet tables.
  • Caps buckets for percentile_agg stats to 60 and sets max error to 0.05 (5%)
  • Improves performance of measurment data sync.
  • Adjusts FDW and Measurement data sync to a breaking change in StableNet. Metric keys changed from a format like SNMP_1234 to #1234. This means that the aggregated data in measurement history can't be used anymore and that a complete resync is needed. The best way to achieve this is to manually delete the aggregated tables and to the sync preparation according to documentation (https://docs.skoor.com/skoor-doc/aggregated-measurement-data).
  • Allows to specify the history sync range using history_start_date and history_end_date

8.1.3

  • Improves incremental data sync performance.
  • Adds server_id to foreign tables.
  • Ensures that measurement_ids are always unique on multi server views by changing the type of the measurment_id to TEXT and adding a suffix to the ID if a server_id is set (e.g. 1234@server1)
  • Adds stablenet_taggable_monitor foreign table.

8.1.2

  • Implements DB based history data sync

8.1.1

  • Make endTime of measurement endpoint optional.

8.1.0

  • No changes

8.0.4

  • Improves calculation of permission hash.

8.0.3

  • Uses pages calls to /measurements endpoint to avoid OutOfMemoryException on the StableNet REST API
  • Implements stablenet_monitor table.
  • Supports more qualifier operators like IN, >, <, ...
  • Implements stablenet_taggable_tag and other taggable_..._tag tables.
  • Fixes bug that that breaks open_alarm table in case no tags are given.

8.0.2

  • Implements better StableNet REST API error handling.
  • Explicitly set the HTTP header "Accept: application/json` in requests to the StableNet API as the new default seems to be CSV for some endpoints.

8.0.1

  • Accepts gzipped response when getting data from StableNet backend.

8.0.0

  • No changes

7.3.18

  • Implements stablenet_open_alarm table

7.3.17

  • Fallback to categories field on /meaurements endpoint. This field has been renamed from categories to tags in SP3, but we also want to run on SP3 for the time being.

7.3.16

  • Makes the stablenet_measurement_metric table using the /measurement-data/<obid>/metrics StableNet REST API endpoint instead of the missing (since 24 SP4) /measurements/{measurementId}/metrics one.

7.3.15

  • Implements geo and link endpoints
  • Fixes bug that causes an error when getting ping measurements.

7.3.14

  • Makes aggregated measurement data retention configurable using the -r flag.

7.3.13

  • Returns better estimates for number of rows. This helps the query planner to choose better query plans.

7.3.12

  • Fixes bug that breaks some calls to stablenet_measurement, stablenet_measurement_metricand stablenet_measurement_data in multi server environments.

7.3.11

  • Adds stablenet_multi_server_view table to get configured servers.
  • Adds stablenet_permission_hash to get a hash for the accessible measurements. This hash is used by the SKOOR Webservice to optimize caching.

7.3.10

  • Fixes timestamp of stablenet_measurement_data when getting data in a different interval than the requested bucket_size.

7.3.9

  • Adds interval column to stablenet_measurement_data and stablenet_measurement_data_aggregated.
  • Ensures that compression policy on stablenet_measurement_data_aggregated is setup after data has been fully initialized.

7.3.8

  • Adds additional compound indexes without server_name columns to stablenet_measurement_data_aggregated to increase performance when performing queries without server_name in where or on clause.

7.3.7

  • Adds TimescaleDB Toolkit

7.3.6

  • Adds additional log output for stablenet_measurement_data.
  • Increase connect time to StableNet API to 20 seconds.

7.3.5

  • Implements workaround to mitigate StableNet API /measurement-data bug that causes some missing metrics when mixing metric types.

7.3.4

  • Fixes stablenet_measurement_data for single measurement

7.3.3

  • Renames stablenet_<domain> tables to stablenet_taggable_<domain> to make it more obvious that those are in fact derived from stablenet_taggable with a preconfigured domain.

7.3.2

  • Ensures that stablenet_measurement_data return all received rows.
  • Implements tag_filter for stablenet_taggable, stablenet_<domain>, stablenet_measurement and stablenet_measurement_data.

7.3.1

  • Adds a timeout of 10 minutes to StableNet API HTTP requests.

7.3.0

  • Initial version