Splunk AppDynamics

How do I trigger an HTTP POST via the AppDynamics Synthetic jobs?

CommunityUser
Splunk Employee
Splunk Employee

Hi,

1: How do I trigger an HTTP POST via the AppDynamics Synthetic jobs? I think I have to write a script; is there any example I can use? 

2: https://docs.appdynamics.com/display/PRO44/Synthetic+Scripts  suggests I can use 'Python requests for humans' but doesn't give any examples. Where can I find a working example? 

Labels (3)
0 Karma

CommunityUser
Splunk Employee
Splunk Employee

Has anyone managed to get a POST Request through AppD Synthetics to work ? I've tried contacting AppD support but it hasn't yeilded any positive results.

0 Karma

Plinio_Moreira
Engager

Hi Terence, i had the same problem, I needed to call an API to get a token parameter, and use these token to call another API. For this i used the script below:

# importing the requests library
import requests
import json

# String used to validate the success of the call
stringVerificacao = "CDXM084E"
url = 'https://<api1>:8443/auth/oauth/v2/token'
headers = {'Content-Type':'application/x-www-form-urlencoded'}

# POST parameters

data = {'grant_type':'client_credentials',
'client_id': 'xxxxxxx',
'client_secret':'xxxxxxxxxx',
'scope': 'teste',}


#Execute the first POST request
res = requests.post(url, data=data, headers=headers, verify=False)

#Extract the token from the json response 
retornoPOST = res.text
print("Retorno da API " + str(url) + ": \n %s" % retornoPOST)
json_object = json.loads(retornoPOST)
token = json_object['access_token']
#print json_object['access_token']


url2 = 'https://<api2>:8443/v1/xxxxxx'
headers2 = {'Content-Type':'application/json','Authorization':+ token}
data2 = '{'grant_type':'client_credentials',
'client_id': 'xxxxxxx',
'client_secret':'xxxxxxxxxx',
'scope': 'teste',}'

#Execute the second POST request

res2 = requests.post(url2, data=data2, headers=headers2, verify=False)

# extracting response text
retornoPOST2 = res2.text
print("Retorno da API " + str(url) + ": \n %s" % retornoPOST2)
json_object2 = json.loads(retornoPOST2)
codigoerro = json_object2['CodigoErro']

#Compare if the response contains the validate string

# If contains the response, print the values

if codigoerro == stringVerificacao:
print("String de validação '" + str(codigoerro) + "' econtrada com sucesso")
print(retornoPOST2)

# Else, raise a Exception to the script to be mark as error in appdynamics
elif codigoerro != stringVerificacao:
raise Exception("Código '" + str(stringVerificacao) + "' não encontrado no retorno da API: \n %s" % retornoPOST2)

I hope this helps!

Get Updates on the Splunk Community!

Fueling your curiosity with new Splunk ILT and eLearning courses

At Splunk Education, we’re driven by curiosity—both ours and yours! That’s why we’re committed to delivering ...

Splunk AI Assistant for SPL 1.1.0 | Now Personalized to Your Environment for Greater ...

Splunk AI Assistant for SPL has transformed how users interact with Splunk, making it easier than ever to ...

Unleash Unified Security and Observability with Splunk Cloud Platform

     Now Available on Microsoft AzureOn Demand Now Step boldly into the AI revolution with enhanced security ...