Legalabbis szerintem halado :)
Mukodik szepen a Nagios, monitoroz kb. 20 szervert. Gond eseten jon a level.
Namost, en azt szeretnem megoldani, hogy _bizonyos_ esemenyekrol SMS jojjon,
tehat a normal mellett masik emilcimre is menjen level. A kovetkezo lenne:
PAR szervernel HA nem megy az apache es/vagy all a szerver (pingre nem valaszol),
akkor kuldjon SMS-t. Tehat ha xy szerveren ott all 500 level, az is kritikus, de
nem kell rola SMS, mig ha a test szerver hajnali kettokor leall (vagy az irodai gep),
arrol sem kellene SMS.
Hogyan tudnal ezt minel egyszerubben megoldani? (Nem teljes leirast varok, csak otleteket :)
- 2511 megtekintés
Hozzászólások
Én régen úgy oldottam meg, hogy felvettem egy olyan groupot, amiben benne volt az emailes és az sms-es user is. Az 'sms' user is emailben kapta a riasztást, de az ő email címére érkező leveleket megkaptam sms-ben. Erre az olcsosms.hu-t használtam, ott be lehetett állítani, hogyha jön egy mail az ottani fiókodra, akkor azonnal kapd meg sms-ben (asszem tán 9huf/sms). Azóta már nem használom, de szerintem nem változott a felállás.
- A hozzászóláshoz be kell jelentkezni
Elöljáróban:
A nagiost én Nconffal piszkálgatom, ez generálja a konfigot.
- lérteholo egy contact group-ot, felveszel bele egy felhasználót egy email címmel
- Azt email cím mailboxában valami kis script figyeli, hogy milyen levél jött és ha megfelel a feltételeknek, akkor elküldi smsben - ez részlet kérdés
- a nagiosban szolgáltatásonként tudsz megadni akár több contact groupot, így tudod szabályozni, hogy melyik szolgáltatásokról küldjön levelet, majd smst
- A hozzászóláshoz be kell jelentkezni
Masodik pont: na ez a hackolas, amit nagyon szeretnek elkerulni. Ez itt es most mukodik, de 1-2 ev mulva rohadtul nem fogok emlekezni, micsinal az a script, ami a levelekt figyeli, masodsorban mashova attelepiteni se egyszeru.
Szoval alapbol a nagios configjaval szeretnem megoldani.
De koszi az otletet!
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
A dolog nagyon 1xű, minden mobil szolgáltatónál van lehetőség SMS-ben kiküldeni az emaileket.
Pl. Pannon-nál 4-5 Ft-ért ki küldik, és még szűrőket is használhatsz.
Amit meg akarsz kapni SMS-ben azt mobil email címedre is elküldöd, külön eszközt, scriptet nem igényel, megbízható.
- A hozzászóláshoz be kell jelentkezni
Szia.
A menetét már leírták előttem, amit még érdemes megemlíteni, hogy az alábbi paraméterekkel szépen szabályozhatóak contact-onként az értesítések:
host_notifications_enabled [0/1]
service_notifications_enabled [0/1]
host_notification_period timeperiod_name
service_notification_period timeperiod_name
host_notification_options [d,u,r,f,s,n]
service_notification_options [w,u,c,r,f,s,n]
host_notification_commands command_name
service_notification_commands command_name
Üdv: Zoli
- A hozzászóláshoz be kell jelentkezni
Koszi, ezt megnezem. Nem tudtam, hoyg a contact-hoz is be lehet allitani. Mindjart nezem tovabb a doksit.
(mondjuk, itt fentebb nem latom, hoyg ez melyik hostra es service-re vonatkozzon, pedig ugy lenne szep, ha megcsinalhatnam hostokra vagy meginkabb hostgroupokra a fentit). De innen mar el tudok indulni, koszi.
- A hozzászóláshoz be kell jelentkezni
Azokra a hostokra és service-ekre vonatkozik, amelyeknél a létrehozott contact-ot megadod a contacts paraméterben. Ezek hostonként és service-enként is külön megadható, így tudja azt, amit a lenti leírásod alapján szeretnél.
Üdv: Zoli
- A hozzászóláshoz be kell jelentkezni
Ize...Hozzatennem (mert lathatoan felreertheto a kerdesem), nem az a gondom, hogyan kuldjek SMS-t ha level erkezik :)
(pannonmail.hu -> sms)
Az a gondom, hogyan kellene "szepen" megcsinalni azt, hogy csak az altalam kivalasztott hostok/servicek allapotarol jojjon kulon ertesites. Tehat
ket gep: a es b
ket service: x es y
I. a. gepen fut y service, crit, sms megy, x service nem megy, ugyan krit, megse megy sms
II. b gepen meg mondjuk forditva, ha y service krit, nem megy sms, ha x service krit. akkor pedig megy.
Lathatoan az a gondom, hogyha
a) minden gepen gond lenne bizonyos service kritikussa valasa
b) egy gepen minden service kritikussa valasa
eseten konnyen meg lehetne irni.
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy továbbra sem értem, de szolgáltatásonként lehet contact groupot állítani, így szolgáltatásonként tudsz értesítést küldeni. Nem értem ez mért nem jó.
- A hozzászóláshoz be kell jelentkezni
Nem, az jo, amit irtal feljebb, csak nem akarok hozza kulon scriptet irni. Amugy amr korvonalazodik a megoldas,
szerintem az lesz, hoyg kulon service template-t csinalok arra a service/host-ra, amelyiket mashoyg szeretnek kezelni mint a tobbit. Csak szokas szerint a sok user hulye kerdesekkel nyaggat, ezzel meg nem haladok :(
Ha megvan, megirom.
--
http://www.micros~1
- A hozzászóláshoz be kell jelentkezni
Nálunk ez úgy működik - igaz, nem szelektíven -, hogy egy egyszerű shell script hívogat egy URL-t (PHP-kód van mögötte), ha valami esemény van. Az URL egy PHP-kódra mutat, ami átveszi az értesítés paramétereit (típus,hosztnév,állapot,mobilszámok), majd egy COM-portra kötött GSM-adapteren (modem) keresztül kiküldi az SMS-t a megadott számokra (a kiküldést egy C-ben megírt démon kezeli, DB-be bejönnek az SMS-ek, ezeket fix időközönként lehúzza, és szépen sorban kiküldi az üzeneteket).
Nem állítom, hogy ez egy egyszerű/könnyen kivitelezhető megoldás, de nálunk abszolút bevált, már kb. fél éve monitorozzuk így a szervereinket. Ezzel a módszerrel bármely service vagy host leállása esetén 5 percen belül értesülünk a problémáról.
Persze lehet egyszerűsíteni a dolgon, ha a GSM-adaptert a nagiost futtató gépre kötöd, így közvetlenül tudod vezérelni, de nálunk ezt nehéz lett volna megoldani.
Külső szkriptet meghívni így lehet a nagiosból:
# notify-host-by-sms
define command{
command_name notify-host-by-sms
command_line /usr/local/sbin/nagios-host-by-sms.sh "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$HOSTSTATE$" "$CONTACTPAGER$"
}
# notify-service-by-sms
define command{
command_name notify-service-by-sms
command_line /usr/local/sbin/nagios-service-by-sms.sh "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$SERVICEDESC$" "$SERVICESTATE$" "$SERVICEOUTPUT$" "$CONTACTPAGER$"
}
Ezt a commands.cfg-ben kell deklarálni.
A szelektív küldést is meg lehet oldani, ha felveszel egy új contact group-ot, és ezt hozzárendeled azokhoz a hostokhoz vagy service-ekhez, amiket sms-értesítéssel szeretnél monitorozni.
Üdv:
Gergő
- A hozzászóláshoz be kell jelentkezni
A teszt szervereket minek figyelteted ejjel nappal?
Azokat nem elég csak munkaidőbe? Ha iccaka ledoglik, hát IJ, ezért riasszon...
- A hozzászóláshoz be kell jelentkezni
Dehogynem. Csak jelenleg mindegyik szerver ugyanugy figyelve van, legfeljebb a
service-ekben van kulonbseg. Ha nem irtam volna, a rendszer erosen finomhangolasra szorul, jelenleg azon orulok, hogy sikerult beuzemelnem es poccre tudok hozzaadni debiant es centost, VPS gepet es fizikait. Ezutan kell megoldanom a Windows serverek figyeleset es az egeszet finomhangolni, de legeloszor a fentivel akartam kezdeni.
Csak az a baj, hogy ez csak egy a sok munkam kozul, viszont nem egyszeru mondjuk egy "nem tudok tavolrol csatlakozni a MySQL szerverhez" es egy " nem mennek el a leveleim az Outlookbol" problema kozott erre is szakitani idot. Valahoyg nehezen all at az agyam arrol, hogy egyik pillanatban a suket usernek magyarazzam, mit baszott el, ket perc mulva meg probaljam a rendszer strukturajat megtervezni, aztan ket perc mulva a masik szerencsetlennel foglalkozzak. Igy csak akkor allok neki, ha varhatoan legalabb feloram van ra.
- A hozzászóláshoz be kell jelentkezni
inkább ha egy napod lesz rá. kitalálni, hogy hogyan akarod lesz a legnehezebb.
- A hozzászóláshoz be kell jelentkezni
Tudom. Azert is kerdeztem, mert neha tunodok rajta, csak hat igy nehez. Hatha valaki mar jart ilyen cipoben.
Lehet, hoyg a hetvege egyik napjat raszanom.
- A hozzászóláshoz be kell jelentkezni
Nos, erdekes dologra lettem figyelmes: ugy tunik, a template-ben beallitott dolgokat nem lehet felulbiralni...
# Generic host definition template - This is NOT a real host, just a template!
define host{
name generic-host ; The name of this host template
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 0 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
check_command check-host-alive
max_check_attempts 10
notification_interval 0
notification_period 24x7
notification_options d,u,r
contact_groups admins
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
Ha most a host beallitasnal ez van:
define host{
use generic-host ; Name of host template to use
host_name sajathost
alias Sajat
address 192.168.1.1
# contacts
contact_groups sajatadmins
}
Term.a contacts-ban kesz van az uj group, harom userrel, "sajatadmins" nev alatt.
Nos, a template generic-hostban levo "admins" kapja az uzeneteket, veletlenul sem a "sajatadmins". Hogyha a sajatadmins csoport tagjait itt fentebb beirom a "contacts" mezobe, az viszont mukodik.
Pedig elvileg mukodne az override a template-n:
http://nagios.sourceforge.net/docs/3_0/objectinheritance.html
UPDATE: nemcsak az override, de az appaned se mukodik...Szoval ez se jatszik:
contact_groups +sajatadmins
Fel se veszi. Csak akkor mukodik, ha a template-bol torlom. De ezt jo tudni, mert igy gyartok sajat template-t a fenti dolgokra....es abban lesznek a contact-ok, akiket critical eseten ertesiteni kell.
--
http://www.micros~1
- A hozzászóláshoz be kell jelentkezni
Nálam is ugyanígy van beállítva és probléma nélkül működik. Milyen verziójú a Nagios? A contact group, a contact és a timeperiod bejegyzéseket be tudod másolni, vagy felrakni pastebin-re?
A sajathost hostnál a lezárás után az már a fájl vége? Futottam már bele olyanba, hogy nem volt a konfig fájl végén sortörés és ezért nem működött rendesen az adott szoftver. Azt nem tudom már, hogy épp a Nagios esetében volt-e ilyen.
Üdv: Zoli
- A hozzászóláshoz be kell jelentkezni
Most ket kulon szerveren is kiprobaltam (tobb nincs, ami nagiost futtatna, mindenhova csak nrpe ment). Mindketto Debian testing. Mindketto ugyanezt csinalja. Most probaltam bugreportot kuldeni, de vmiert az az erzsem, tokures level ment :(
Debianbol: 3.2.1-2 . Sortores rendben, megneztem. Masolom a kert cuccokat:
define contact{
contact_name celtic
alias Celtic
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email celtic@xx.yy
}
define contact{
contact_name masikadmin
alias Masik Admin
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email masikadmin@yy.xx
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members celtic
}
define contactgroup{
contactgroup_name sajatadmins
alias Sajat adminok
members celtic,masikadmin
}
A host, mint feljebb is:
define host{
use generic-host
host_name sajathost
alias Sajat
address 192.168.1.1
contact_groups sajatadmins
}
Roppantul nem erdekli, hogy felulirtam. Az alabbiakkal probalkoztam:
I. contact_groups +sajatadmins
II. contact_groups null
contact_groups sajatadmins
Hiaba minden...Masik gepen tokugyanigy, mondjuk azonos a Nagios verzioja.
- A hozzászóláshoz be kell jelentkezni
Itt Debian Lenny, Nagios: 3.0.6.
Még ezekkel próbáld meg kiegészíteni a megfelelő contact bejegyzéseket:
define contact{
name celtic
contactgroups admins,sajatadmins
host_notifications_enabled 1
service_notifications_enabled 1
}
define contact{
name masikadmin
contactgroups sajatadmins
host_notifications_enabled 1
service_notifications_enabled 1
}
Ha így sem megy, akkor sajnos nincs több ötletem egyelőre.
Üdv: Zoli
- A hozzászóláshoz be kell jelentkezni
Kosz, de semmi. Kuldtem bugreportot:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597332
Talan ki kellene probalnom masik template-tel is, nemcsak a contact_groups bibivel.
- A hozzászóláshoz be kell jelentkezni
Es basszus, rajottem! Felreertettem a Nagios felepiteset. Igy hittem:
1. host
- service
- service
2. host
- service
- service
stb
Es ez alapjan, amit a hostra beallitok, az ervenyes lesz az osszes ott mukodo szervizre. Hat nem :)
/var/cache/nagios3/objects.cache mutatja az effektiv ertekeket. Akkor jottem ra, hogy inkabb matrixos felepitese van, vagyis
service1 service2 service3
host1
host2
host3
alakban. Vagyis, nem eleg a hosthoz megadni a contactot, a service-hez is meg kell.
Viszont igy egesz egyszeru lesz az eredeti problemam is. Felteve, ha egy hosthoz/service-hez hozza tudok rendelni ket erteket is, valahoyg igy:
define service {
use generic_service
host_name xygep
check_command xy_gep_warn
contact_groups emil_groups
}
define service {
use generic_service
host_name xygep
check_command xy_gep_crit
contact_groups sms_groups
}
Hat itt volt nekem a nagy problemam, felreertettem a mukodeset.
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy félreértem amit szeretnél, de ehhez nem szükséges két értéket hozzárendelni.
Például, ha megvan a szükséges service bejegyzésed, már csak a contact_groups
értékével kell variálni. Azon service esetén, ahol kell sms-t küldeni: contact_groups emil_groups,sms_groups
, ahol nem, csak sima e-mail: contact_groups emil_groups
.
Ezt követően a megfelelő csoportba tartozó contact bejegyzésekben meghatározod, hogy milyen host és service üzeneteket küldjön az adott címre. Pl. az e-mail címre mehet minden:
define contact{
[...]
service_notification_options w,u,c,f,r,s
host_notification_options d,u,f,r,s
email celtic@xx.yy
}
Az sms értesítés csak a critical, down vagy ismeretlen állapot esetén:
define contact{
[...]
service_notification_options u,c
host_notification_options d,u
email celtic-sms@xx.yy
}
Ha jól értettem ezt szeretnéd elérni.
Üdv: Zoli
- A hozzászóláshoz be kell jelentkezni
Szia!
Eppen mondani akartam, hogy ugyanezt irtak feljebb is es hogy vegulis ezt tervezem, amikor meglattam, hoyg eredetileg is Te irtad :)
Most, hogy mar (remelhetoleg) rajottem, a host es service kozti kulonbsegre, ez nagyon is megfelelo lesz, koszi! Holnap (vagy hetvegen) nekiallok. Csak ne kellene Java zh-ra keszulnom, az osszes eddigi ket ora utan :( (vagy 2*2*0,75 ora, haromnegyed oras egy tanora, egy alkalommal ketto van es eddig ketto volt, de az elson nem volt vmware, mert a rendszergazdaknak az egesz nyaruk nem volt eleg, hoyg tartomanyba rakott gepekre felhuzzanak egy image-t...)
- A hozzászóláshoz be kell jelentkezni
Es koszi, tokeletesen mukodik!
- A hozzászóláshoz be kell jelentkezni
nem értem a problémát. van host és service nofitication.
ha a host down, akkor kapsz SMS-t, ha nem down, "csak" apache állt le akkor nem kapsz.
(cserébe nem a PING service fog riasztani SMS-ben, azaz packetloss-ról nem kapsz értesítést)
ezt lehet kombinálni időfeltétellel is (azaz vannak bizonyos események, amik csak munkaidőben riasztanak)
- A hozzászóláshoz be kell jelentkezni
Igen, kozben kiderult, hoyg en ertetttem felre a Nagios mukodeset. Mindjart megirom, hogyan lett kesz, csak idom legyen ra.
- A hozzászóláshoz be kell jelentkezni