Technical Forum
Ask questions. Discover Answers.
cancel
Showing results for 
Search instead for 
Did you mean: 
Custom Alert Banner

Telemetry Streaming Question

Andy
Nimbostratus
Nimbostratus

Hi, I'm after a little assistance, I have installed the Telemetry Streaming extension to use Opentelemetry as an endpoint. I've been able to achieve this and my receiver is receiving the metrics. The declaration I am POST-ing is as follows

 

{
    "class": "Telemetry",
    "My_System": {
        "class": "Telemetry_System",
        "systemPoller": {
            "interval": 60
        }
    },
    "My_Listener": {
        "class": "Telemetry_Listener",
        "port": 6514
    },
    "My_Consumer": {
        "class": "Telemetry_Consumer",
        "type": "OpenTelemetry_Exporter",
        "host": "10.1.2.3",
        "port": 4317,
        "metricsPath": "/v1/metrics",
        "convertBooleansToMetrics": true,
        "enable": true,
        "trace": false,
        "allowSelfSignedCert": true,
        "exporter": "protobuf",
        "protocol": "https"
    } 
}

 

This is succesful as I say, but the received metrics don't include a hostname (which is important as there are some profile duplications on the 40+ devices looked afer), is there a way to insert the hostname into the messages exported from the systems?

Thanks in advance.

4 REPLIES 4

PeteWhite
F5 Employee
F5 Employee

Andy
Nimbostratus
Nimbostratus

Yes, I'd seen that article, but I couldn't work out how to insert the hostname into my TS declaration.

QuinnEdwards
Nimbostratus
Nimbostratus

You can include the hostname in the exported metrics by adding a "tags" field within the "My_Consumer" section of your Telemetry declaration. This will help distinguish data from different devices. Simply replace "Your_Hostname" with the actual hostname of the device.

Dahl
Altostratus
Altostratus

Hi all F5 contributers,

@Andy, hope you dont mind sort of highjacking you thread. But did not want to start another thread with same topic.

Trying to send Telemetry metric data to ElasticSeach pipeline but not recieving any actuallt metric data. I see what to be more syslog data comming in to system. Telemetry have been configured.
Followed and configure same as mention here https://my.f5.com/manage/s/article/K000134780
See same content output when tail /var/tmp/telemetry_trace.log as described here https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/output-example.html

AS3 declaration

{
	"class": "Telemetry",
     "controls": {
         "class": "Controls",
         "logLevel": "debug",
         "debug": true
     },
     "vcc_Listener": {
        "class": "Telemetry_Listener",
        "port": 6514
    },
    "vcc_System": {
        "class": "Telemetry_System",
        "trace": "/var/tmp/telemetry_trace.log",
        "systemPoller": {
            "interval": 60
        }
    },
    "vcc_ELK_Consumer": {
        "class": "Telemetry_Consumer",
        "type": "ElasticSearch",
        "host": "x.x.x.x",
        "port": "5047",
        "protocol": "http",
        "allowSelfSignedCert": "true",
        "index": "f5telemetry",
        "dataType": "f5telemetry"
    }
}

 Pipeline

input {
  http {
    port => "5047"
    additional_codecs => { "application/json" => "json_lines" }
  }
}

filter {
  json {
    source => "message"
  }
}

output {
    elasticsearch {
        data_stream => true
        data_stream_type => "metrics"
        data_stream_dataset => "f5"
        data_stream_namespace => "prod"
        data_stream_auto_routing => true
        hosts => ["${ES_HOSTS}"]
        codec => json
        ssl => true
        cacert => "/etc/logstash/certificates/ca.crt"
        user => "${ES_USER}"
        password => "${ES_PASSWORD}"
	}
}

 Any sort of help is very much appreciated

Thanks in advance
Patric