NAME
WebService::DataDog::Event - Interface to Event functions in DataDog's API.
VERSION
Version 1.0.3
SYNOPSIS
This module allows you interact with the Event endpoint of the DataDog API.
Per DataDog: "The events service allows you to programatically post events to the stream and fetch events from the stream."
METHODS
search()
Search the event stream using specified parameters.
my $event = $datadog->build('Event');
my $event_list = $event->search(
start => $start_time,
end => $end_time, # Optional - default 'now'
priority => $priority, # Optional - low|normal
sources => $sources, # Optional - list of sources. Ex: Datadog, Github, Pingdom, Webmetrics
tags => $tag_list, # Optional - list of tags associated with the event
);
Examples:
+ Find all events in the last 48 hours.
my $event_list = $event->search(
start => time() - ( 48 * 60 * 60 ),
);
+ Find all events in the last 24 hours tagged with 'env:prod'.
my $event_list = $event->search(
start => time() - ( 24 * 60 * 60 ),
end => time(),
tags => [ 'env:prod' ],
);
Parameters:
start
The start of the date/time range to be searched. UNIX/Epoch/POSIX time.
end
Optional. The end of the date/time range to be searched. UNIX/Epoch/POSIX time. Default = now.
priority
Optional. Event priority level. Accepted values: low, normal.
sources
Optional. List of sources that generated events.
tags
Optional. List of tags associated with the events.
get_event()
Deprecated. Please use retrieve() instead.
retrieve()
Get details of specified event. NOTE: Receiving a 404 response likely means the requested event id does not exist.
my $event = $datadog->build('Event');
my $event_data = $event->retrieve( id => $event_id );
post_event()
Deprecated. Please use create() instead.
create()
Post event to DataDog event stream. This will overlay red areas on all dashboards, corresponding to each event. Example uses: code pushes, server/service restarts, etc.
Per DataDog: "This end point allows you to post events to the stream. You can tag them, set priority and event aggregate them with other events."
my $event = $datadog->build('Event');
$event->create(
title => $event_title,
text => $event_text, # Body/Description of the event.
date_happened => $timestamp, # Optional, default "now"
priority => $priority, # Optional. normal|low
related_event_id => $event_id, # Optional, id of aggregate event
tags => $tag_list, # Optional - tags to apply to event (easy to search by)
alert_type => $alert_type, # Optional. error|warning|info|success
aggregation_key => $agg_key, # Optional. Arbitrary string to use for aggregation.
source_type_name => $source_type, # Optional. nagios|hudson|jenkins|user|my apps|feed|chef|puppet|git|bitbucket|fabric|capistrano
);
Examples:
+ Submit a user event, with timestamp of `now`.
$event->create(
title => 'Test event',
text => 'Testing posting to event stream',
source_type_name => 'user',
);
Parameters:
title
The event title.
text
Optional. Event body/description.
date_happened
Optional. Default value 'now'. POSIX/Unix time.
priority
Optional. Allowed values: normal, low.
related_event_id
Optional. The id of the aggregate event.
tags
Optional. List of tags associated with the event.
alert_type
Optional. "error", "warning", "info" or "success"
aggregation_key
Optional. An arbitrary string to use for aggregation.
source_type_name
Optional. The type of event being posted. Allowed values: nagios, hudson, jenkins, user, my apps, feed, chef, puppet, git, bitbucket, fabric, capistrano
INTERNAL FUNCTIONS
_search_error_checks()
Error checking for search()
_create_error_checks()
Error checking for create()