[rt-users] integrate rt with monitor system

Marco Avvisano marco.avvisano at regione.toscana.it
Wed Jan 25 07:03:37 EST 2006


hi,
thanks for your helps,
I've modified your script to merge allarms, and original nagios to recovery 
... but i have some problems.
how to see the debug output?

M.


----- Original Message ----- 
From: "Howard Jones" <howard.jones at network-i.net>
To: "Marco Avvisano" <marco.avvisano at regione.toscana.it>
Cc: <rt-users at bestpractical.com>
Sent: Monday, January 23, 2006 2:42 PM
Subject: Re: [rt-users] integrate rt with monitor system


> Marco Avvisano wrote:
>>
>> Hi all,
>> i'm new to RT..
>> i'm tryng to integrate RT with my hobbit monitor system, so that when an 
>> mail-allarm is generated form my monitor system,
>> automatically a ticket is open on  RT.
>> My question is, it's possible to configure RT so that if incoming more 
>> equal emails from my monitor system is open only 1 ticket?
>> How include the variable "time extimated to work" in open mail ticket?
> Here's what we use to stop RT being swamped by Smokeping Alerts. I think 
> someone has a similar thing for Nagios alerts on the Wiki that I used that 
> as a starting point for this one - I don't write perl this way, and 
> there's even a Nagios comment in there still :-)
>
> It matches on subject line to a key ([SmokePing]), then looks for an 
> existing ticket with the same subject and merges the new one into the old 
> one.
>
> Best Regards
>
> Howard
>
>
> Scrip for the General queue. Condition: OnCreate, Action: User Defined.
>
> Custom Action is:
>
> # If the subject of the ticket matches a pattern suggesting
> # that this is a SmokePing Alert message  AND there is
> # an existing ticket (open or new) in the "General" queue with a matching
> # Subject, (that is not this ticket) merge this ticket into that ticket
>
> my $problem_desc = undef;
>
> my $Transaction = $self->TransactionObj;
> my $subject = $Transaction->Attachments->First->GetHeader('Subject');
> if ($subject =~ /\[SmokeAlert\](.*)/) {
>    # This looks like a SmokeAlert message
>    $problem_desc = $2;
>
>    $RT::Logger->debug("Found a smokealert msg: $problem_desc");
> } else {
>    return 1;
> }
>
> # Ok, now let's merge this ticket with it's PROBLEM msg.
> my $search = RT::Tickets->new($RT::SystemUser);
> $search->LimitQueue(VALUE => 'General');
> $search->LimitStatus(VALUE => 'new', OPERATOR => '=', ENTRYAGGREGATOR => 
> 'or');
> $search->LimitStatus(VALUE => 'open', OPERATOR => '=');
>
> if ($search->Count == 0) { return 1; }
> my $id = undef;
> while (my $ticket = $search->Next) {
>    # Ignore the ticket that opened this transation (the recovery one...)
>    next if $self->TicketObj->Id == $ticket->Id;
>    # Look for nagios PROBLEM warning messages...
>    if ( $ticket->Subject eq $subject) {
>            $id = $ticket->Id;
>            $RT::Logger->debug("Merging ticket " . $self->TicketObj->Id . " 
> into $id because of subject match.");
>            $self->TicketObj->MergeInto($id);
>    }
> }
>
> $id || return 1;
>
> 1;
> 




More information about the rt-users mailing list