18 Mar 2020 11:58 PM
When sending in External Synthetic tests and results via the Dynatrace API, is it possible to send informational events that help provide context on the cause of a failure? The API appears to only provide the ability to send "outage" or "slowdown" events which immediately triggers a Problem.
For example, we externally test various TCP PORTs and would like to provide additional details on when those tests fail (i.e. timeout, connection refused, name/address resolution error, etc.).
If that is not possible, are there any recommendations on how to properly "synchronize" the outage events so that they are properly opened/closed based on the result of the external test? The API shows an "eventId" element that needs to be provided, but the documentation doesn't indicate how this is used and whether it has to be unique per "outage occurrence/instance" or if it just needs to be unique per synthetic test.
Solved! Go to Solution.
19 Mar 2020 07:47 AM
Yes you can use the standard v1/api/events POST method to send in info events.
Best greetings,
Wolfgang
19 Mar 2020 12:22 PM
Thanks Wolfgang! I did explore that as an option, but got stuck in determining how to get the entityId for the external synthetic monitor that I'm creating via API.
From my testing, when I create an external synthetic test via the /synthetic/ext/tests API I do not get the entityId value back in the response - just a 204 if successful. Ideally, it would return that value as part of a JSON response which I could then turn around and use the /api/events as you suggested. I also am not seeing a way to retrieve the entityId via any other API endpoint as the /synthetic/* services provide no GET method to retrieve external synthetic test entities.
The only method I'm seeing so far in using the /v1/api/events endpoint is if I use the tagRule structure - which is quite honestly cumbersome as that means I would essentially have to create a unique tag value for each external synthetic test I create.
The /synthetic/ext/events API seems to hold the most promise, but it's unclear how to connect and correlate the "open" and "resolved" events.
Any clarification on either how to get the entityId for an external synthetic test entity in order to use the /api/events endpoint or how to correctly leverage the /synthetic/ext/events API?
Thanks!