GNU/Linux >> Znalost Linux >  >> Linux

SMS upozornění z Nagios pomocí Kannel

V tomto článku tedy přidáme upozornění SMS v Nagios.

Nagios je nejpoužívanější open source nástroj pro monitorování sítě a serverů. Nagios tedy používáme k monitorování různých typů hostitelů s povoleným SNMP, jako jsou přepínače, směrovače, servery, pro kritické služby. Kromě toho může Nagios také načítat data o výkonu serveru pomocí agenta NRPE. Dále vizuální webový portál a zvukový alarm, můžeme posílat emailová upozornění pomocí Nagios. Nyní tedy budeme odesílat SMS upozornění z Nagios pomocí Kannel SMS Gateway.

Již máme nainstalovaný a spuštěný server Nagios. Chcete-li tedy nainstalovat a nakonfigurovat server Nagios Monitoring, podívejte se na naše další témata o instalaci a konfiguraci Nagios.

Takže toto bude naše laboratorní prostředí:

IP serveru Nagios a Kannel Server:192.168.10.38
Kannel Odeslat SMS Uživatel:kannel
Uživatelské heslo Kannel Send SMS:kannelpasswd

Konfigurace Nagios:

V tomto prostředí Lab jsme tedy nainstalovali Nagios ze zdrojového tarballu do výchozího adresáře /usr/local/nagios/

Nejprve budeme muset definovat příkazy v /usr/local/nagios/etc/objects/commands.cfg konfigurační soubor objektu. Chcete-li tedy definovat příkazy, přidejte pod řádky v commands.cfg soubor

# definice příkazu 'notify-host-by-sms' 
definovat příkaz{
název_příkazu notify-host-by-sms
command_line /usr/bin/printf "%b" "Nagios:*$NOTIFICATIONTYPE$* \n$HOSTALIAS$ je $HOSTSTATE$ Informace je:$HOSTOUTPUT$ Čas:$SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
}

# Definice příkazu 'notify-service-by-sms'
definovat příkaz{
název_příkazu notify-service-by-sms
command_line /usr/bin/printf "%b" "Nagios:*$NOTIFICATIONTYPE$*\nSlužba:$SERVICEDESC$\nHostitel:$HOSTALIAS$\nStat:$SERVICESTATE$\nInformace:$SERVICEOUTPUT$\nČas:$SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
}

Nyní přidáme číslo mobilního telefonu cílového uživatele oznámení do konfiguračního souboru objektu kontaktu Nagios:/usr/local/nagios/etc/objects/contacts.cfg

Příklad kontaktu definice:

definovat kontakt{
kontaktní_jméno omar
použijte obecný kontakt
alias Omar Ali
service_notification_commands notify-service-by-sms
host_notification_commands notify-host-by-sms
e-mail [email protected]
pager +88017XXXXXXXXX
}

Kromě toho můžeme stejnému kontaktu poslat upozornění SMS i e-mailem pomocí níže uvedené definice

definovat kontakt{
kontaktní_jméno shamim
použijte obecný kontakt
alias Shamim Ahmed
service_notification_commands notify-service-by-e-mail,notify-service-by-sms
host_notification_commands notify-host-by-e-mail, notify-host-by-sms
e-mail [email protected]
pager +88017YYYYYYYY
}

Poté vytvořte skupinu kontaktů pro ty, kteří dostanou upozornění na službu. Pojďme tedy definovat skupinu kontaktů na základě smlouvy definice pro správce sítě, kteří dostanou upozornění, pokud jakákoli síťová služba selže

define contactgroup { 
contactgroup_name netadmins
alias Správci sítě
členové omar,shamim
}

Takže máme router MikroTik se 3 upstream porty:sfp1, sfp2 a sfp3, které přidáme do monitorovacího systému.

Poté vytvořte konfigurační soubor objektu /usr/local/nagios/etc/objects/nethosts.cfg pro monitorování síťových zařízení s níže uvedeným obsahem

#### Definice hostitele #### 
definovat hostitele {
použijte generický přepínač
název_hostitele router-1
alias Router-1
adresa 192.168.10.1
hostitelské skupiny síťových hostitelů
notifications_enabled 1
neadministrátoři kontaktních_skupin
}


#### Definice hostitelské skupiny ####
definovat hostitelskou skupinu {
hostgroup_name síťoví hostitelé
alias Network Hosts
}


#### Definice služby pro hostitele sítě ####
definovat službu {
používat generickou službu
název_hostitele router-1
service_description SFP-1
check_command check_snmp!-C snmpCommunity -o ifOperStatus.1 -r 1 -m RFC1213-MIB
kontrolní_interval 3
opakování_intervalu 1
notifications_enabled 1
neadministrátoři kontaktních_skupin
}

definovat službu {
používat generickou službu
název_hostitele router-1
service_description SFP-2
check_command check_snmp!-C snmpCommunity -o ifOperStatus.2 -r 1 -m RFC1213-MIB
kontrolní_interval 3
opakování_intervalu 1
notifications_enabled 1
neadministrátoři kontaktních_skupin
}

definovat službu {
používat generickou službu
název_hostitele router-1
service_description SFP-3
check_command check_snmp!-C snmpCommunity -o ifOperStatus.3 -r 1 -m RFC1213-MIB
kontrolní_interval 3
opakování_intervalu 1
notifications_enabled 1
neadministrátoři kontaktních_skupin
}

Nad check_snmp příkazy potřebují MIB:RFC1213-MIB, který by měl být předinstalován ve vašem systému. Pokud tedy není přítomen ve vašem systému, můžete si jej stáhnout a nainstalovat pomocí níže uvedených balíčků

Pro Debian/Ubuntu: Nainstalujte snmp-mibs-downloader od nesvobodného repo a poté spusťte download-mibs příkaz ze shellu

# apt-get install -y snmp-mibs-downloader 
# download-mibs

Pokud tedy používáte CentOS 7/8

# yum install net-snmp-libs

Zahrňte také konfigurační soubor objektu nethosts.cfg v /usr/local/nagios/etc/nagios.cfg

Spusťte tedy /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg pro ověření vašich konfigurací

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Pokud tedy nedojde k žádné chybě, restartujte službu Nagios

# systemctl restart nagios.service

Oznámení Nagios:

Poté zkontrolujte na portálu Nagios stav portu Router-1

Zjistili jsme tedy, že všechny 3 porty SFP jsou v provozu Stát. Nyní ručně odpojíme port SFP-1, což by mělo spustit upozornění na výpadek a odeslat SMS skupině Network Admin Group

Protokol oznámení Nagios:

Protokol kanálu:

Opětovné připojení kabelu:

Zkontrolujte také protokol upozornění:

Protokol kanálu:

A konečně ten správný mobilní telefon:


Linux
  1. Jak sestavit balíčky ze zdroje pomocí CheckInstall

  2. Jak otočit videa pomocí FFMpeg z příkazového řádku

  3. Použití Redditu z konzole v roce 2020

  1. Jak vzdálenou plochu z Windows na plochu Linuxu pomocí XRDP

  2. Jak znovu zkompilovat Apache pomocí EasyApache z WHM?

  3. Použití Windows DLL z Linuxu

  1. Upgrade Fedory 22 z Fedory 21 pomocí Fedup

  2. Použití putty pro scp z Windows do Linuxu

  3. Jak zastavit nginx v používání portu 80