[Gelöst] NagiosAcknowledge [71] No Nagios Ticket!

Hilfe zu Znuny Problemen aller Art
Locked
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

[Gelöst] NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

Hallo,

ich habe die aktuelle NagiosAcknowledge.pm aus dem CVS geladen und installiert. Leider funktioniert dieser nach wie vor nicht.
Ich habe die Ausgabe "Message" erweitert. So wie es für mich aussieht, ist die Varialbe $Ticket leer. Sie gibt überhaupt nichts zurück. Leider bin ich dieser Programmier Sprache nicht ganz mächtig so dass ich nicht genau sagen kann an was es liegt.
Woran könnte das Problem liegen? Danke!

Code: Select all

my %Ticket = $Self->{TicketObject}->TicketGet(TicketID => $Param{Data}->{TicketID}, DynamicFields => 9,);
			
    if ( !$Ticket{ $Self->{Fhost} } ) {
        $Self->{LogObject}->Log( Priority => 'debug', Message => "No Nagios Ticket!  $Self->{Fhost} $Self->{Fservice} id=$Param{TicketID}!" .$Ticket{ $Self->{Fhost} } ." Service: ".$Ticket{ $Self->{Fservice} });
        return 1;
    }
Im OTRS-Log steht dann:

Code: Select all

[Fri Apr  5 10:21:55 2013][Debug][Kernel::System::Ticket::Event::NagiosAcknowledge::Run][71] No Nagios Ticket!  TicketFreeText1 TicketFreeText2 id=! Service: 
You do not have the required permissions to view the files attached to this post.
Last edited by shining01 on 17 Dec 2013, 08:41, edited 1 time in total.
Linux Debian Jessie
DB: postgres
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: NagiosAcknowledge [71] No Nagios Ticket!

Post by reneeb »

Du arbeitest mit "TicketFreeText1" etc.. Seit 3.1.x gibt es im OTRS aber keine Freitextfelder mehr, sondern nur noch DynamicFields. In 3.1.x gab es in der Methode "TicketGet" aber noch einen Kompatibilitätsmodus, der alle DynamicFields mit "TicketFree...." direkt in das Ticket geschrieben hat. Das wurde in 3.2.x entfernt.

Probier mal ob es hilft wenn Du in der Konfiguration von Nagios::Acknowledge überall "TicketFreeText1" etc. durch "DynamicField_TicketFreeText1" etc. ersetzt.
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
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

Danke für deine Ausführung. Ich habe das nun eingestellt nun kommt der Fehler:

Code: Select all

[Error][Kernel::System::Ticket::Event::NagiosAcknowledge::Run][50] Need TicketID!
Dies betrifft diesen Code Abschnitt aus NagiosAcknowledge.pm

Code: Select all

# check needed stuff
    for (qw(TicketID Event Config)) {
        if ( !$Param{$_} ) {
            $Self->{LogObject}->Log( Priority => 'error', Message => "Need $_!" );
            return;
        }
    }
You do not have the required permissions to view the files attached to this post.
Linux Debian Jessie
DB: postgres
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: NagiosAcknowledge [71] No Nagios Ticket!

Post by reneeb »

Das kommt dann aber aus einer veralteten Version. Aktuell sieht der Code so aus:

Code: Select all

    # check needed stuff
    for (qw(Data Event Config)) {
        if ( !$Param{$_} ) {
            $Self->{LogObject}->Log( Priority => 'error', Message => "Need $_!" );
            return;
        }
    }

    if ( !$Param{Data}->{TicketID} ) {
        $Self->{LogObject}->Log( Priority => 'error', Message => "Need Data->{TicketID}!" );
        return;
    }
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
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

Vieeeeelen Dank! Das wars. Ich hatte aufgrund einer Anregung hier im Forum eine andere Version aus dem CSV geladen (eigentlich dachte ich es wäre der letzte Versionsstand).
Eine kleine Zusammenfassung für alle was zur Lösung führte:

- SystemMonitoring ganz normal über die Paketverwaltung installieren.
- Danach und das ist das entscheidende in der Sysconfig muss der Standardwert überschrieben werden. Dieser ist falsch (wie im Screenshot zu sehen).

Vielen Dank nochmals an alle!
You do not have the required permissions to view the files attached to this post.
Linux Debian Jessie
DB: postgres
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

Das einzige was jetzt noch nicht funktioniert ist der Host-Acknowledge.
Kann es sein dass hier beim Servicename im Ticket eigentlich ein "-" Bindestrich stehen müsste?
Hier steht nämlich standardmäßig "Host" als Service. Dabei gibt es doch keinen Service!


Leider wird beim Service-Ticket der Besitzer des Tickets nicht übergeben. Hier steht "owner".

Code: Select all

Der aktuelle Status wurde bereits von otrs mit dem Kommentar "Besitzer:OWNER Ticket:2013040510690" zur Kenntnis genommen. 
You do not have the required permissions to view the files attached to this post.
Linux Debian Jessie
DB: postgres
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by jojo »

shining01 wrote:Das einzige was jetzt noch nicht funktioniert ist der Host-Acknowledge.
Kann es sein dass hier beim Servicename im Ticket eigentlich ein "-" Bindestrich stehen müsste?
Hier steht nämlich standardmäßig "Host" als Service. Dabei gibt es doch keinen Service!
Das muss so sein, da ein Host Down leider kein Service setzt und das Modula aber Host + Service als kombinierten Schlüssel braucht.
shining01 wrote: Leider wird beim Service-Ticket der Besitzer des Tickets nicht übergeben. Hier steht "owner".

Code: Select all

Der aktuelle Status wurde bereits von otrs mit dem Kommentar "Besitzer:OWNER Ticket:2013040510690" zur Kenntnis genommen. 
Zeig mal bitte die Config dazu
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

Hier die Konfig: Benötigs du sonst noch etwas?

Code: Select all

http://x.x.x.x/openitc/cgi-bin/cmd.cgi?cmd_typ=<CMD_TYP>&cmd_mod=2&host=<HOST_NAME>&service=<SERVICE_NAME>&sticky_ack=on&send_notification=on&persistent=on&com_data=Besitzer:<OWNER>%20Ticket:<TicketNumber>&btnSubmit=Commit
You do not have the required permissions to view the files attached to this post.
Linux Debian Jessie
DB: postgres
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by jojo »

Also, out of he box kann ich Dir nicht sagen ob OWNER hier überhaupt funktionieren sollte. Warum nutzt Du http und nicht die Pipe?
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

Das war so voreingestellt. Wenn mir das Plugin diese Option bietet, sollte es ja eigentlich funktionieren.
Ich schau mal ob ich heraus finde wie ich den Besitzernamen angezeigt bekommen.
Linux Debian Jessie
DB: postgres
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by jojo »

Für Nagios::Acknowledge im HTTP Bereich ist definitiv kein Owner voreingestellt
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

Das ganze hat aber schon einmal funktioniert! Ich habe hier manuell nichts geändert. Definitiv.
Ich musste vor einiger Zeit unseren Nagios Server neu aufsetzen. Dabei wurde der Benutzer übertragen.
Linux Debian Jessie
DB: postgres
shining01
Znuny expert
Posts: 270
Joined: 07 Apr 2011, 08:02
Znuny Version: 6.0.4
Real Name: Tom

Re: NagiosAcknowledge [71] No Nagios Ticket!

Post by shining01 »

So Problem gelöst:

Im Pfad

Code: Select all

http://172.20.200.234/openitc/cgi-bin/cmd.cgi?cmd_typ=<CMD_TYP>&cmd_mod=2&host=<HOST_NAME>&service=<SERVICE_NAME>&sticky_ack=on&send_notification=on&persistent=on&com_data=Besitzer:<USER>%20Ticket:<TicketNumber>&btnSubmit=Commit
Ihr müsst nur in der folgenden Datei C:\Program Files (x86)\OTRS\OTRS\Kernel\System\Ticket\Event\NagiosAcknowledge.pm, die Methode ...

Code: Select all

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

    # check needed stuff
    for (qw(Ticket User)) {
        if ( !$Param{$_} ) {
            $Self->{LogObject}->Log( Priority => 'error', Message => "Need $_!" );
            return;
        }
    }
    my %Ticket = %{ $Param{Ticket} };
    my %User   = %{ $Param{User} };

    my $URL  = $Self->{ConfigObject}->Get('Nagios::Acknowledge::HTTP::URL');
    my $User = $Self->{ConfigObject}->Get('Nagios::Acknowledge::HTTP::User');
    my $Pw   = $Self->{ConfigObject}->Get('Nagios::Acknowledge::HTTP::Password');

    if ( $Ticket{ $Self->{Fservice} } !~ /^host$/i ) {
        $URL =~ s/<CMD_TYP>/34/g;
    }
    else {
        $URL =~ s/<CMD_TYP>/33/g;
    }

    # replace host
    $URL =~ s/<HOST_NAME>/$Ticket{$Self->{Fhost}}/g;

    # replace time stamp
    $URL =~ s/<SERVICE_NAME>/$Ticket{$Self->{Fservice}}/g;
	
	# replace time stamp
    $URL =~ s/<USER>/$User{UserLogin}/g;
die Zeile ergänzen:

Code: Select all

# replace time stamp
    $URL =~ s/<USER>/$User{UserLogin}/g;
Und schon steht der Name dabei!!!
You do not have the required permissions to view the files attached to this post.
Linux Debian Jessie
DB: postgres
Locked