This guide is for troubleshooting errors on CustomersDot.
When purchasing a subscription via the CustomersDot if a user receives an error
about an address or credit card, check the address listed in the My Account
section of the CustomersDot. This is typically due to a bad address
(city/state/zip code). If the address is correct and the error persists, check
Sentry for a relevant error and file an issue in the
CustomersDot tracker as necessary.
To find the error specifically related to a customer on sentry, try the following:
Customers
search page by clicking on Customers
on the left paneluser:customerID
(replace customerID
with the actual customerID from CustomersDot)EVENTS
You can access the CustomersDot production logs or staging logs in Kibana by filtering using prdsub*
or stgsub*
respectively.
To have an idea on how to use and search Kibana, review the Support Workflow's Kibana page.
For purchase attempts made on CustomersDot, refer to the tips under CustomersDot purchase errors in Kibana.
Official Google Documentation for Logs Explorer is found at https://cloud.google.com/logging/docs/view/logs-explorer-interface. It's helpful to review these docs to gain an understanding of building search queries for more advanced searching.
Login to GCP Logs Explorer dashboard (make sure you are viewing gitlab-subscriptions-prod
).
VM Instance
LOG NAME
The logging query language allows you to search by very granular attributes built dynamically from the logs themselves. For example, most of the important information you'll be looking for is scoped to the jsonPayload
object of any given log entry. It may help to have an understanding of how the objects are represented in CustomersDot code, so you can predict the type of queries to build. But most of the information you may want to find is fairly easy to locate even without building queries.
jsonPayload
, a popup will appear showing suggestions for valid attributes that you can search by.Run Query
on the right-hand side.jsonPayload.customer_id="customerID"
order_params
attributes for errors:
jsonPayload.order_params.subscription_name="A-S00000000"
jsonPayload.subscription_name="A-S00000000"
for non-errors.jsonPayload.order_params.gl_namespace_id="xxxxxxxx"
In the Log Fields panel, you can also choose specific log files, as well as severity labels such as Info
, Error
, etc. You can also include these in the query builder:
severity=ERROR
will return only errors.severity=INFO
will return only non-errors.Sometimes a customer reports that they did not receive an email from the portal, such as a password reset request or new account confirmation. GitLab uses Mailgun as a service to send outgoing mail. We can login to Mailgun to view the message logs, and when appropriate, remove suppressions.
The general workflow that Support uses for this process is documented in the Support handbook page on confirmation emails, and that page has a full description on navigating the Mailgun dashboard and searching through the logs.
The process here is much the same, but since we are investigating mail from CustomerDot, in Step 4 of the general workflow ensure that customers.gitlab.com
is selected as the domain to search under.
Note that reseller customers will not have access to customers.gitlab.com and subsequently, password reset emails will not be sent to them. Check whether the customer has access to customers.gitlab.com by navigating to the Edit
page for the customer record (pen icon on right-side of customer record) and looking at the Login activated
checkbox. If the checkbox is ticked, the customer has access; if the checkbox is not ticked, the customer will not have access and they will not receive password reset emails. Reseller customers should make their purchases via our Sales team.
Address
, City
, and Postal code
have invalid information:
State
was not provided in CustomersDot: