cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 10

HTTPS monitor component URL variable?

Is there a way to use the URL of an HTTP or HTTPS monitor component in an alert?  I don't see it on any of the guides.  If not, is there a way to utilize ${UserNotes} or ${UserDescription} in the URL field?  That way I can make the template with one of those as the URL, which would in turn let me use that in the alert.  Curious about other people's approaches for monitoring their websites.  Making a template for every site you want to monitor doesn't seem very template-like.

10 Replies
Level 13

If your alert is on the Application Component (and not on the parent Application), this macro will get the URL:

${N=SWQL;M=SELECT Value from Orion.APM.ComponentSetting where ComponentID=${N=SwisEntity;M=ComponentID} and Key='Url'}

Level 8

I'm attempting the response above but am unable to get the variable to populate; ${N=SwisEntity;M=ComponentID} seems to be populating to the correct ID. So i'm getting:

${N=SWQL;M=SELECT Value from Orion.APM.ComponentSetting where ComponentID=8090 and Key='Url'}

On the database and I don't see where I can get this value; note I am alerting on component under trrigger actions

0 Kudos
Level 12

Are you using

"Alert can be triggered if ______ objects (at the same time) have met the specified condition and then trigger a single alert"

?

0 Kudos
Level 8

Hey guys, support got back and this worked, the below answer works for now as I can have service name within the component:

${N=SwisEntity;M=ComponentAlert.ComponentName}

Will followup on the URL.

Level 9

Did you make any progress on the URL?

0 Kudos
Level 8

No sir, the followup with support requesting a URL was dropped by them without a reply and the ticket closed.

Will need to recreate the ticket.

0 Kudos
Level 8

I did a search on the DB and cannot find the component ID (although its odd as its the only value populated from m-milligan query - ComponentID=${N=SwisEntity;M=ComponentID}), I actually recreated a single component and following m-milligan​ answer with the same conditions I am able to get the specific component in the email alert, everything works!

Thinking I may just have to duplicate all the components and see if it works, and escalate to support for this case.

So on the 'trigger condition' page, I have:

I want to alert on "Component" -> Scope of the alert AT least ONE child condition must be satisfied = all '9' components that make up my application template (HTTPS monitor on multiple pages looking for a string) -> Actual trigger condition ALL child objects must be satisfied  = STATUS not equal to 'UP'

Currently three of components are down, is that why? You mention triggering a single alert, is it because when I do the simulate there's multiple component IDs that currently matched the conditions?

I tried only with one component set in the scope and still got the same result:

${N=SWQL;M=SELECT Value from Orion.APM.ComponentSetting where ComponentID=8080 and Key='Url'}

Component ID is populated but the rest isn't.

0 Kudos
Level 13

Did you override the template value for the URL? If you're using the default URL value from the template (https://${IPAddress}, I think), there may not be anything to retrieve.

0 Kudos
Level 8

It is set to an actual URL.

I wonder if its the trigger settings, I'm alerting on component, scope of the alert being "Component" then Instance 'is' 9 objects (the 9 each being a component that makes up the application), actual trigger being "application" status is "down"

When I query the DB for the component ID [dbo].[APM_ComponentSetting] it does not exist, is there anywhere else it may be?

0 Kudos
Level 13

Hmm. I created a new component alert that uses this macro to get the Url:

${N=SWQL;M=SELECT Value from Orion.APM.ComponentSetting where ComponentID=${N=SwisEntity;M=ComponentID}  and Key='Url'}

I set the alert message to:

The URL is ${N=SWQL;M=SELECT Value from Orion.APM.ComponentSetting where ComponentID=${N=SwisEntity;M=ComponentID}  and Key='Url'}

and got the result:

The URL is https://${IP}:${PORT}/login

which is correct for my test node/app/component.

0 Kudos