A Nagios időszakok és értesítések megértése
Ma a Nagios 4.5.1, a nyílt forráskódú figyelőeszközön belüli értesítési beállítások kezelésével kapcsolatos kihívásokba merülünk. Az időérzékeny értesítések konfigurálása gyakran összetett feladat lehet, különösen több szervert tartalmazó környezetben. Ez a cikk a hatékony értesítési ablakok beállításával kapcsolatos konkrét problémákat kívánja megválaszolni, hogy elkerülje a szükségtelen riasztásokat a munkaidőn kívül.
Három olyan szerverre összpontosítunk, amelyeket nem szabad 19:30 és 9:00 között figyelni. A helyes konfigurációs próbálkozások ellenére ezek a szerverek továbbra is értesítéseket küldenek a kijelölt csendes órákon kívül. A következő szakaszok feltárják a lehetséges okokat és megoldásokat annak biztosítására, hogy a Nagios betartsa a meghatározott időszakokat.
Parancs | Leírás |
---|---|
define timeperiod | Meghatároz egy új időszakot a Nagioson belül megfigyelési vagy értesítési célokra, meghatározva az üzemidőt. |
notification_period | Meghatározza azt az időtartamot, amely alatt az értesítéseket el kell küldeni egy adott gazdagépről vagy szolgáltatásról. |
sed -i | Adatfolyamszerkesztőt (sed) használ a fájlok helyben történő módosításához. Itt az értesítések dinamikus engedélyezésére vagy letiltására szolgál a konfigurációs fájlok szerkesztésével. |
date +%H:%M | Parancs az aktuális idő lekérésére órában és percben, amely annak meghatározására szolgál, hogy az aktuális idő egy meghatározott tartományba esik-e. |
[[ "$TIME_NOW" > "$START_TIME" || "$TIME_NOW" < "$END_TIME" ]] | Feltételes bash script utasítás, amely ellenőrzi, hogy az aktuális idő a kezdési időpont után vagy a befejezési idő előtt van-e az értesítési beállítások szabályozásához. |
echo | Üzenetet ad ki a terminálnak vagy egy parancsfájlnaplónak, amelyet itt használ az értesítések engedélyezésének vagy letiltásának megerősítésére. |
A Nagios konfigurációs parancsfájlok részletes magyarázata
Az első szkript döntő fontosságú egy új definiálásához timeperiod a Nagioson belül, amely meghatározza azokat az órákat, amelyek alatt nem küldhetők felügyeleti értesítések, bizonyos, 19:30 és 9:00 közötti csendes órákat igénylő szerverek igényeihez igazítva. Ennek beállításával timeperiod a Nagios konfigurációban biztosítjuk, hogy semmilyen riasztás ne zavarja meg ezt az időszakot. Ezenkívül a szkript módosítja a notification_period hogy a „Printemps-Caen” szerver ezt az újonnan meghatározott időtartamot használja, hatékonyan alkalmazva ezeket a beállításokat, hogy biztosítsa az értesítések egyéni ütemezés szerinti vezérlését.
A második szkript egy Bash shell szkript, amely dinamikusan módosítja az e-mail értesítési beállításokat az aktuális idő alapján. Használja a date parancsot az aktuális idő lekéréséhez, és összehasonlítja azt az előre meghatározott kezdési és befejezési időpontokkal feltételes utasítások segítségével. Ha az aktuális idő a korlátozott órák közé esik, a szkript a sed paranccsal módosíthatja a Nagios konfigurációs fájlt, különösen a service_notification_options az értesítések letiltásához. Ez a megközelítés lehetővé teszi az értesítési viselkedés időn alapuló valós idejű, automatizált vezérlését, rugalmas és érzékeny rendszeradminisztrációs eszközt biztosítva.
Értesítési időszakok konfigurálása Nagiosban
Nagios konfigurációs parancsfájl
# 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
}
E-mail értesítési szűrők szkriptelése a Nagiosban
E-mail értesítések módosítása Bash használatával
#!/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
Speciális konfigurációs technikák Nagioshoz
Az értesítési időszakok szabályozására szolgáló Nagios-konfigurációt kibővítve elengedhetetlen figyelembe venni a gazdagépek és szolgáltatások közötti függőségkezelés szerepét. Ez lehetővé teszi az adminisztrátorok számára, hogy megakadályozzák a függő gazdagéptől érkező értesítéseket, ha egy elsődleges gazdagép leáll, így csökkentve az értesítési zajt, és a kiváltó okok elemzésére összpontosítva. A függőségek megfelelő használata jelentősen növelheti a Nagios hatékonyságát nagy környezetekben azáltal, hogy biztosítja, hogy a riasztások értelmesek és használhatók legyenek.
Ez magában foglalja a konfigurálást host_dependency és service_dependency definíciókat a Nagios konfigurációs fájlokban. A különböző hálózati összetevők közötti logikai kapcsolatok meghatározásával a Nagios intelligensen elnyomhatja vagy eszkalálhatja az értesítéseket a kapcsolódó szolgáltatások vagy gazdagépek állapota alapján, ami kritikus fontosságú az incidens-reagálási eljárások egyértelműségének megőrzéséhez.
A Nagios időperiódusaival és értesítéseivel kapcsolatos legnépszerűbb GYIK
- Mi az a timeperiod Nagiosban?
- A timeperiod meghatározza azokat az időpontokat, amikor az értesítések küldhetők vagy nem, segítve a riasztási fáradtság kezelését.
- Hogyan hozz létre egyéni timeperiod?
- Használja a define timeperiod utasítást a Timeperiods.cfg fájlban, megadva a hét minden napjának kezdő és befejező időpontját.
- Miért kapok még mindig a meghatározotton kívüli értesítéseket? timeperiods?
- Biztosítsa a notification_period minden gazdagéphez vagy szolgáltatáshoz megfelelően kapcsolódik a kívánthoz timeperiod. A rossz konfiguráció vagy a sablonokból való öröklés felülírhat bizonyos beállításokat.
- Kizárhat-e bizonyos típusú értesítéseket az adott során timeperiods?
- Igen, beállíthat különböző értesítési beállításokat (például figyelmeztetések, kritikus, helyreállítás) aktívra vagy letiltásra a megadott időtartam alatt timeperiods.
- Mi a hatása a helytelennek timeperiod riasztáskezelés beállításai?
- Helytelen timeperiod A beállítások nem kívánt riasztásokhoz vezethetnek a munkaidőn kívül, növelve a zajt, és esetleg kimaradt kritikus riasztásokhoz vezethetnek üzemidőben.
Utolsó gondolatok az értesítéskezelésről
Az értesítési időszakok hatékony kezelése a Nagiosban kulcsfontosságú a rendszergazdák számára, akiknek célja a csendes időszak fenntartása szükségtelen megszakítások nélkül. Az időperiódusok helyes meghatározása és a gazdagép- és szolgáltatásdefiníciókhoz való megfelelő kapcsolódás biztosítása jelentősen csökkentheti a hibás értesítések számát. Ez a beállítás nemcsak a zaj minimalizálását segíti elő, hanem az üzemidő alatti aktuális problémákra is összpontosít, javítva ezzel az IT-infrastruktúra általános hatékonyságát és reagálóképességét.