1 Op triggers gebaseerde gebeurteniscorrelatie

Overzicht

Trigger-gebaseerde gebeurteniscorrelatie maakt het mogelijk om afzonderlijke problemen die worden gemeld door één trigger te correleren.

Hoewel over het algemeen een OK-gebeurtenis alle probleemgebeurtenissen die door één trigger zijn gemaakt, kan sluiten, zijn er gevallen waarin een meer gedetailleerde aanpak nodig is. Bijvoorbeeld, bij het bewaken van logbestanden wilt u mogelijk bepaalde problemen in een logbestand ontdekken en deze individueel sluiten in plaats van allemaal tegelijk.

Dit is het geval bij triggers waarvan de parameter PROBLEM event generation mode is ingesteld op Multiple. Dergelijke triggers worden normaal gesproken gebruikt voor het bewaken van logs, het verwerken van traps, enzovoort.

Het is mogelijk in Zabbix om probleemgebeurtenissen te relateren op basis van tagging. Tags worden gebruikt om waarden te extraheren en identificatie te creëren voor probleemgebeurtenissen. Door hier gebruik van te maken, kunnen problemen ook individueel worden gesloten op basis van een overeenkomende tag.

Met andere woorden, dezelfde trigger kan afzonderlijke gebeurtenissen creëren die worden geïdentificeerd door de gebeurtenistag. Daarom kunnen probleemgebeurtenissen één voor één worden geïdentificeerd en apart worden gesloten op basis van de identificatie door de gebeurtenistag.

Hoe het werkt

Bij logboek bewaking kunt u soortgelijke regels tegenkomen:

Regel 1: Applicatie 1 gestopt
       Regel 2: Applicatie 2 gestopt
       Regel 3: Applicatie 1 is opnieuw gestart
       Regel 4: Applicatie 2 is opnieuw gestart

Het idee van gebeurtenis correlatie is om de probleemgebeurtenis te kunnen matchen van Regel 1 naar de oplossing van Regel 3 en de probleemgebeurtenis van Regel 2 naar de oplossing van Regel 4, en sluit deze problemen één voor één af:

Regel 1: Applicatie 1 gestopt
       Regel 3: Applicatie 1 is opnieuw gestart #probleem van Regel 1 gesloten
       
       Regel 2: Applicatie 2 gestopt
       Regel 4: Applicatie 2 is opnieuw gestart #probleem van Regel 2 gesloten

Om dit te doen, moet u deze gerelateerde evenementen taggen als bijvoorbeeld "Toepassing 1" en "Toepassing 2". Dat kan door een reguliere expressie naar de logregel om de tag waarde te extraheren. Wanneer dan evenementen worden gemaakt, worden ze getagd als "Applicatie 1" en "Applicatie 2" respectievelijk en het probleem kan worden afgestemd op de resolutie.

Configuratie

Artikel

Om te beginnen wilt u misschien een item instellen dat een logbestand controleert, bijvoorbeeld:

log[/var/log/syslog]

Met het item ingesteld, wacht een minuut totdat de configuratie wijzigingen zijn opgehaald en ga dan naar Laatste data en controleer dat het item is begonnen met het verzamelen van gegevens.

Trigger

Als het item werkt, moet u de trigger configureren. Het is belangrijk om te beslissen welke vermeldingen in het logbestand de moeite waard zijn om op te letten. Bijvoorbeeld, de volgende trigger-expressie zoekt naar een tekenreeks zoals 'Stopping' om mogelijke problemen te signaleren:

· find(/My host/log[/var/log/syslog],,"regexp","Stopping")=1

Om ervoor te zorgen dat elke regel die de tekenreeks bevat "Stoppen" wordt als een probleem beschouwd, stel ook de Problem-gebeurtenis in generatiemodus in trigger configuratie op 'Meerdere'.

Definieer vervolgens een herstel uitdrukking. De volgende herstel uitdrukking lost alle problemen op als er een logregel wordt gevonden die de string bevat "Starting":

· find(/My host/log[/var/log/syslog],,"regexp","Starting")=1

Omdat we dat niet willen, is het belangrijk om er op de een of andere manier voor te zorgen dat de overeenkomstige root-problemen zijn gesloten, niet alleen alle problemen. Dit is waar taggen kan helpen.

Problemen en oplossingen kunnen worden vergeleken door een tag op te geven in de trigger configuratie. De volgende instellingen moeten worden gemaakt:

  • Modus voor het genereren van probleemgebeurtenissen: Meerdere
  • OK evenement wordt gesloten: Alle problemen als tagwaarden overeenkomen
  • Voer de naam van de tag in voor het matchen van evenementen

  • configureer de tags om tagwaarden te extraheren uit loglijnen

Indien succesvol geconfigureerd, kunt u probleem gebeurtenissen getagd zien per applicatie en afgestemd op hun resolutie in MonitoringProblemen.

Omdat verkeerde configuratie mogelijk is, wanneer vergelijkbare gebeurtenis tags kunnen worden gemaakt voor niet-gerelateerde problemen, bekijk a.u.b. de hieronder beschreven gevallen!

  • Met twee applicaties die fout- en herstelberichten schrijven naar de hetzelfde logbestand kan een gebruiker besluiten om twee Application-tags te gebruiken in de dezelfde trigger met verschillende tag-waarden door afzonderlijke reguliere expressies te gebruiken in de tag-waarden om de namen te extraheren van, laten we zeggen, applicatie A en applicatie B van de macro {ITEM.VALUE} (bijv. wanneer de bericht formaten verschillen). Dit kan echter niet werken zoals verwacht als er geen overeenkomst is met de reguliere expressies. Niet-overeenkomende regexps zullen lege tag-waarden opleveren en een enkele lege tagwaarde in zowel probleem- als OK-gebeurtenissen is voldoende om ze te correleren. Een herstelbericht van toepassing A kan dus per ongeluk een foutmelding van applicatie B.
  • Werkelijke tags en tagwaarden worden alleen zichtbaar wanneer een trigger wordt geactiveerd. Als de gebruikte reguliere expressie ongeldig is, wordt deze stil vervangen met een *UNKNOWN* tekenreeks. Als de eerste probleemgebeurtenis met een *UNKNOWN* tag-waarde is gemist, er kan een volgende OK verschijnen gebeurtenissen met dezelfde tagwaarde *UNKNOWN* die het probleem kunnen sluiten evenementen die ze niet hadden moeten sluiten.
  • Als een gebruiker de {ITEM.VALUE} macro gebruikt zonder macrofuncties als de tagwaarde, is de beperking van 255 tekens van toepassing. Wanneer logberichten zijn lang en de eerste 255 tekens zijn niet-specifiek, dit kan resulteren ook in vergelijkbare gebeurtenistags voor niet-gerelateerde problemen.