Queries, Dashboards and Alerts

Using Desole.io events

Desole publishers make it easy to get alerts and notifications about your application errors, search and query data or turn event trends into alerts.

Searching and queries

The Desole S3 Publisher (built into the standard CloudFormation template) saves all event information to an S3 bucket, in a directory structure that allows you to easily filter and aggregate by application name and stage, year, month and day of the event, as well as severity and category. You can use any S3 access tool to get detailed information about an individual event, or use tools such as AWS Athena to query the data using SQL.

The optional Desole ElasticSearch publisher sends event data directly into an AWS ElasticSearch cluster, where you can easily search and query the data.

Desole ElasticSearch integration

Dashboards

The CloudWatch publisher records CloudWatch metrics and it is built into the standard CloudFormation template. It allows you to monitor the application in realtime for error trends and set up alarms to send you e-mails or page you.

Desole CloudWatch integration

CloudWatch charges per unique combination of all dimensions, so to keep costs low the standard CloudWatch publisher aggregates everything up into two categories. One is combining app name, stage and severity level (For example, all fatal errors on the production version of the app show as a single count). The other combines app name, stage and error category (For example, all network errors on the production version of the app show as a single count). If you would like to get more detailed dashboards in Cloudwatch, modify the CloudWatch publisher source code and set up another copy using the instructions for custom integrations below.

The optional Pinpoint publisher saves all the events into Amazon Pinpoint mobile analytics. You can then easily look at user demographics, drill down into various event dimensions, and inspect graphs and charts in nice dashboards. If you use Pinpoint for your user engagement, just make sure to supply the device ID when initialising the collector client, and Desole will associate the events with customer devices. You can then set up automated user engagement campaigns (for example, sending people an e-mail or a push notification if they experience a particular error).

Desole PinPoint integration

Custom integrations

Desole is designed so that you can easily add more publishers or data sources. There are three possible integration points, all available as outputs of the standard Desole CloudFormation template.

  • A REST API endpoint where you can post events in the JSON format
  • An S3 bucket with event details – you can use all the usual S3 lifecycle events to invoke a Lambda function when a new event is saved, or push event information to some other source. You can also use any tool that reads or queries data on S3 to get event summaries. The S3 storage keys are structured to allow easy aggregation and querying overall statistics just by using S3 metadata.
  • A SNS Topic that dispatches all event details to publishers. You can use this both to submit events from alternative sources, and to consume all events as they come in.

Check out the Desole Event Format for more information on the structure of the data published to SNS and saved to S3.