F5Networks / f5-telemetry-streaming

F5 BIG-IP Telemetry Streaming
Apache License 2.0
53 stars 24 forks source link

[telemetry.teemReporter] Unable to send analytics data #271

Open DahlPatric opened 5 months ago

DahlPatric commented 5 months ago

Environment

Summary

In /var/log/restnoded/restnoded.log this show up. Mon, 08 Jan 2024 21:00:03 GMT - finest: [telemetry.teemReporter] Unable to send analytics data Traceback: Error: connect ETIMEDOUT 35.199.173.84:443 at Object._errnoException (util.js:1022:11) at _exceptionWithHostPort (util.js:1044:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:
    {
    "class": "Telemetry",
    "controls": {
        "class": "Controls",
        "logLevel": "debug",
        "debug": true
    },
    "NamespaceElasticForEvents": {
        "class": "Telemetry_Namespace",
        "systemListener": {
            "class": "Telemetry_Listener",
            "port": 6514,
            "trace": true
        },
        "Elastic": {
            "class": "Telemetry_Consumer",
            "type": "ElasticSearch",
            "host": "network-agent.logs",
            "protocol": "https",
            "port": "443",
            "index": "eventdata",
            "enable": true,
            "trace": "true"
        }
    },
    "NamespaceElasticForStats": {
        "class": "Telemetry_Namespace",
        "systemPoller": {
            "class": "Telemetry_System_Poller",
            "trace": "true",
            "allowSelfSignedCert": "true",
            "actions": [
                {
                    "includeData": {},
                    "locations": {
                        "telemetryServiceInfo": true,
                        "system": true,
                        "virtualServers": {
                            ".*": {
                                "availabilityState": true,
                                "clientside": true,
                                "status.statusReason": true,
                                "totRequests": true,
                                "name": true
                            }
                        },
                        "pools": true
                    }
                }
            ]
        },
        "Elastic": {
            "class": "Telemetry_Consumer",
            "type": "ElasticSearch",
            "host": "network-agent.logs",
            "protocol": "https",
            "port": "443",
            "allowSelfSignedCert": "true",
            "path": "/bigip",
            "dataType": "f5telemetry",
            "index": "pollerdata",
            "trace": "true",
            "method": "POST",
            "headers": [
                {
                    "name": "content-type",
                    "value": "application/json"
                }
            ],
            "outputMode": "processed"
        }
    }
    }
dstokesf5 commented 5 months ago

Thank you for your feedback. That log message is at the finest level. This means it is informational, and it is not a warning or error. Telemetry Streaming should still operate the same from a user perspective. Are you noticing any additional issues while seeing this log message?

Nachtfalkeaw commented 5 months ago

@DahlPatric Can you please share the information where you found these "locations"? The F5 documentation tells some default configs however it seems at least "telemetryServiceInfo" is a location you use which is not in the documentation? Is this specific for ElasticSearch ?

I am looking for possible locations for Prometheus Pull Consumer configuration.

From this snippet you posted:


                    "includeData": {},
                    "locations": {
                        "telemetryServiceInfo": true,
                        "system": true,
                        "virtualServers": {
                            ".*": {
                                "availabilityState": true,
                                "clientside": true,
                                "status.statusReason": true,
                                "totRequests": true,
                                "name": true
                            }
                        },
                        "pools": true
pgouband commented 5 months ago

Hi @Nachtfalkeaw,

Here you have the list https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/output-example.html#ltm-request-log Location can be:

{
   "system"
   "virtualServers"
   "pools"
   "ltmPolicies"
   "httpProfiles"
   "clientSslProfiles"
   "serverSslProfiles"
   "sslCerts"
   "networkTunnels"
   "deviceGroups"
   "iRules"
   "aWideIps"
   "aaaaWideIps"
   "cnameWideIps"
   "mxWideIps"
   "naptrWideIps"
   "srvWideIps"
   "aPools"
   "aaaaPools"
   "cnamePools"
   "mxPools"
   "naptrPools"
   "srvPools"
   "telemetryServiceInfo"
}

Nested data can be used to specify locations too:

{
  "locations": {
    "system": {
      "diskStorage": {
         "*": {
            "Capacity": true
         }
       }
    }
   }
 }