Solarwinds Integration

Moderator: crythias

Locked
pstewart
Znuny newbie
Posts: 2
Joined: 28 Dec 2013, 17:07
Znuny Version: None_Yet
Real Name: Paul Stewart

Solarwinds Integration

Post by pstewart »

Hi there...

We are looking at OTRS as a possible solution for our company. We are an ISP and managed services provider primarily.

The "system" would be used to handle customer requests (dial-up, DSL, FTTH, cable modem, dedicated fiber), managed customers (managed networks, routers, switches etc), and infrastructure ticketing (alerts from our Solarwinds platform on applications, server outages, network alerts).

We have been looking at the Solarwinds ticketing solution (Web Help Desk) but it seems to lack features in many key areas so OTRS is being considered.

Has anyone integrated OTRS with Solarwinds NPM by chance? Our hope would be for two way integration where alerts in NPM create tickets with all information required and when ticket is created, the alert details are populated in NPM.

I know this is a high level question but looking for input. I have lots of questions and plan to install a copy of OTRS to better understand it's capabilities.

Regarding open source implementation - is there any limitations to be aware of? I read on OTRS site regarding the ITSM edition and "regular" edition - is all of this open source? There is a list of various add-ons such as advanced escalation - are they open source as well? If not, can they be purchased and used on open source edition?

Thank you very much.
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: Solarwinds Integration

Post by reneeb »

I don't know Solarwinds NPM (yet), but there it is at least possible to send mails from Solarwinds to OTRS. For SystemMonitoring mails there is a free and open add on (called SystemMonitoring). That add on provides mail filters to detect new alerts (to create new tickets in OTRS), ongoing alerts (to add a followup to an existing ticket) and resolutions (close the existing ticket).

I just had a quick look at Solarwinds' website and it seems, that it can do other triggers as well. So OTRS' Generic Interface might be interesting for you to have a more realtime alerting...


OTRS::ITSM is "just" an add-on (or to be more precise - a set of add-ons) that can be installed in "plain" OTRS. All of them are free and open source.

There are quite a few free and open add-ons that are published by OTRS Inc. and they are available at http://ftp.otrs.org/pub/otrs/packages/. The community has an archive of free and open add-ons that can be found at http://opar.perl-services.de .

Others offer add-ons that you have to pay (under some circumstances):

OTRS Inc -> http://www.otrs.com/software/otrs-feature-add-ons/ -> You have to become a subscription customer and pay for the add-ons extra. I think they are licensed under AGPL. You can install them via the standard OTRS package manager.

cape IT -> http://www.cape-it.de/maintained-additi ... 4otrs.html -> I don't know if you have to pay for them, but I couldn't find them for free. -> Usually their packages can be installed via the standard OTRS package manager. They should be AGPL'ed

Perl-Services.de -> http://otrs.perl-services.de/pro_pakete.html (German) -> You pay for the packages and further upgrades are for free. They are licensed under the AGPL.

Probably there are others I don't know...
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
pstewart
Znuny newbie
Posts: 2
Joined: 28 Dec 2013, 17:07
Znuny Version: None_Yet
Real Name: Paul Stewart

Re: Solarwinds Integration

Post by pstewart »

Thank you very much for all the information.

Solarwinds has an API but I've heard mixed results about using it. It can definately do triggers and also email alerts.

If we used email alerts, the one specific feature we would require is that if an alert contained "XYZ" in the subject line then the ticket would be assigned to customer "X" and they would receive an email notification that a new ticket has been opened. Further updates regarding "XYZ" would be linked to the same ticket until that ticket was closed (at which point any further alerts from "XYZ" would generate a new ticket). Does this seem possible hopefully?

I plan to spin up a new VM and test this software shortly - just want to make sure it has some of the requirements before spending the time doing so :)

Appreciate it,

Paul
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: Solarwinds Integration

Post by reneeb »

What you describe can be done with one postmaster filter...

As a foundation for you:

Code: Select all

package Kernel::System::PostMaster::Filter::Solarwind;

use strict;
use Kernel::System::CustomerUser;

our $VERSION = 0.01;

sub new {
    my $Type  = shift;
    my %Param = @_;

    # allocate new hash for object
    my $Self = {};
    bless( $Self, $Type );

    $Self->{Debug} = $Param{Debug} || 0;

    # get needed objects
    for my $Object (
        qw(ConfigObject LogObject DBObject TimeObject MainObject EncodeObject)
        )
    {
        $Self->{$Object} = $Param{$Object} || die "Got no $Object!";
    }

    $Self->{CustomerObject} = Kernel::System::CustomerUser->new( %{$Self} );

    return $Self;
}

sub Run {
    my ( $Self, %Param ) = @_;

    for my $Needed (qw(JobConfig GetParam)) {
        if ( !$Param{$Needed} ) {
            $Self->{LogObject}->Log(
                Priority => 'error',
                Message  => "Need $Needed!",
            );
            return;
        }
    }

    return 1 if $Param{GetParam}->{From} ne 'solarwind@yourdomain.com';

    my %SubjectToFrom = (
        XYZ => 'customer@mail.address',
        ZZZ => 'second_customer@company.tld',
    );

    for my $Key ( sort keys %SubjectToFrom ) {
        if ( $Param{GetParam}->{Subject} =~ m{$Key} ) {
            $Param{GetParam}->{From} = $SubjectToFrom{$Key}; # set customer mail address as sender

            # TODO: Search for Tickets for the given device
            # TODO: If tickets exist and the ticket is open, make it a followup
        }
    }

    return 1;
}

1;
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
Locked