RT - DataDog Integration

Has anyone ever attempted to integrate RT with DataDog and it’s web api or
configurations?
I’ve seen some integrations with “SendNagiosAlert” but was wondering if
anyone had done something similar with DataDog? I’m starting to play with
it now using this -

Hi all, so I have some things work on this. I’m wondering if anyone can
help me with the last part. I really can’t thank you guys enough for any
help you can give.

So I have a custom scrip that’s working if I run it maually but getting it
through RT is causing issues. So this is what I’ve got.
Condition: On Create
Action: User defined
Template: Blank

Custom condition:
return 0;

Custom action preparation code:
my $ticket = $self->TicketObj;
my $subject = $Tickets->Subject;
my $name = $requestor;
my $queue = $queue
system(‘/usr/bin/perl /opt/rt4/lib/RT/Action/DataDogEvent.pm $name $ticket
“$subject” $ queue’);
return 1;

Custom action commit code:
return 0;

The Script that’s getting called.
/opt/rt4/lib/RT/Action/DataDogEvent.pm
#!/usr/bin/perl

use strict;
use warnings;

use WebService::DataDog;
use Try::Tiny;
use Data::Dumper;

my $datadog = WebService::DataDog->new(
api_key => ‘123apikey’,
application_key => ‘123appkey’,
verbose => 0, # Enable this for debugging output

verbose => 1,

);

my $event = $datadog->build(‘Event’);
my $event_list;

my $name = $ARGV[0];
my $ticket = $ARGV[1];
my $subject = $ARGV[2];
my $queue = $ARGV[3];

Post a new event to stream

$event->create(
title => “$name - $ticket”,
text => “$subject”,
tags => [‘NOCRT’, “$queue”],

);On Mon, Jan 25, 2016 at 1:32 PM, Matt Wells matt.wells@mosaic451.com wrote:

Has anyone ever attempted to integrate RT with DataDog and it’s web api or
configurations?
I’ve seen some integrations with “SendNagiosAlert” but was wondering if
anyone had done something similar with DataDog? I’m starting to play with
it now using this -

WebService::DataDog - Interface to DataDog's REST API. - metacpan.org

Matt Wells
Chief Systems Architect
RHCA, RHCVA - #110-000-353
(702) 808-0424
matt.wells@mosaic451.com
Las Vegas | Phoenix | Portland Mosaic451.com
CONFIDENTIALITY NOTICE: This transmittal is a confidential communication or
may otherwise be privileged. If you are not intended recipient, you are
hereby notified that you have received this transmittal in error and that
any review, dissemination, distribution or copying of this transmittal is
strictly prohibited. If you have received this communication in error,
please notify this office, and immediately delete this message and all its
attachments, if any.

Hi Matt,

It would probably be easier to put all of the DataDog code right in an
RT Action module rather than making a system call. If you take a look at
the docs for this extension, it describes how to do that, where to put
the new action files, etc.:

And it’s worth installing that extension if you’ll be working with
custom conditions and actions because it makes it much easier to manage
them.

And if you’re thinking about releasing it as an extension, this will get
you started:

https://bestpractical.com/docs/rt/4.2/writing_extensions.html

Good luck.
JimOn 1/28/16 1:26 PM, Matt Wells wrote:

Hi all, so I have some things work on this. I’m wondering if anyone
can help me with the last part. I really can’t thank you guys enough
for any help you can give.

So I have a custom scrip that’s working if I run it maually but
getting it through RT is causing issues. So this is what I’ve got.
Condition: On Create
Action: User defined
Template: Blank

Custom condition:
return 0;

Custom action preparation code:
my $ticket = $self->TicketObj;
my $subject = $Tickets->Subject;
my $name = $requestor;
my $queue = $queue
system(‘/usr/bin/perl /opt/rt4/lib/RT/Action/DataDogEvent.pm $name
$ticket “$subject” $ queue’);
return 1;

Custom action commit code:
return 0;

The Script that’s getting called.
/opt/rt4/lib/RT/Action/DataDogEvent.pm
#!/usr/bin/perl

use strict;
use warnings;

use WebService::DataDog;
use Try::Tiny;
use Data::Dumper;

my $datadog = WebService::DataDog->new(
api_key => ‘123apikey’,
application_key => ‘123appkey’,
verbose => 0, # Enable this for debugging output
#verbose => 1,
);

my $event = $datadog->build(‘Event’);
my $event_list;

my $name = $ARGV[0];
my $ticket = $ARGV[1];
my $subject = $ARGV[2];
my $queue = $ARGV[3];

Post a new event to stream

$event->create(
title => “$name - $ticket”,
text => “$subject”,
tags => [‘NOCRT’, “$queue”],

);

On Mon, Jan 25, 2016 at 1:32 PM, Matt Wells <matt.wells@mosaic451.com mailto:matt.wells@mosaic451.com> wrote:

Has anyone ever attempted to integrate RT with DataDog and it's
web api or configurations?
I've seen some integrations with "SendNagiosAlert" but was
wondering if anyone had done something similar with DataDog?  I'm
starting to play with it now using this -
http://search.cpan.org/~jpinkham/WebService-DataDog-0.9.0/lib/WebService/DataDog.pm
<http://search.cpan.org/%7Ejpinkham/WebService-DataDog-0.9.0/lib/WebService/DataDog.pm>


Matt Wells
Chief Systems Architect
RHCA, RHCVA - #110-000-353
(702) 808-0424
matt.wells@mosaic451.com mailto:matt.wells@mosaic451.com
Las Vegas | Phoenix | Portland Mosaic451.com
CONFIDENTIALITY NOTICE: This transmittal is a confidential
communication or may otherwise be privileged. If you are not intended
recipient, you are hereby notified that you have received this
transmittal in error and that any review, dissemination, distribution
or copying of this transmittal is strictly prohibited. If you have
received this communication in error, please notify this office, and
immediately delete this message and all its attachments, if any.


RT 4.4 and RTIR Training Sessions (http://bestpractical.com/services/training.html)

  • Hamburg Germany � March 14 & 15, 2016

Jim thank you so much for sending these. I really appreciate it. I’ll
respond back on resolution to ensure anyone else who may want this has the
info.On Thu, Jan 28, 2016 at 10:44 AM Jim Brandt jbrandt@bestpractical.com wrote:

Hi Matt,

It would probably be easier to put all of the DataDog code right in an RT
Action module rather than making a system call. If you take a look at the
docs for this extension, it describes how to do that, where to put the new
action files, etc.:

RT::Extension::AdminConditionsAndActions - Admin Conditions And Actions - metacpan.org

And it’s worth installing that extension if you’ll be working with custom
conditions and actions because it makes it much easier to manage them.

And if you’re thinking about releasing it as an extension, this will get
you started:

Writing extensions - RT 4.2.17 Documentation - Best Practical

Good luck.
Jim

On 1/28/16 1:26 PM, Matt Wells wrote:

Hi all, so I have some things work on this. I’m wondering if anyone can
help me with the last part. I really can’t thank you guys enough for any
help you can give.

So I have a custom scrip that’s working if I run it maually but getting it
through RT is causing issues. So this is what I’ve got.
Condition: On Create
Action: User defined
Template: Blank

Custom condition:
return 0;

Custom action preparation code:
my $ticket = $self->TicketObj;
my $subject = $Tickets->Subject;
my $name = $requestor;
my $queue = $queue
system(‘/usr/bin/perl /opt/rt4/lib/RT/Action/DataDogEvent.pm $name $ticket
“$subject” $ queue’);
return 1;

Custom action commit code:
return 0;

The Script that’s getting called.
/opt/rt4/lib/RT/Action/DataDogEvent.pm
#!/usr/bin/perl

use strict;
use warnings;

use WebService::DataDog;
use Try::Tiny;
use Data::Dumper;

my $datadog = WebService::DataDog->new(
api_key => ‘123apikey’,
application_key => ‘123appkey’,
verbose => 0, # Enable this for debugging output

verbose => 1,

);

my $event = $datadog->build(‘Event’);
my $event_list;

my $name = $ARGV[0];
my $ticket = $ARGV[1];
my $subject = $ARGV[2];
my $queue = $ARGV[3];

Post a new event to stream

$event->create(
title => “$name - $ticket”,
text => “$subject”,
tags => [‘NOCRT’, “$queue”],

);

On Mon, Jan 25, 2016 at 1:32 PM, Matt Wells matt.wells@mosaic451.com wrote:

Has anyone ever attempted to integrate RT with DataDog and it’s web api
or configurations?
I’ve seen some integrations with “SendNagiosAlert” but was wondering if
anyone had done something similar with DataDog? I’m starting to play with
it now using this -

WebService::DataDog - Interface to DataDog's REST API. - metacpan.org


Matt Wells
Chief Systems Architect
RHCA, RHCVA - #110-000-353
(702) 808-0424
matt.wells@mosaic451.com
Las Vegas | Phoenix | Portland Mosaic451.com
CONFIDENTIALITY NOTICE: This transmittal is a confidential communication
or may otherwise be privileged. If you are not intended recipient, you are
hereby notified that you have received this transmittal in error and that
any review, dissemination, distribution or copying of this transmittal is
strictly prohibited. If you have received this communication in error,
please notify this office, and immediately delete this message and all its
attachments, if any.


RT 4.4 and RTIR Training Sessions (http://bestpractical.com/services/training.html)

  • Hamburg Germany — March 14 & 15, 2016


Matt Wells
Chief Systems Architect
RHCA, RHCVA - #110-000-353
(702) 808-0424
matt.wells@mosaic451.com
Las Vegas | Phoenix | Portland Mosaic451.com
CONFIDENTIALITY NOTICE: This transmittal is a confidential communication or
may otherwise be privileged. If you are not intended recipient, you are
hereby notified that you have received this transmittal in error and that
any review, dissemination, distribution or copying of this transmittal is
strictly prohibited. If you have received this communication in error,
please notify this office, and immediately delete this message and all its
attachments, if any.