All Projects → soundcloud → Periskop

soundcloud / Periskop

Licence: apache-2.0
Exception Monitoring Service

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Periskop

Bugsnag Python
Official bugsnag error monitoring and error reporting for django, flask, tornado and other python apps.
Stars: ✭ 69 (-40%)
Mutual labels:  monitoring, error-monitoring, exceptions, errors, error-reporting
Bugsnag Cocoa
Bugsnag crash reporting for iOS, macOS and tvOS apps
Stars: ✭ 167 (+45.22%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
Bugsnag Ruby
Bugsnag error monitoring & reporting software for rails, sinatra, rack and ruby
Stars: ✭ 211 (+83.48%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
Bugsnag Js
Javascript error handling tool for Bugsnag. Monitor and report JavaScript bugs & errors.
Stars: ✭ 625 (+443.48%)
Mutual labels:  monitoring, error-monitoring, exceptions, error-reporting
Bugsnag Php
Bugsnag error monitoring and crash reporting tool for PHP apps
Stars: ✭ 475 (+313.04%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
Bugsnag Node
[DEPRECATED] Please upgrade to our Universal JS notifier "@bugsnag/js" • https://github.com/bugsnag/bugsnag-js
Stars: ✭ 48 (-58.26%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
bugsnag-java
Bugsnag error reporting for Java.
Stars: ✭ 51 (-55.65%)
Mutual labels:  errors, error-monitoring, exceptions, error-reporting
Bugsnag Go
Automatic panic monitoring for Go and Go web frameworks, like negroni, gin, and revel
Stars: ✭ 155 (+34.78%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
Bugsnag Android Ndk
DEPRECATED - this project now lives at bugsnag/bugsnag-android
Stars: ✭ 42 (-63.48%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
Bugsnag Laravel
Bugsnag notifier for the Laravel PHP framework. Monitor and report Laravel errors.
Stars: ✭ 746 (+548.7%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
periskop
Exception Monitoring Service
Stars: ✭ 128 (+11.3%)
Mutual labels:  errors, error-monitoring, exceptions, error-reporting
Bugsnag Android
Bugsnag crash monitoring and reporting tool for Android apps
Stars: ✭ 990 (+760.87%)
Mutual labels:  error-monitoring, exceptions, errors, error-reporting
Bugsnag React Native
Error monitoring and reporting tool for native exceptions and JS errors in React Native apps
Stars: ✭ 374 (+225.22%)
Mutual labels:  error-monitoring, exceptions, error-reporting
Exceptionless
Exceptionless server and jobs
Stars: ✭ 2,107 (+1732.17%)
Mutual labels:  monitoring, error-monitoring, error-reporting
bugsnag-symfony
Bugsnag notifier for the Symfony PHP framework. Monitor and report errors in your Symfony apps.
Stars: ✭ 42 (-63.48%)
Mutual labels:  errors, error-monitoring, error-reporting
Analog
PHP logging library that is highly extendable and simple to use.
Stars: ✭ 314 (+173.04%)
Mutual labels:  monitoring, error-monitoring, errors
Ohbug
An open source application information monitoring platform.
Stars: ✭ 101 (-12.17%)
Mutual labels:  monitoring, error-monitoring, error-reporting
Collision
💥 Collision is a beautiful error reporting tool for command-line applications
Stars: ✭ 3,993 (+3372.17%)
Mutual labels:  exceptions, errors
Rollbar Gem
Exception tracking and logging from Ruby to Rollbar
Stars: ✭ 414 (+260%)
Mutual labels:  error-monitoring, exceptions
Raygun4net
Raygun provider for .NET
Stars: ✭ 107 (-6.96%)
Mutual labels:  error-monitoring, error-reporting

Build Status

Pull based, language agnostic exception aggregator for microservice environments.

Periskop scales well with the number of exceptions and application instances:

  • Exceptions are pre-aggregated in client libraries and stored efficiently in memory, while keeping a sample of concrete occurrences for inspection.
  • Exceptions are scraped and aggregated across instances by the server component.
  • More application instances result in longer refresh cycles but the memory usage remains constant.

A UI component is provided for convenience.

Scraping

Errors are scraped and aggregated using a configured endpoint from each of the instances discovered via service discovery.

Periskop supports all service discovery mechanisms supported by Prometheus. The configuration format for service discovery mirrors the one from Prometheus. See Prometheus's official documentation for reference.

A full example of service configuration for Periskop can be found in the sample configuration.

Format

The format for scraped errors is defined in a proto3 IDL. Currently the only supported protocol is snake_cased JSON over HTTP (example).

UI

The UI allows navigating and inspecting exceptions as they occur.

ui

Run project locally

Please see CONTRIBUTING.md

Building & Running

We are looking into distributing Periskop via Docker Hub. In the meantime, you can build and run Periskop from source:

docker build --tag periskop .
docker run -v path/to/config.yaml:/etc/periskop/periskop.yaml -p 8080:8080 periskop

Client Libraries

Alert reported exceptions

All reported errors are instrumented with Prometheus which provides alerting capabilities using Alertmanager. You can configure an alert when you reach some threshold of errors. Here's an example:

groups:
- name: periskop
  rules:
  - alert: TooManyErrors
    expr: periskop_error_occurrences{severity="error"} > 1000
    for: 5m
    labels:
      severity: critical    
    annotations:
      summary: "Too many errors on {{ $labels.service_name }}"
      description: "Errors for {{ $labels.service_name }}({{ $labels.aggregation_key }}) is {{ $value }}"
      dashboard: "https://periskop.example.com/#/{{ $labels.service_name }}/errors/{{ $labels.aggregation_key }}"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].