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!

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI! Discover how Splunk’s agentic AI ...

[Puzzles] Solve, Learn, Repeat: Dereferencing XML to Fixed-length events

This challenge was first posted on Slack #puzzles channelFor a previous puzzle, I needed a set of fixed-length ...

Stay Connected: Your Guide to December Tech Talks, Office Hours, and Webinars!

What are Community Office Hours? Community Office Hours is an interactive 60-minute Zoom series where ...