Troubleshooting Notifications

This topic covers troubleshooting techniques for Notifications.

Subscription confirmation not received

Troubleshoot lack of subscription confirmations for new subscriptions.

HTTPS (Custom URL) subscription

Troubleshoot lack of subscription confirmations for new HTTPS (Custom URL) subscriptions.

Check these items: 

  • Valid response header: The endpoint for the HTTPS (Custom URL) subscription must support the HTTP/1.1 401 Unauthorized header response for Basic access authentication.

    When your endpoint receives an unauthenticated request, it should return the HTTP/1.1 401 Unauthorized header response along with a "WWW-Authenticate" header. The header value should contain the keyword "Basic" and other optional parameters supported in RFC-2617: HTTP Authentication: Basic and Digest Access Authentication.

    Example:

    WWW-Authenticate: Basic
  • Public accessibility: The endpoint for the HTTPS (Custom URL) subscription must be publicly accessible.

    Notifications doesn't support private endpoints for HTTPS (Custom URL) subscriptions. Notifications makes an HTTP POST request to your endpoint through the public internet when you create a HTTPS (Custom URL) subscription in a topic.

    To check if your endpoint is publicly accessible, make a sample POST request from your local machine.

    Example:

    curl -X POST <endpoint> -H "Content-Type:text/plain; charset=UTF-8" --data {"key":"value"} -v

    If your endpoint is publicly accessible, then the command returns the following HTTP status code:

    200 OK

Message not received

Tip

Assess alarms and messages using their unique identifiers. See Prevent Processing of Duplicate Items. To view the format used by alarm messages, see Message format and examples.

Check these items: 

  • Alarm firing transition: If the message is a result of a firing alarm, then view the history of the alarm. Note times for any transition to a firing state. Use noted times for comparison to metrics for your topic ("Publication and delivery").

    To view history for your alarm
    1. Open the navigation menu and click Observability & Management. Under Monitoring, click Alarm Definitions.
    2. On the Alarm Definitions page, click the alarm that you want to view history for.
    3. Adjust the time range by selecting from Quick Selects or changing the Start Time and End Time.
  • Publication and delivery: Note times for messages published to your topic and for messages delivered to your topic. Compare to times of the firing alarm or other inciting incident.

    To view timing of published and delivered messages for your topic
    1. Open the navigation menu and click Developer Services. Under Application Integration, click Notifications.
    2. Choose the Compartment that contains your topic, and then click the topic's name.
    3. In the Resources menu, click Metrics.

      The Metrics page displays a chart for each metric that is emitted by the metric namespace for Notifications. For more information about the emitted metrics, see Available Metrics: oci_notification.

    4. Adjust the time range by selecting from Quick Selects or changing the Start Time and End Time.
    5. Review the following metric charts: 
      • Published Messages Total Count
      • Delivered Messages Count
  • Service permissions (alarm messages): If your topic is in an Oracle Platform Services managed compartments (named "ManagedCompartmentForPaas"), then the Monitoring service might not have permissions to use it, and alarm messages sent to that topic might not be received. For more details, including steps for resolution, see Alarm Messages are not Received in Oracle Platform Services Managed Compartments.
  • Unsupported method used to send messages: Confirm that the method you used to send messages is supported for the subscription protocols used by the topic. Messages sent by unsupported methods are dropped, as indicated by data points in the Failed Messages Count metric chart.

    The value of the metric dimension endpointType corresponds to the subscription protocol. For example, if you attempt to send an SMS message through an unsupported method, then the message is dropped and the counter of this metric chart is increased. The corresponding data point shows an endpointType value of SMS.

    To view dropped messages for your topic
    1. Open the navigation menu and click Developer Services. Under Application Integration, click Notifications.
    2. Choose the Compartment that contains your topic, and then click the topic's name.
    3. In the Resources menu, click Metrics.

      The Metrics page displays a chart for each metric that is emitted by the metric namespace for Notifications. For more information about the emitted metrics, see Available Metrics: oci_notification.

    4. Adjust the time range by selecting from Quick Selects or changing the Start Time and End Time.
    5. Review the Failed Messages Count metric chart. 
  • International SMS capabilities: For missing SMS messages, confirm that you have the ability to send and receive SMS messages to and from other countries. International SMS capabilities are required if SMS messages come from a phone number in another country. We continuously add support for more countries so that more users can receive SMS messages from local phone numbers.
  • Email subscriptions: Integration with the Email Delivery service:
    • Email messages might not be delivered if the email sender was added to a suppression list. For help with avoiding suppression lists, see Maintain a Positive Email Sender Reputation.
    • Email messages might not be delivered if the email sender used a custom domain that was not properly set up. For help with setting up custom domains, see Set Up Custom Domains for Email.

Function not invoked or run

This section provides troubleshooting information for function subscriptions. For an example function subscription, see Scenario A: Automatically Resize VMs.

Note

The Notifications service has no information about a function after it's invoked.
Tip

Assess alarms and messages using their unique identifiers. See Prevent Processing of Duplicate Items. To view the format used by alarm messages, see Message format and examples.

Check these items: 

  • Message receipt: See Message not received.
  • Function invocation: Note times for invocations of your function. Compare to times of the firing alarm or other inciting incident.

    Note

    If this is the first invocation, response may be delayed.
    To view timing of invocations for your function
    1. Open the detail page for your function by doing one of the following.
      • Find your function on the related subscription page:
        1. Open the navigation menu and click Developer Services. Under Application Integration, click Notifications.
        2. Choose the Compartment that contains your function subscription.
        3. Click Subscriptions.
        4. Under Endpoint, in the row for your function subscription, click the name of your function.
      • Find your function on a Functions page: 
        1. In the Console, open the navigation menu and click Developer Services. Under Functions, click Applications.
        2. Select the region you are using with Oracle Functions. Oracle recommends that you use the same region as the Docker registry that's specified in the Fn Project CLI context (see Creating an Fn Project CLI Context to Connect to Oracle Cloud Infrastructure).
        3. Select the compartment containing the application that contains your function.

          The Applications page shows all the applications in the compartment you selected.

        4. Click the name of the application containing your function.
        5. Click the name of your function.

      The function detail page is displayed.

    2. Under Resources, click Metrics.

      The Metrics page displays a chart for each metric that is emitted by the metric namespace for Oracle Functions. For more information about the emitted metrics, see Available Metrics: oci_faas.

    3. Adjust the time range by selecting from Quick Selects or changing the Start Time and End Time.
    4. Review the Invocations chart.
  • Function run: Note times for runs of your function. Compare to times of the firing alarm or other inciting incident.

    To view timing of runs of your function (metrics)
    1. Open the detail page for your function by doing one of the following.
      • Find your function on a subscription page:
        1. Open the navigation menu and click Developer Services. Under Application Integration, click Notifications.
        2. Choose the Compartment that contains your function subscription.
        3. Click Subscriptions.
        4. Under Endpoint, in the row for your function subscription, click the name of your function.
      • Find your function on a Functions page: 
        1. In the Console, open the navigation menu and click Developer Services. Under Functions, click Applications.
        2. Select the region you are using with Oracle Functions. Oracle recommends that you use the same region as the Docker registry that's specified in the Fn Project CLI context (see Creating an Fn Project CLI Context to Connect to Oracle Cloud Infrastructure).
        3. Select the compartment containing the application that contains your function.

          The Applications page shows all the applications in the compartment you selected.

        4. Click the name of the application containing your function.
        5. Click the name of your function.

      The function detail page is displayed.

    2. Under Resources, click Metrics.

      The Metrics page displays a chart for each metric that is emitted by the metric namespace for Oracle Functions. For more information about the emitted metrics, see Available Metrics: oci_faas.

    3. Adjust the time range by selecting from Quick Selects or changing the Start Time and End Time.
    4. Review the Duration chart.