Telemetry to FluentD Streaming (TFS) Plugin REST API

The following authentication types are supported:

  • basic (/ufmRest)

  • client (/ufmRestV2)

  • token (/ufmRestV3)

For complete instructions on how to deploy the TFS plugin and the detailed plugin’s APIs, refer to UFM Telemetry Endpoint Stream to Fluent Endpoint (TFS).

  • Description: Gets the current streaming configurations

  • URL: GET ufmRest/plugin/tfs/conf

  • Request Data: N/A

Response:

Copy
Copied!
            

{ "ufm-telemetry-endpoint": [{ "host": "127.0.0.1", "url": "csv/metrics", "port": 9001, "interval": 10, "message_tag_name": "high_freq_endpoint" }], "fluentd-endpoint": { "host": "10.209.36.68", "port": 24226 }, "streaming": { "compressed_streaming": true, "bulk_streaming": true, "enabled": true, "stream_only_new_samples": true }, "logs-config": { "log_file_backup_count": 5, "log_file_max_size": 10485760, "logs_file_name": "/log/tfs.log", "logs_level": "INFO" }, "meta-fields":{ "alias_node_description": "node_name", "alias_node_guid": "AID", "add_type":"csv" } }

• Description: Sets/updates streaming configurations
• URL: POST ufmRest/plugin/tfs/conf
• Request Data:

Copy
Copied!
            

{ "ufm-telemetry-endpoint": [{ "host": "127.0.0.1", "url": "csv/metrics", "port": 9001, "interval": 10, "message_tag_name": "high_freq_endpoint" }], "fluentd-endpoint": { "host": "10.209.36.68", "port": 24226 }, "streaming": { "compressed_streaming": true, "bulk_streaming": true, "enabled": true, "stream_only_new_samples": true }, "logs-config": { "log_file_backup_count": 5, "log_file_max_size": 10485760, "logs_file_name": "/log/tfs.log", "logs_level": "INFO" }, "meta-fields":{ "alias_node_description": "node_name", "alias_node_guid": "AID", "add_type":"csv" } }

  • Response: string “set configurations has been done successfully”

  • Status Codes:

    • 200 – Ok.

    • 400 – bad request (bad or missing parameters).

To retrieve metrics from several endpoints, you can configure the TFS plugin to retrieve them. This can be done by adding the telemetry endpoint configurations through the configuration API. Each endpoint that you add has a separate retrieving process or streaming interval. The below is an example payload that includes configurations for multiple UFM telemetry endpoints:

Copy
Copied!
            

{      "ufm-telemetry-endpoint": [{          "host": "127.0.0.1",          "url": "csv/metrics",          "port": 9001,          "interval": 10,          "message_tag_name": "high_freq_endpoint"      },{          "host": "127.0.0.1",          "url": "csv/metrics",          "port": 9002,          "interval": 60,          "message_tag_name": "low_freq_endpoint"      }],      "fluentd-endpoint": {          "host": "10.209.36.68",          "port": 24226      }  }

  • Description: Gets the current streaming attributes configurations (the enabled/disabled attributes and also their streamed names)

  • URL: GET ufmRest/plugin/tfs/attributes

  • Request Data: N/A

Response:

Copy
Copied!
            

{ ...   "ExcessiveBufferOverrunErrorsExtended": {     "enabled": true,     "name": "ExcessiveBufferOverrunErrorsExtended"   },   "LinkDownedCounterExtended": {     "enabled": true,     "name": "LinkDownedCounterExtended"   },   "LinkErrorRecoveryCounterExtended": {     "enabled": true,     "name": "LinkErrorRecoveryCounterExtended"   },   "LocalLinkIntegrityErrorsExtended": {     "enabled": true,     "name": "LocalLinkIntegrityErrorsExtended"   }   ... }

  • Description: Sets/updates streaming attributes configurations

  • URL: POST ufmRest/plugin/tfs/attributes

  • Request Data:

    Copy
    Copied!
                

    { ...   "ExcessiveBufferOverrunErrorsExtended": {     "enabled": true,     "name": "ExcBuffOverrunErrExt"   },   "LinkDownedCounterExtended": {     "enabled": false   },   "LinkErrorRecoveryCounterExtended": {     "enabled": true,     "name": "linkErrRecCountExt"   },   "LocalLinkIntegrityErrorsExtended": {     "enabled": true,     "name": "localLinkIntErrExt"   }   ... }

  • Response: “Set attributes configurations has been done successfully”

  • Status Codes:

    • 200 – Ok

    • 400 – Bad request (bad or missing parameters)

© Copyright 2023, NVIDIA. Last updated on Feb 8, 2024.