Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

elastic_notifier

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elastic_notifier

  • 0.1.1
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

ElasticNotifier

Maintainability Test Coverage Build Status

ElasticNotifier gem provides a simple API to send error notifications to an Elastic Search instance.

It can also be used as plug-in for exception_notification gem to send error notifications caught by the Rack middleware.

Installation

Add this line to your application's Gemfile:

gem 'elastic_notifier'

And then execute:

$ bundle

Or install it yourself as:

$ gem install elastic_notifier

Usage

NOTIFIER = ElasticNotifier.new(
  url: "http://myserver.com:9200", # default is http://localhost:9200
  index: "my_custom_index",        # default is :elastic_notifier
  type: "my_document_type"         # default is :signals
)

For Rails applications you can add the code above to config/initializers/elastic_notifier.rb so it will be available throghout the app.

Then send error notifications as you rescue errors:

begin
  # some code that raises an exception
rescue => error
  NOTIFIER.notify_error(error)
end

As ExceptionNotification's Plugin

If you are already using exception_notification gem within a Rails app you can use ElasticNotifier out of the box.

In config/initializers/elastic_notifier.rb, after initializing the notifier object as described above, you need to register it as documented here.

notifier = ElasticNotifier.new(url: "http://myserver.com:9200")
ExceptionNotifier.add_notifier :elastic_search, notifier

What information is being sent?

At the time the notifier is invoked it collects some information from the environment, serializes it together with the exception details and sent it to the Elastic instance.

{
  severity: "error",
  timestamp: "2017-12-31 23:59:59",
  program_name: "my_app.rb",
  pid: 1345,
  hostname: "myservicename",
  ip: "123.123.123.123",
  data: {
    name: "NoMethodError",
    message: "undefined method `test` for nil:NilClass",
    backtrace: [...]
  }
}

It is possible to override parameters such as program_name which will remain static for the notifier instance.

notifier = ElasticNotifier.new(url: "http://myserver.com:9200", program_name: "custom_name")

Contributing

Bug reports and pull requests are very welcome. Please be aware that you are expected to follow the code of conduct.

License

Copyright (c) 2017 Fabio Pitino, released under the MIT license.

FAQs

Package last updated on 18 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc