Troubleshoot a missing message for a subscription.
A message you expected at a subscription was never received. The flow of message delivery didn't happen the way you thought it would. For example, you didn't get an email when a compute instance exceeded an alarm threshold.
Following are possible causes and remedies for this issue.
For example, consider an alarm configured for a 90% threshold at a one-hour interval. Perhaps the most recent evaluation occurred before the compute instance exceeded the threshold.
View alarm history. A transition found around that time indicates that the alarm might have sent the message you're missing. An absence of transitions indicates that the alarm didn't send any messages. If you expected the alarm to transition, review its configuration.
For an event rule: Look for matching events that are close to the time of the trigger condition.
View default metric charts for the event rule. See the Events Matched chart. A matching event around that time indicates that the event rule might have sent the message you're missing. An absence of matching events indicates that the event rule didn't send any messages. If you expected the event rule to detect a matching event, review its configuration.
For a connector: Look for written messages that are close to the time of the trigger condition.
View default metric charts for the connector. See the Messages written to target chart. A written message around that time indicates that the connector might have sent the message you're missing. An absence of written messages indicates that the connector didn't send any messages. If you expected the connector to write a message, review its configuration.
In the subscription's parent topic, look for message publish and delivery times that are close to the related timestamp from the previous step.
View the topic's default metric charts. Specifically, view the Published Messages Total Count and Delivered Messages Count metric charts. A published message that wasn't delivered could indicate an issue with the subscription's endpoint.
How to fix
You can remedy this situation for future trigger conditions. Update the trigger configuration of the message-sending resource so that the trigger is satisfied when you expect it to be.
For example, update an alarm to use a shorter interval.
Following are instructions for updating message-sending resources:
View alarm history. A transition found around that time indicates that the alarm might have sent the message you're missing. An absence of transitions indicates that the alarm didn't send any messages. If you expected the alarm to transition, review its configuration.
For an event rule: Look for matching events that are close to the time of the trigger condition.
View default metric charts for the event rule. See the Events Matched chart. A matching event around that time indicates that the event rule might have sent the message you're missing. An absence of matching events indicates that the event rule didn't send any messages. If you expected the event rule to detect a matching event, review its configuration.
For a connector: Look for written messages that are close to the time of the trigger condition.
View default metric charts for the connector. See the Messages written to target chart. A written message around that time indicates that the connector might have sent the message you're missing. An absence of written messages indicates that the connector didn't send any messages. If you expected the connector to write a message, review its configuration.
How to fix
You can remedy this situation for future trigger conditions. For example, update an event rule to match on the intended event.
Following are instructions for updating message-sending resources:
For example, an email subscription's endpoint might not match the expected email address, or a Slack subscription's endpoint might not include the correct webhook.
One indicator of an incorrectly configured subscription is a published message that doesn't get delivered.
How to diagnose
Get the subscription's details and review configuration. For example, compare the endpoint of an email subscription to the expected email address.
View alarm history. A transition found around that time indicates that the alarm might have sent the message you're missing. An absence of transitions indicates that the alarm didn't send any messages. If you expected the alarm to transition, review its configuration.
For an event rule: Look for matching events that are close to the time of the trigger condition.
View default metric charts for the event rule. See the Events Matched chart. A matching event around that time indicates that the event rule might have sent the message you're missing. An absence of matching events indicates that the event rule didn't send any messages. If you expected the event rule to detect a matching event, review its configuration.
For a connector: Look for written messages that are close to the time of the trigger condition.
View default metric charts for the connector. See the Messages written to target chart. A written message around that time indicates that the connector might have sent the message you're missing. An absence of written messages indicates that the connector didn't send any messages. If you expected the connector to write a message, review its configuration.
In the subscription's parent topic, look for message publish and delivery times that are close to the related timestamp from the previous step.
View the topic's default metric charts. Specifically, view the Published Messages Total Count and Delivered Messages Count metric charts. A published message that wasn't delivered could indicate an issue with the subscription's endpoint.
How to fix
You can remedy this situation for future trigger conditions.
In the subscription's parent topic, look for dropped function messages. View the topic's default metric charts. Specifically, view the Failed Messages Count metric chart, and note the value of the metric dimension endpointType ("ORACLE_FUNCTIONS" for a dropped function message). When a dropped function message exists, the counter of this metric chart increments, showing "ORACLE_FUNCTIONS" for endpointType.
How to fix
You can remedy this situation for future trigger conditions.
SMS messages might not be enabled for the message-sending resource. SMS subscriptions are enabled only for messages sent by the following Oracle Cloud Infrastructure services: Announcements, Monitoring, and Connector Hub. See Before You Begin (on the "Creating an SMS Subscription" page).
For example, consider an event rule configured to send messages to a topic. The topic contains an email subscription and an SMS subscription. However, SMS messages aren't enabled for the Events service. In this case, the SMS message is dropped.
How to diagnose
In the subscription's parent topic, look for dropped SMS messages. View the topic's default metric charts. Specifically, view the Failed Messages Count metric chart, and note the value of the metric dimension endpointType ("SMS" for a dropped SMS message). For example, if an unsupported resource sends an SMS message to a topic containing an SMS subscription, then the SMS message is dropped. The counter of this metric chart increments, showing "SMS" for endpointType.
How to fix
You can remedy this situation for future trigger conditions. Create a message-sending resource that is enabled for sending SMS messages:
Cause: International SMS capabilities are missing 🔗
The SMS message might be sent to or from an unsupported locale. International SMS capabilities are required if SMS messages come from a phone number in another country.
How to diagnose
Confirm that you have the ability to send and receive SMS messages to and from other countries. We continuously add support for more countries so that more users can receive SMS messages from local phone numbers. See SMS.
How to fix
You can remedy this situation for future trigger conditions. Get international SMS capabilities.
Cause: Suppressed email address 🔗
An email message might not be delivered if the email address is on a suppression list.
Reasons for suppression include bounce codes and user complaints. For more information, see Managing the Suppression List.
How to diagnose
In the subscription's parent topic, look for dropped email messages. View the topic's default metric charts. Specifically, view the Failed Messages Count metric chart, and note the value of the metric dimension endpointType ("EMAIL" for a dropped email message). For example, if the email address is on a suppression list, then the email message is dropped. The counter of this metric chart increments, showing "EMAIL" for endpointType.
Identify events that might have caused a subscription to disappear.
A subscription that you accessed before is no longer available.
The subscription was removed, either through explicit deletion or an unsubscription event (a call to GetUnsubscription).
For example, a member of the email distribution list might have clicked the unsubscribe link provided in the email message sent by an alarm.
Remedy: Identify unsubscription and deletion events 🔗
Open the navigation menu and select Observability & Management. Under Logging, select Audit.
Select the compartment that contains the subscriptions that you want to monitor.
Filter for unsubscription and deletion events by providing the following values.
Filter by time: Select Custom.
Start Date: Select the start date for the search window.
End Date: Select the end date for the search window.
Request action types: Select DELETE.
Note
To filter for older unsubscription and deletion events, select GET (used for messages before July 18, 2023).
Resource: Select ons-subscription.
Event type: Select the following items:
com.oraclecloud.notification.GetUnsubscription
com.oraclecloud.notification.DeleteSubscription
Matching events are listed under Explore events.
To determine if an event is related to the missing subscription, expand it to review its log data.
Example message for an unsubscription event: "GetUnsubscription succeeded. Subscription removed from topic ocid1.onstopic.oc1.iad.exampleid"
(Optional)
Select Export log data (JSON) to export the listed events.
For more information about using audit events, see Audit Logs.
Remedy: Send a notification for any unsubscription event 🔗
Open the navigation menu and select Observability & Management. Under Events Service, select Rules.
Select a compartment.
Select Create Rule.
On the Create Rule page, enter a friendly name and description. Avoid entering confidential information.
Under Rule Conditions, provide the following values.
Condition: Select Event Type.
Service Name: Select Notifications.
Event Type: Select Subscription - Get Unsubscription.
Under Actions, provide the following values:
Action Type: Select Notifications.
Notifications Compartment: Select the compartment that contains the topic that you want to use for event messages.
Topic: Select the topic that you want to use for event messages.
Select Create Rule.
Function Not Invoked or Run 🔗
Troubleshoot a function that didn't get invoked or didn't run as expected through a subscription.
The function configured in a function subscription either didn't get invoked or didn't run. The flow of message delivery for the function didn't happen the way you thought it would. For example, the configured function didn't resize a VM when it exceeded memory.
Following are possible causes and remedies for this issue.
For example, you might expect an event rule to send a message to the configured topic because an event occurred. However, the event rule might be accidentally configured for a different event that didn't happen.
View alarm history. A transition found around that time indicates that the alarm might have sent the message you're missing. An absence of transitions indicates that the alarm didn't send any messages. If you expected the alarm to transition, review its configuration.
For an event rule: Look for matching events that are close to the time of the trigger condition.
View default metric charts for the event rule. See the Events Matched chart. A matching event around that time indicates that the event rule might have sent the message you're missing. An absence of matching events indicates that the event rule didn't send any messages. If you expected the event rule to detect a matching event, review its configuration.
For a connector: Look for written messages that are close to the time of the trigger condition.
View default metric charts for the connector. See the Messages written to target chart. A written message around that time indicates that the connector might have sent the message you're missing. An absence of written messages indicates that the connector didn't send any messages. If you expected the connector to write a message, review its configuration.
How to fix
You can remedy this situation for future trigger conditions. For example, update an event rule to match on the intended event.
Following are instructions for updating message-sending resources:
In the subscription's parent topic, look for dropped function messages. View the topic's default metric charts. Specifically, view the Failed Messages Count metric chart, and note the value of the metric dimension endpointType ("ORACLE_FUNCTIONS" for a dropped function message). When a dropped function message exists, the counter of this metric chart increments, showing "ORACLE_FUNCTIONS" for endpointType.
How to fix
You can remedy this situation for future trigger conditions.
The Notifications service has no information about a function after it's invoked.
If this is the first invocation, response might be delayed.
Confirm Notifications delivery: In the subscription's parent topic, confirm that Notifications delivered the message to the function. View the topic's default metric charts. Specifically, view the Delivered Messages Count metric chart, and note the value of the metric dimension endpointType ("ORACLE_FUNCTIONS" for a delivered function message). When a function message is delivered, the counter of this metric chart increments, showing "ORACLE_FUNCTIONS" for endpointType.
In the function, look for invocation and run times that are close to the time when the trigger condition occurred.
View the function's default metric charts. Specifically, view both the Invocations and Duration metric charts. An absence of data points close that timestamp indicates that the function wasn't invoked or run.
The Notifications service has no information about a function after it's invoked.
If this is the first invocation, response might be delayed.
Confirm Notifications delivery: In the subscription's parent topic, confirm that Notifications delivered the message to the function. View the topic's default metric charts. Specifically, view the Delivered Messages Count metric chart, and note the value of the metric dimension endpointType ("ORACLE_FUNCTIONS" for a delivered function message). When a function message is delivered, the counter of this metric chart increments, showing "ORACLE_FUNCTIONS" for endpointType.
In the function, look for invocation and run times that are close to the time when the trigger condition occurred.
View the function's default metric charts. Specifically, view both the Invocations and Duration metric charts. A data point in Invocations that doesn't have a matching occurrence in Duration indicates that the function was invoked but not run.
HTTPS (Custom URL) Subscription Confirmation Not Received 🔗
Troubleshoot a missing confirmation message for a new HTTPS (Custom URL) subscription.
The new HTTPS (Custom URL) subscription remains in Pending status after you send the confirmation.
The subscription never received the confirmation. The endpoint for the HTTPS (Custom URL) subscription never received the confirmation because the subscription's endpoint doesn't satisfy prerequisites for HTTPS (Custom URL) subscriptions. For example, the endpoint isn't publicly accessible, or it doesn't support the unauthorized header requirement.
To remedy this issue, create a new subscription with an endpoint that satisfies prerequisites.