Coroner Server Setup
This guide goes over the initial setup of coronerd.
Please see coronerd installation for instructions on installing coronerd on-premises.
Login
Login to coronerd by navigating to your coronerd URL in your web browser and entering the username and password of the admin account you created during sign-up.
For Backtrace-hosted customers, the URL is https://{yourorganization}.sp.backtrace.io, and you created the login during the sign-up process.
For on-premises customers, the login is the same as the one you created during the steps in coronerd installation.
Create a Project
After logging in, click Continue on the welcome screen, and create your first project by entering a project name.
Select an Integration
Next, you are presented with a list of types of integrations. Select the language or framework you wish to start with, and the UI presents you with some helpful getting started information, and a link to your dashboard:
In this example, we picked C/C++:
Configure Organization
Next, select Configure Organization from the Organization menu (this should be a white circle with the first letter of your organization):
The options available on the left-hand menu are:
Projects
Here you can create additional projects, or select a project to further configure it (see Configure Project below for more details)
Users
On the user management screen, you can send e-mail invitations for new users to join. You can also whitelist one or more domains from where users can sign themselves up. Finally, you can manage the passwords and access control on individual users.
For full details on user management see User Management.
Listeners (advanced)
For on-premises coronerd installations, the listeners section allows you to specify which ports each of the object store's endpoing listens on, and specify SSL status for each.
SMTP
Fill in your e-mail SMTP server information here to allow coronerd to send e-mail invitations and reports.
SSL
To change your SSL certificates, place your key, certificate, and chain files in these fields.
Configure Project
When you select a project in the Projects section of the Organization config, or select Configure Project from the upper-right menu while viewing a project in the dashboard, you'll get the project configuration page.
Tokens
Submission tokens are used to allow for the upload of crash data and other symbols into a project. To create a token, click Create a New Token and click Create.
Attributes
Attributes define key metadata points to generate indices. These coroner indices are used for filtering, visualization and snapshot retrieval.
We recommend you create an attribute for each metadata point added to your snapshots. For example, if you are adding customer
to each snapshot belonging to this project, you should add "customer" as an attribute.
To create a attribute for this project, simply click "Create a New Attribute" at the top of the Attributes section, and enter name, type, format, and description of the attribute (see Attributes Details below.)
Attributes Details
Name: Name of the attribute
Type: Data type of attribute. The following types are supported:
- dictionary: This type should be used to store low cardinality strings (less than 2B unique values). Examples would include commits, versions, environment, etc... This encoding is efficient in that any string already present in the dictionary only requires 4 bytes of space to store in the column.
- uint64, uint32, uint16, uint8: These are unsigned integer types and can be used to store 64-bit, 32-bit, 16-bit and 8-bit integers respectively.
Format: Format of data type, used for rendering the value. The following formats are supported:
- kilobytes, gigabytes, terabytes, bytes: The underlying column is storing integer values, and those values are expected to be treated as the specified unit. This is only valid for integer types.
- callstack: The underlying column is storing a serialized JSON object that represents a callstack as a sequence of strings, where every element is a function. This is only valid for dictionary.
- hostname: The underlying column name is a machine hostname. This is only valid for dictionary.
- memory_address: The values represent memory addresses. They should be rendered as such. This is only valid for integer types.
- seconds: The values represent seconds since some user-defined epoch (for example, process.age is seconds since process start). Only valid for integers.
- unix_timestamp: The value represent a UNIX timestamp. Only valid for integers.
- js_timestamp: The value represents a Javascript timestamp. UNIX epoch in ms. Only valid for integers.
- ipv4: The column stores ipv4 addresses. This should be only be used with uint32 type. Javascript must render value as an IP address (see morgue for example).
- ipv6: The column stores ipv6 addresses. This can be used with dictionary type only.
- username: The column stores a reference to a coronerd username. This is for dictionary type only.
- sha256: The column stores a sha256 value. Only valid for dictionary type.
- url: The column stores a valid web URL. Only valid for dictionary type.
- none: Just render the value as is.
Description: Description of the attribute
Backtrace recommends creating the following attributes by default:
- version
- dc
Workflow Integrations
You can integrate Backtrace into your workflow by configuring coroner to send messages or tickets to a wide range of messaging, issue tracking, alerting, or monitoring services. For each workflow integration, you will need to create at least one entry in the Integrations section.
Each integration has its own unique settings. For more information, see Workflow Integrations, or the sub-menu of the integration you wish to use in the Integrations menu at the top of the documentation portal.