Sha256: 6c566a569c5183337c759f5db335ee1ee1c2b9ff46bcf48835b47126d16aa576

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

require "dogapi"

module Eye
  class Notify
    class DataDog < Eye::Notify
      param :aggregation_key, String
      param :alert_type, String
      param :api_key, String, true
      param :source_type, String
      param :tags, Array

      def execute
        options = {
          alert_type: "error",
          aggregation_key: msg_host + msg_full_name,
          source_type: "None",
          tags: ["eye"]
        }

        options[:alert_type] = alert_type if alert_type
        options[:aggregation_key] = aggregation_key if aggregation_key
        options[:source_type] = source_type if source_type
        options[:tags] = tags if tags

        dog = Dogapi::Client.new(api_key)

        dog.emit_event(
          Dogapi::Event.new(
            message_body,
            aggregation_key: options[:aggregation_key],
            alert_type: options[:alert_type],
            msg_title: message_subject,
            host: msg_host,
            source_type: options[:source_type],
            tags: options[:tags]
          )
        )
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eye-patch-0.5.1 lib/eye/notify/datadog.rb
eye-patch-0.5.0 lib/eye/notify/datadog.rb