F5Networks / f5-appsvcs-templates

F5 BIG-IP Application Service Templates (FAST)
Apache License 2.0
32 stars 13 forks source link

FAST creates telemetry streaming related objects in /Common/Shared #116

Closed simonkowallik closed 1 year ago

simonkowallik commented 1 year ago

Environment

Summary

FAST creates telemetry streaming related objects in /Common/Shared. It does so even when telemetry streaming is not installed.

This seems undocumented and is not desirable in all use-cases.

Appendix A: API Reference of FAST provides a FAST settings schema which suggests enable_telemetry controls log forwarding to telemetry streaming.

Setting enable_telemetry: false has no effect on the created configuration objects.

{
  "type": "object",
  "properties": {
    "enable_telemetry": {
      "type": "boolean",
      "title": "Enable Telemetry Streaming log forwarding",
      "description": "Automatically setup log forwarding for Telemetry Streaming when deploying FAST applications.\nMore information can be found [here](https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/event-listener.html)\n",
      "propertyOrder": 0,
      "format": "checkbox"
    },
...
  "title": "FAST Settings",
  "description": "",
  "definitions": {},
  "$schema": "http://json-schema.org/schema#"
}

Here is a list of objects created by FAST, it may not be complete:

ltm pool /Common/Shared/fast_telemetry
ltm rule /Common/Shared/fast_telemetry_local_rule
ltm virtual /Common/Shared/fast_telemetry_local
ltm profile request-log /Common/Shared/fast_telemetry_traffic_log_profile
security log profile /Common/Shared/fast_telemetry_afm_security_log_profile
security log profile /Common/Shared/fast_telemetry_asm_security_log_profile
sys log-config publisher /Common/Shared/fast_telemetry_publisher
sys log-config destination remote-high-speed-log /Common/Shared/fast_telemetry_hsl
sys log-config destination splunk /Common/Shared/fast_telemetry_formatted

Steps To Reproduce

Install FAST extension.

Expected Behavior

FAST does not create telemetry streaming related objects in /Common/Shared, especially when telemetry streaming is not even installed. In addition creation is configurable by a flag like enable_telemetry.

Actual Behavior

FAST always creates configuration objects.

shyawnkarim commented 1 year ago

This issue is being tracked internally with ID, MYSTIQUE-879.

Why is it undesirable when FAST creates TS objects in /Common/Shared?

joelkeener commented 1 year ago

You can create objects in /Common/Shared with AS3 before and/or after FAST creates its TS objects there.

AS3 will be the source of truth in this case, and we just stitch our objects into their existing declaration.

Please let me know if you have any questions about this.

joelkeener commented 1 year ago

You will have to include the Shared config in your AS3 declaration whenever you update it, but if you forget the TS objects, they will get stitched in each time the FAST config is saved.

simonkowallik commented 1 year ago

@joelkeener thank you for the detailed information. Knowing that we can use other means to create objects in /Common/Shared is fine to me.

shyawnkarim commented 1 year ago

The original ticket mentioned in tis issue has been closed and another has been added, MYSTIQUE-855, which will update our documentation and add some troubleshooting steps when this situation occurs.

shyawnkarim commented 1 year ago

Closing. Our documentation was updated with Release 1.23.0.