Förstå Nagios tidsperioder och meddelanden
Idag fördjupar vi oss i utmaningarna med att hantera meddelandeinställningar inom Nagios 4.5.1, övervakningsverktyget med öppen källkod. Att konfigurera tidskänsliga meddelanden kan ofta vara en komplex uppgift, särskilt i miljöer med flera servrar. Den här artikeln syftar till att ta itu med specifika problem som uppstår med att ställa in effektiva meddelandefönster för att undvika onödiga varningar under öppettider.
Vårt fokus kommer att ligga på tre särskilda servrar som inte bör övervakas mellan 19:30 och 9:00. Trots korrekta konfigurationsförsök fortsätter dessa servrar att utlösa meddelanden utanför de angivna tysta timmarna. De kommande avsnitten kommer att utforska möjliga orsaker och lösningar för att säkerställa att Nagios respekterar de definierade tidsperioderna.
Kommando | Beskrivning |
---|---|
define timeperiod | Definierar en ny tidsperiod inom Nagios för övervaknings- eller meddelandesyften, och anger driftstimmar. |
notification_period | Anger den tidsperiod under vilken aviseringar ska skickas för en viss värd eller tjänst. |
sed -i | Använder stream editor (sed) för att ändra filer på plats. Här används den för att dynamiskt aktivera eller inaktivera meddelanden genom att redigera konfigurationsfiler. |
date +%H:%M | Kommando för att hämta aktuell tid i timmar och minuter, som används för att avgöra om aktuell tid faller inom ett specificerat intervall. |
[[ "$TIME_NOW" > "$START_TIME" || "$TIME_NOW" < "$END_TIME" ]] | Villkorlig bash script-sats som kontrollerar om den aktuella tiden är efter starttiden eller före sluttiden för att kontrollera meddelandeinställningar. |
echo | Matar ut ett meddelande till terminalen eller en skriptlogg, som används här för att bekräfta aktivering eller inaktivering av meddelanden. |
Detaljerad förklaring av Nagios konfigurationsskript
Det första manuset är avgörande för att definiera ett nytt timeperiod inom Nagios som anger de timmar under vilka övervakningsmeddelanden inte ska skickas, skräddarsytt för behoven hos vissa servrar som kräver tysta timmar mellan 19:30 och 9:00. Genom att ställa in detta timeperiod i Nagios-konfigurationen ser vi till att inga varningar stör denna period. Dessutom ändrar skriptet notification_period för 'Printemps-Caen'-servern att använda denna nydefinierade tidsperiod, och tillämpa dessa inställningar effektivt för att säkerställa att meddelanden kontrolleras enligt det anpassade schemat.
Det andra skriptet är ett Bash-skalskript som dynamiskt justerar inställningarna för e-postmeddelanden baserat på den aktuella tiden. Den använder date kommando för att hämta den aktuella tiden och jämföra den med fördefinierade start- och sluttider med hjälp av villkorliga uttalanden. Om den aktuella tiden faller inom de begränsade timmarna, använder skriptet sed kommandot för att ändra Nagios-konfigurationsfilen, specifikt växla service_notification_options för att inaktivera aviseringar. Detta tillvägagångssätt möjliggör automatiserad kontroll i realtid över meddelandebeteende baserat på tid, vilket ger ett flexibelt och lyhört systemadministrationsverktyg.
Konfigurera aviseringstidsperioder i Nagios
Nagios konfigurationsskript
# Define a new time period for the specified hosts
define timeperiod {
name night-hours
alias Night Hours 7:30 PM - 9 AM
sunday 21:30-24:00,00:00-09:00
monday 21:30-24:00,00:00-09:00
tuesday 21:30-24:00,00:00-09:00
wednesday 21:30-24:00,00:00-09:00
thursday 21:30-24:00,00:00-09:00
friday 21:30-24:00,00:00-09:00
saturday 21:30-24:00,00:00-09:00
}
# Modify the host to use the new time period for notifications
define host {
use generic-router
host_name Printemps-Caen
alias Printemps Caen
address 192.168.67.1
hostgroups pt-caen-routers
notification_period night-hours
}
Skripta e-postaviseringsfilter i Nagios
Justeringar av e-postmeddelanden med Bash
#!/bin/bash
# Script to disable email notifications during specific hours
TIME_NOW=$(date +%H:%M)
START_TIME="21:30"
END_TIME="09:00"
if [[ "$TIME_NOW" > "$START_TIME" || "$TIME_NOW" < "$END_TIME" ]]; then
# Commands to disable email notifications
sed -i 's/service_notification_options w,u,c,r,f,s/service_notification_options n/' /etc/nagios/contacts.cfg
echo "Notifications disabled during off-hours."
else
# Commands to enable email notifications
sed -i 's/service_notification_options n/service_notification_options w,u,c,r,f,s/' /etc/nagios/contacts.cfg
echo "Notifications enabled."
fi
Avancerade konfigurationstekniker för Nagios
För att utöka Nagios konfiguration för att kontrollera aviseringsperioder, är det viktigt att överväga rollen för beroendehantering mellan värdar och tjänster. Detta gör att administratörer kan förhindra meddelanden från beroende värdar om en primär värd är nere, vilket minskar meddelandebruset och fokuserar på rotorsaksanalys. Korrekt användning av beroenden kan avsevärt förbättra effektiviteten hos Nagios i stora miljöer genom att säkerställa att varningar är meningsfulla och handlingsbara.
Detta innebär konfigurering host_dependency och service_dependency definitioner i Nagios konfigurationsfiler. Genom att definiera logiska relationer mellan olika nätverkskomponenter kan Nagios på ett intelligent sätt undertrycka eller eskalera aviseringar baserat på statusen för relaterade tjänster eller värdar, vilket är avgörande för att upprätthålla tydlighet i incidentresponsprocedurer.
Bästa vanliga frågorna om Nagios tidsperioder och meddelanden
- Vad är a timeperiod i Nagios?
- A timeperiod definierar specifika tider under vilka aviseringar kan eller inte kan skickas, vilket hjälper till att hantera larmtrötthet.
- Hur skapar du en anpassad timeperiod?
- Använd define timeperiod direktiv i din Timeperiods.cfg-fil, som anger start- och sluttider för varje veckodag.
- Varför får jag fortfarande aviseringar utanför definierade timeperiods?
- Se till att notification_period för varje värd eller tjänst är korrekt kopplad till den avsedda timeperiod. Felkonfiguration eller arv från mallar kan åsidosätta specifika inställningar.
- Kan du utesluta vissa typer av meddelanden under specifika timeperiods?
- Ja, du kan ställa in olika aviseringsalternativ (som varningar, kritiska, återställning) för att vara aktiva eller undertryckta under angivet timeperiods.
- Vad är effekten av felaktiga timeperiod inställningar för varningshantering?
- Felaktig timeperiod inställningar kan leda till oönskade varningar under öppettider, ökat buller och möjligen leda till missade kritiska varningar under drifttid.
Slutliga tankar om meddelandehantering
Effektiv hantering av anmälningsperioder i Nagios är avgörande för systemadministratörer som strävar efter att hålla en lugn period utan onödiga avbrott. Att säkerställa att tidsperioder är korrekt definierade och korrekt kopplade till värd- och tjänstdefinitioner kan avsevärt minska felaktiga meddelanden. Denna inställning hjälper inte bara till att minimera bruset utan ökar också fokus på faktiska problem under drifttid, och förbättrar därigenom den övergripande effektiviteten och lyhördheten hos IT-infrastrukturen.