10-Oct-2023 06:57
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.
13-Oct-2023 01:11
05-Nov-2023 22:22
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.
09-Nov-2023 23:55
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