Examples of custom monitoring rules

Majority of our checks have already preconfigured default rules which define typical behaviour. For example, our default rule for "Web site" check triggers error if HTTP response from web server is equal or greater than 400.

If you are not satisfied with built-in rules we allow you to define your own. Here are some examples how custom rules look like. You can also use our Expression Builder tool which has easy to use user interface for creating custom rules.

Note

Custom monitoring rules is unique and very powerful AppBeat feature which other monitoring solutions typically don't offer or they offer very limited capability.

Custom rule examples for different agents

Web site agent

Trigger [Good | Warning | Error] status if HTTP status code is greater or equal to 200 and less than 400: %STATUS% >= 200 AND %STATUS% < 400

Trigger [Good | Warning | Error] status if response time is less than 500 milliseconds: %RESPONSE_TIME% < 500

Trigger [Good | Warning | Error] status if we find <html tag in response (please note: match is case sensitive): MATCH(%RESPONSE%, "<html")

Trigger [Good | Warning | Error] status if we find <html> tag in response using Regular expression (please note: match is case sensitive): MATCH(%RESPONSE%, "<html.*?>")

Trigger [Good | Warning | Error] status if HTTP status code is greater or equal to 200 and less than 400 and we find <html tag in response (please note: match is case sensitive): %STATUS% >= 200 AND %STATUS% < 400 AND MATCH(%RESPONSE%, "<html")

Trigger [Good | Warning | Error] status as long as we receive some response from server (and is not slower than Timeout parameter): TRIGGER

Regular expression examples

Trigger [Good | Warning | Error] status if response is number: MATCH(%RESPONSE%, "^\d+?$")

Trigger [Good | Warning | Error] status if response contains word1 or word2 (please note: match is case sensitive): MATCH(%RESPONSE%, "(word1|word2)")

SSL Certificate agent

Trigger [Good | Warning | Error] status if certificate expires in 30 days or less: %EXPIRES_IN_DAYS% <= 30

Trigger [Good | Warning | Error] status if certificate issuer matches CN=Test Authority: MATCH(%ISSUER%, "CN=Test Authority")

Trigger [Good | Warning | Error] status if certificate issuer does not match CN=Test Authority: NOT(MATCH(%ISSUER%, "CN=Test Authority"))

Trigger [Good | Warning | Error] status if certificate serial number matches 123: MATCH(%SERIAL%, "123")

Trigger [Good | Warning | Error] status if certificate public key matches 123: MATCH(%PUBLIC_KEY%, "123")

DNS agent

Trigger [Good | Warning | Error] status if hostname resolves to IP 111.222.111.222: MATCH(%ADDRESSES%, "111.222.111.222")

UDP / TCP agent

Trigger [Good | Warning | Error] status if server returns text OK: MATCH(%RESPONSE%, "OK")

Have questions?

Please contact us.