Instalace Nagios na Ubuntu Server 11.10 pak Sledování systému Windows a Exchange Servery-Part 4-vlastní skripty Exchange Monitoring ...

Andy Grogana dne 21. ledna 2012 ° 3 komentáře

v Exchange 2010 (obecně) a Linux a Linux s Exchange a monitorovacího a Nagios a Ubuntu

Ok, musím se přiznat, že tato série byla hodně legrace (i pro mě stejně ~~~V jsem měl výbuch) - ale tato část je snad tím, že zdaleka největší zábava, kterou jsem osobně měl - stejně jako to znamená, že jsem potřeboval rozvinout některé skripty ukázkové PowerShell pro monitorování Exchange 2010 pomocí PowerShell s Nagios!

To je jedním z opravdových spásy pro Nagios - jak rozvíjením vlastních skriptů PowerShell monitorování, které se vracejí hodnoty na rozhraní jádra Nagios znamená, že jste v podstatě používat jako Nagios monitoring "obal", že svou flexibilitu, aby do značné míry sledovat všechny aspekt serveru Exchange Systems.

Stejně jako rychlý přehled k sérii pro ty z vás, které jsou právě k nám:

  • V části 1
    Jsem probrali, jak si můžete nainstalovat Nagios jádro 3.3.1 na stávající Ubuntu 11.10 serveru ve vašem prostředí
  • V části 2
    Já se vztahuje, jak je možné nastavit základní monitorování na první Windows Server - využitím NSClient + +, i já se vztahuje, jak je možné nastavit základní "check_nt" monitorovací službu
  • V části 3
    Já se vztahuje, jak je možné nainstalovat do svého démona NRPE Nagios serveru - a pak pomocí NSClient provést základní PowerShell skript a ohlásit výstup zpět do rozhraní Nagios

Vlastní Powershell pro Exchange 2010 pro použití s ​​Nagios

Existuje pár klíčových věcí, na paměti při vytváření vlastních PowerShell skriptů pro použití s ​​Nagios:

  • Musíte strukturovat své skripty tak, aby vždy vrátit návratový kód, který je postupoval pomocí Write-Host, který přidává popis k posledním hodnotám se vrátil (více o tom později)
  • Pokud spravujete prostředí, které má směs DAG a základní servery (DAG a non-DAG), nebo na to přijde - servery, které fungují více rolí (MBX, CAS, HT) kód skripty, takže zvládne bez zvláštních Funkce například, pokud chcete vytvořit skript, který je určen pro provoz na serverech založených na DAG, měli byste zakódování v logice, který si poradí DAG funkce nic bytí k dispozici - jako příklad naleznete v části "GetDagnfo.ps1 skript, který je k dispozici ke stažení níže

Kódy PowerShell výstup pro Nagios

Jak je uvedeno výše - je důležité, aby Powershell, že vaše psát pro použití s ​​Nagios přiznání a výstupní kód.
Powershell má schopnost ukončit výkon s ​​kódem ukončení - to se projevuje zde - můžete si v rámci svých vlastních skriptů odevzdejte číselný kód, který desetinnou chcete pomocí "exit" prohlášení.

Však, že bylo řečeno, Nagios podporuje čtyři kódy návratový kód - skripty, které by měly splňovat, jsou následující:

PowershellExitCodesForNagios

Výstupní kódy 0 a 2 se odráží v rozhraní jádra Nagios jako tak:

  Návratový kód 0: 

NagiosCore024

  Konec kódu 2: 

NagiosCore025

Ok, takže to, co je Powershell skript za Backup sledování?

Skript sám je docela rovně vpřed, a v současné době pouze kontroly pro lastFullBackup hodnoty na databáze jsou rezidentní na sledovaném serveru Exchange.
Ve skriptu je proměnná tzv. $ threshhold, který odráží počet dní, které mohou zaniká bez plné zálohy, než skript vrátí chybu na rozhraní Nagios.

 $localServerName = Get-WmiObject -Class Win32_ComputerSystem | Select Name $ThreshHold = 2 $Results = Get-MailboxDatabase -Server $localServerName .Name -Status | Select Identity,Server,LastFullBackup | where { $_ .Server -eq $localServerName .Name} foreach ( $itm in $Results ){ if ( $itm -eq $null ){ $Output = "OK: No Databases are active on this host" $NagiosResult = 0 } else { if ( $itm .LastFullBackup -eq $null ){ $lastBackupSeed = 9999 } else { $lastBackupSeed = New-TimeSpan $( $itm .LastFullBackup) $( Get-Date ) } if ( $lastBackupSeed .days -gt $ThreshHold -or $lastBackupSeed -eq 9999){ $Res = "CRITICAL: Database Backup out of Schedule: " + $itm .Identity $Output += $Res + " " $statFlag = 1 } else { $Output += "OK: Database: " + $itm .identity + " has a recent backup" + " " } } } Write-Host $Output if ( $statFlag -eq 1){ exit 2 } else { exit 0 } Doplňky PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 $ localServerName = Get-WmiObject třídy Win32_ComputerSystem | Vybrat Název threshhold $ = 2  = Výsledky Get-MailboxDatabase-Server $ localServerName Název-Stav. | Vybrat identitu, server, LastFullBackup | kde {$ _ eq $ serveru localServerName jméno..} foreach ($ ITM v $ výsledků) {if ($ ITM-eq $ null) {$ Výstup = "OK: Žádné Databáze jsou aktivní v tomto počítači" $ NagiosResult = 0 } else {if ($ ITM. LastFullBackup-eq $ null) {$ lastBackupSeed = 9999} else {$ lastBackupSeed = New-TimeSpan $ ($ ITM. LastFullBackup) $ (Get-Date)} if ($ lastBackupSeed. dní-gt $ threshhold nebo $ lastBackupSeed-eq 9999) {$ res = "kritický: záloha databáze z plánu:". + $ ITM identita $ výstup + = $ Res + "" $ statFlag = 1} else {$ výstup + = " OK: Databáze: ". + $ ITM identita +" má poslední zálohu "+" "}}} Napsat-Host $ výstup if ($ statFlag-eq 1) {exit 2} else {exit 0} 

Nastavení skriptů až

Jak je popsáno v části 3 - 5 jsou kroky, které musíte dodržovat, aby si své skripty Exchange sledování zpravodajské do rozhraní Nagios - to jsou následující:

  1. Na serveru Exchange Server, kam jste nainstalovali NSClient + +, Kopírovat (nebo uložení) skripty do NSClient "skriptů" složky (to by mělo být v "C: \ Program Files \ NSClient + + \ Scripts").
  2. Proveďte následující v souboru NSC.ini (to by měl být umístěn v "C: \ Program Files \ NSClient + + \")

    V tomto příkladu budeme používat "Exchange2010BackupMonitoring.ps1" skript.
    V NSC.ini naleznete v sekci s názvem [NRPE Psovodi] přidejte následující příkaz:

 check_exBackup = cmd / c echo scripts \ Exchange2010BackupMonitoring.ps1, exit ($ lastexitcode) | powershell.exe-příkaz - 

Uložte soubor a restartujte NSClient "+ +" službu ve Windows Services Manager

  1. Z vašeho Nagios serveru pomocí FileZilla - stáhněte si kopii commands.cfg (nacházející se v / usr / local / Nagios / etc / objektů)
    Otevřete jej v Notepad + + a přidat následující příkaz definici
  definovat příkaz {
     command_name check_exbackup
     command_line $ $ USER1 / check_nrpe-H $ $ HOSTADDRESS-t 120-c check_exBackup
     } 

Uložte soubor a poté jej nahrát zpět do Nagios serveru.

  1. Z vašeho Nagios serveru pomocí FileZilla - stáhněte si kopii windows.cfg (nacházející se v / usr / local / Nagios / etc / objektů)
    Otevřete jej v Notepad + + a přidat následující definici služby pro Exchange Host:
  definovat službu {
 použít obecné-servis
 host_name prod-ex2010-01.prepad.local
 service_description Výměna DB na stroji
 check_command check_exdb
 } 
  1. Přihlášení k serveru pomocí PuTTY Nagios a z příkazového řádku zadejte následující příkaz:
  sudo / etc / init.d / nagios restart 

Ukázkové stažení monitorování skriptů

Níže jsem se za předpokladu, 5 ukázkové skripty PowerShell, které vaše jsou zdarma k použití / upravit jak uznáte za vhodné. Ty by měly být staženy na serveru Exchange Server do NSCilent + + skripty adresář "C: \ Program Files \ NSClient + + \ Scripts"
Než začnete používat, budete muset zajistit, aby jste vytvořili danou službu a příkazů definice (viz výše).

[ Exchange2010BackupMonitoring.ps1 - 1,3 MB ]
[ Exchange2010ContentIndexMonitor.ps1 - 1 KB ]
[ GetDAGnfo.ps1 - 1 KB ]
[ GetDAGReplicationStatus.ps1 - 1 KB ]
[ GetExchangeLocalDBs.ps1 - 1 KB ]

Ukázka výstupu do Nagios

Toto je ukázkový výstup z výše uvedených monitorovacích skriptů v mém okolí, přirozeně Ideální je mít všechny vaše stavy hlásí "OK" Úsměv jak vidíte mám problém s zálohy!

NagiosCore026

V části 5

V části 5 se budu zahrnující následující:

  • Seskupování serverů a služeb do kategorie
  • Tipy pro odstraňování problémů
  • Ukázkové soubory Exchange Service
  • Hlášení

comments… read them below or add one } {3 komentáře ... přečíst níže nebo je přidat jednu }

Bradley Marks 31. ledna 2012 v 7:08

Ahoj Andy, díky za to úžasný návod je. Dělám je takto, a pracují perfektně. Mám jen jednu otázku a doufám, že jsem nebyl, aby předal. Budete dělat jak na to ukázat, grafů, možná jako MRTG?

Se srdečným pozdravem
Brad

Odpovědět

Andy 31.ledna 2012 v 7:21

Ahoj Brade. Jsem rád, že se vám líbí série. Ano, jsem to v úmyslu část na prodloužené sledování - pravděpodobně v části 6. Mám část 5 dělat dál a navíc bonus vyčlenit dvě parter.
Na zdraví

Odpovědět

Ricky 10.4.2012 v 6:42 hod.

Ahoj Andy!

Děkuji moc za vaši práci v této oblasti. Snažil jsem se nastavit Nagios na Ubuntu 11.10 a našel svůj blog, a to bylo velmi užitečné. Já používám Nagios sledovat naše prostředí Exchange taky, takže vaše příspěvky byly úžasné.

Mám jednu otázku, jak jsem na novější skriptování a nemůže na to přijít. Databáze Exchange Repl skript vrátí několik "OK" s pro stejné servery, a vidím v obrazovce zastřelen to dělá totéž ve vašem prostředí. Proč tomu tak je?

Ještě jednou díky za všechny vaše tvrdá práce! Sledoval jsem spolu krok za krokem, a vy jste byl jako velká pomoc.

Odpovědět

Přidat komentář

CAPTCHA Image
Obnovit obrázek
*

Předchozí příspěvek:

Následující příspěvek: