cancel
Showing results for 
Search instead for 
Did you mean: 
Login & Join the DevCentral Connects Group to watch the Recorded LiveStream (May 12) on Basic iControl Security - show notes included.
Greg_Coward
F5 Employee
F5 Employee

Connecting with a Partner 

One of the things I absolutely love about my job is getting to work/play with our many partners and their cool solutions. So, when a business friend of mine recently reached out to ask me if I knew much about integrating Datadog with F5 I was thrilled to reply, “Ah...not much”. Guess it’s time to play. 

In this two-part series we’ll take a look at two integrations utilizing F5 and Datadog services. To start with we’ll configure our Datadog account to send alert notifications to F5’s application visibility and monitoring service, F5 Beacon. For the second integration, we’ll walk through configuring the F5 BIG-IP with Telemetry Streaming to steam log data to Datadog.   

F5 Beacon & Datadog Synthetics

What’s “F5 Beacon” all about?

F5 Beacon is one of F5 Cloud Services latest SaaS offerings providing holistic application visibility. F5 Beacon ingests and merges telemetry data from various sources to provide end-to-end monitoring of the application from a single pane of glass.

For this walk through I’ll be ingesting Datadog Synthetic notifications into F5 Beacon. The notification stream will in-turn be utilized as a health monitor for my application, (https://app.aserracorp.com).  

Why Datadog?

Datadog is a SaaS analytics vendor, (and partner of F5) providing several cloud-scale monitoring services including application performance monitoring, (APM), network monitoring, log management, synthetic application monitoring and more. 

I’ll be using a Datadog Synthetic test to monitor my backend application server. The Test results will be delivered to my F5 Beacon monitoring service for increased application health visibility. 

Prerequisites

  • F5 Beacon Account- F5 Beacon is an F5 Cloud Services SaaS offering. F5 does offer a 45-day free trial which is a great way to check it out for yourself.
  • Datadog Account  - Datadog offers a SaaS based monitoring service. Similar to F5 Beacon, Datadog offers a 14-day trial.

0151T000003peO5QAI.png


 Step 1 - Generate an F5 Beacon Telemetry Token

Alert notifications triggered by a Datadog Synthetic test will be periodically delivered to my F5 Beacon service. This will be accomplished through webhooks which i’ll configure in my Datadog portal, (more of that later). An authorization token must accompany each notification. 

This is a good place to mention the majority of the configurations I’ll be doing with F5 Beacon can be accomplished either with direct API calls or via the GUI portal. For convenience, I’ve included a Postman collection at the bottom of this post to help get you started. Note, this is offered as a sample similar to what was utilized for this post. For additional reference, checkout F5 CloudDocs.

Okay, sorry about that slight digression. To create a telemetry token I’ll make two API calls, (see screenshots below) to the F5 Beacon system to login and generate a new token.

0151T000003peOAQAY.png

Step 2 - Create Datadog Webhooks and Alert Notification

With my token in hand I can now turn my attention to Datadog. I will create two webhooks, (one triggered by a test failure and one triggered when restored) and associate them to a Synthetics test of my sample application, (https://app.aserracorp.com).

After logging in to the Datadog portal, I select ‘Integrations’ → ‘Integrations’ and select the ‘Webhooks’ tile, (see below). If the tile is not visible, you may need to first install the integration by entering webhooks in the search window provided.0151T000003peOBQAY.png

 In the popup window scroll down to the webhooks section and select ‘New+’. I'll use the URL and JSON snippet provided to create the two webhooks as shown below.

https://ingestion.ovr.prd.f5aas.com:50443/beacon/v1/ingest?


{
        "sourceTypeID": 3,
        "sourceName":"Datadog",
        "sourceDescription":"Datadog Service",
        "token":"a-aazUoovLoS#J9gpvJ6V2S6U8_hdrJwGv9QNtycIPKPYa4JyjaC4Tok=",
        "components":[
            {
              "name":"Aserracorp App Status",
              "description": "Backend App server Status",
              "healthStatus":"CRITICAL",
              "healthStatusReason":"Probe Down. Follow link more info: $LINK"
            }
        ]
   }

0151T000003peOFQAY.png

The next step is to create a Synthetics test and associate my webhooks. From the Datadog portal, I select ‘UX Monitoring’ → ‘Synthetics Test’. From the main page I select ‘Get Started’, (see below) and select ‘New API Test’.

0151T000003peO3QAI.png


I will complete the test setup form as shown below. This will test the availability of my application’s backend server. Under step 6, (Notify Your Team) I specify the two previously created webhooks. Depending upon the alert event, (failure or recover) the appropriate webhook will send a notification to the F5 Beacon service.

0151T000003peO4QAI.png

With the test configured and after an event has been triggered, Datadog will automatically be added to my F5 Beacon service as a new source. Which is a great segway to our last step.

0151T000003peOCQAY.png


Step 3 - Associate Synthetic Event with F5 Beacon Application

Now that I have Datadog configured to send notifications, let’s take a look at the F5 Beacon portal. After logging into the portal, (https://beacon.f5.com) I select ‘Configuration’ from the drop-down menu in the middle pane. Under the ‘Sources’ tab i can see a Datadog source has been created.0151T000003peODQAY.png

To associate the Synthetic metric to my application, (previously deployed) I navigate to my application by selecting ‘Application Landscape’ → ‘List View’.

0151T000003peOGQAY.png

From the application list, I select the application name to open the app. In the center pane, I’ll select the ‘Edit Mode’ switch. I select the ‘Application Service’ node which represents my backend service and select ‘Edit Node’.

0151T000003peO6QAI.png

On the 'Edit Node' for 'Measurement' I select 'beacon-health-source' and from the 'Name/Source' drop-down I will have a single option representing my previously configured Synthetic notification, (see above).

Now that i have associated my Datadog Synthetic test notification with my application service node, any notifications received will be visible in the application landscape. This monitoring piece, along with checks performed on different application resources, will greatly aid in troubleshooting application issues and further enhance overall application visibility.

0151T000003peOLQAY.png

Additional Links

Comments
Darryl_Woods
Nimbostratus
Nimbostratus

Thanks for the write up on DataDog integration.

 

We're just looking at integrating with DataDog to send log data and metrics as well, and very interested in seeing your second post mentioned in the article (unless it's already been posted, and I've missed it).

 

Version history
Last update:
‎10-Aug-2020 11:58
Updated by:
Contributors