
0. Introducere
Nu am găsit niciun articol despre NetXMS pe Habré, deși am căutat din greu. Și doar din acest motiv am decis să scriu această creație pentru a fi atent la acest sistem.
Acesta este un tutorial, un mod de lucru și o privire de ansamblu superficială a capabilităților sistemului.
Acest articol conține o analiză superficială și o descriere a capacităților sistemului. Nu am săpat adânc în posibilități din mai multe motive. Și o descriere a tuturor funcționalităților ar necesita mai mult de un articol.
Deoarece am lucrat mai mult sau mai puțin doar cu Zabbix, acest sistem special va fi adesea menționat în articol pentru comparație cu subiectul. În plus, cumva a devenit astfel încât totul este comparat cu ceva general acceptat.
1. Ce și de ce?
Un sistem de monitorizare, după cum se poate observa din definiție, este un sistem care vă permite să obțineți în orice moment informații actualizate pe orice nod de rețea, să introduceți informațiile necesare pe un router de mașină.
De ce este nevoie de acest lucru este la fel de evident. Să fii conștient de ceea ce se întâmplă.
Adesea, un sistem de monitorizare poate oferi informații foarte cuprinzătoare despre starea infrastructurii în ansamblu și a părților sale individuale. În plus, dacă configurați alerte (și fără ea, orice monitorizare nu are valoare), atunci la sfârșit primim un instrument serios care ne permite nu numai să răspundem în timp util la situațiile de urgență care au apărut deja, ci și, în majoritatea cazurilor, face posibilă prevenirea acestor accidente.
2. De ce NetXMS?
Un pic off-topic pentru cei care iubesc cărțile multipleCând eram tânăr și fără experiență... Așa încep de obicei toate basmele?... Pe scurt, când eram maximalist, am studiat problema monitorizării infrastructurii, iar rezultatul acelor „cercetări” a fost concluzia că există nu este nimic mai bun decât Zabbix. Și la acea vreme mi-a plăcut foarte mult, pentru că poate face multe, poate face multe, iar funcționalitatea sa poate fi extinsă cu scripturi scrise singur, așa că putem spune că poate face orice dacă mâinile cresc de la locul potrivit. Dar Zabbix este un instrument destul de complex. Mi-a luat aproape două săptămâni să o rezolv cumva. Și aceasta este doar etapa de implementare. Apoi încă câteva săptămâni pentru a configura monitorizarea a tot ceea ce aveam nevoie în acel moment. Și cum să-l folosesc pentru a vedea starea porturilor pe routere, am citit și am citit, m-am speriat și am decis că nu prea am nevoie de asta... Nu, ei bine, este foarte înfricoșător pentru o minte nepregătită imediat după facultate. ..
Și acum, câțiva ani mai târziu, maturizat și maturizat, am decis că este timpul să-mi reîmprospăt cunoștințele despre sistemele de monitorizare. Și, în sfârșit, faceți o monitorizare normală, stabilă a rețelei, deoarece această problemă a devenit relevantă din cauza creșterii segmentelor, a conectării unei sucursale și a altor lucruri mici. Totul curge, totul se schimbă. Și am început să testez tot felul de instrumente. Voi instala acest sistem și îl voi atinge, apoi îl voi atinge pe acela. Și peste tot lipsește ceva, peste tot este ceva ce nu-ți place. Fie interfața este incomodă, fie vei fi torturat să o configurezi, sau altceva. Și apoi NetXMS a apărut la mine. Apropo: acolo unde mi-a luat două săptămâni să-mi dau seama de Zabbix, cu NetXMS totul a mers bine în câteva ore. Poate că experiența cu Zabbix a avut un efect, sau poate a fost NetXMS în sine... este greu de spus.
NetXMS s-a dovedit a fi un sistem destul de ușor de instalat și configurat. Are versiuni de server și consolă de administrare pentru ambele Windows și sub Linux, generare de grafuri, un browser încorporat care vă permite să vă conectați la aceleași routere prin protocoale HTTP/HTTPS din consola de administrare, o interfață intuitivă și un agent pentru orice sistem de operare. Pe scurt, acest sistem s-a dovedit a fi simplu și convenabil. La prima vedere.
Documentația lor, apropo, este 8 din 10. Principalele lucruri sunt indicate în ea, dar pentru a pătrunde în subtilități, trebuie să sapi mai adânc.
Principalele avantaje subliniate de dezvoltatorMonitorizare profundă a rețelei
Descoperirea, vizualizarea și căutarea automată a componentelor conectate la nivelul 2 și 3
Suport complet SNMPv3
Detectare activă folosind sonde de scanare
Descoperire pasivă bazată pe informații de la dispozitivele monitorizate - ARP și tabele de rutare, interfețe
Monitorizare aplicație și server
Toate valorile de bază la care te-ai aștepta: CPU, sisteme de fișiere, I/O, memorie, trafic
Punte JMX pentru monitorizarea aplicațiilor Java
Extensii specifice aplicației: Oracle, MySQL, PostgreSQL, MongoDB, DB2, Tuxedo și multe altele
API de integrare pentru aplicații native
Proiectat pentru rețele mari
Un server poate urmări sute de valori pe mii de dispozitive
Suport complet pentru monitorizarea distribuită și scalarea orizontală
Monitorizarea subrețelelor IP suprapuse
Control de acces flexibil pentru operatori și clienți
3. Să mergem mai adânc
Cum se instalează sistemul - există un întreg administrator, disponibil la , și nu este nimic complicat în asta, așa că nu voi insista asupra asta. Cea mai dificilă parte a instalării este conectarea sistemului la baza de date... Singura diferență aici este alegerea SGBD-ului și a sistemului de operare al serverului. Am ales Windows (următorul-următorul-introduceți date-gata) și MSSQL, deoarece îl aveam deja.
3.1. Activați descoperirea automată
Descoperirea automată a gazdelor poate fi activată în timpul instalării. Dacă acest lucru nu a fost făcut dintr-un motiv oarecare, atunci poate fi întotdeauna inclus în „Configurare-Descoperire rețea” sau făcând clic pe pictograma cu același nume. Proprietățile descoperirii apar în zona de lucru. Trebuie să îl porniți, trecând în modul pasiv sau activ și să desemnați alte proprietăți, de exemplu, subrețele interogate. De asemenea, puteți configura filtre aici și puteți fie să le selectați și să le personalizați pe cele încorporate în sistem, fie să vă scrieți propriile scripturi. Sincer să fiu, nu am avut nevoie de filtre. Dar configurația pare destul de prietenoasă și de înțeles.
Aici puteți specifica, de asemenea, comunitatea SNMP implicită și acreditările acesteia (autorizare de citire).
3.2. Adăugarea de noduri
Când descoperirea automată este activată, nodurile finale (PC-uri, imprimante) vor fi adăugate și distribuite automat în subrețele. Cu echipamente de rețea active, totul este ceva mai complicat.
Ar trebui să începeți prin a activa SNMP pe echipamentul de rețea și a configura comunitatea. Dacă valoarea implicită pentru comunitatea SNMP nu a fost modificată în proprietățile de auto-descoperire a nodurilor de rețea, atunci sistemul folosește comunitatea publică, iar această setare poate fi modificată pentru fiecare nod din proprietățile nodului adăugat.
Pentru comoditate, puteți grupa dispozitivele în funcție de orice principiu convenabil; pentru aceasta, puteți crea containere în arborele din ramura Servicii de infrastructură și puteți lega nodurile din Entrie Network în ele.
După activarea și configurarea SNMP pe routere și adăugarea acestora la lista de echipamente monitorizate, sistemul însuși îi va contacta, îi va interoga, va determina ce fel de dispozitive sunt, va aplica șabloane, va începe colectarea datelor și va afișa panoul frontal pentru fiecare router. Se. Din cutie. Când am înființat Zabbix, nu puteam decât să visez la așa ceva.

Mi-am adăugat manual tot hardware-ul de rețea, deoarece din anumite motive ei înșiși nu au apărut. Totul este simplu aici. Creăm un container în Servicii de infrastructură cu orice nume convenabil (de exemplu comutatoare) și RMB-creare-nod, indicați numele afișat al nodului, adresa lui IP și este mai bine să bifați caseta „dezactivați utilizarea agentului NetXMS”, deoarece încă nu poate fi instalat pe echipamentele de rețea și nu este nevoie de pachete suplimentare.
Browser încorporat. Puteți pur și simplu să faceți clic dreapta pe routerul dorit și să deschideți interfața web a dispozitivului. Mi s-a părut mai convenabil acest lucru decât a trebui să-mi parcurg înregistrările de fiecare dată și să caut IP-ul potrivit. Adevărat, browserul este așa așa.
3.3. Construirea unei hărți de rețea
În primul rând, trebuie să creați o hartă de rețea ca obiect. Ca de obicei - în fir Hartă rețele RMB, creați, selectați tipul hărții, setați parametri, iar sistemul va face totul singur.
Tipurile de carduri sunt următoarele:
- pachet personalizat. Aceasta este o hartă concepută pentru a fi formată manual, la cererea utilizatorului.
- Topologie de strat 2. Acesta este un card care vă permite să faceți automat totul pentru utilizator, pe baza stratului 2 al modelului OSI (de fapt, construiește o hartă bazată pe adresele mac ale dispozitivelor).
- topologie IP, este la fel Stratul 3. La fel ca in cazul cu Stratul 2, doar cardul este construit pe baza stratului 3 al modelului OSI (adrese IP).
Când alegeți maparea manuală, trebuie să trageți nodurile din arbore pe stratul hărții, să le conectați etc. Desen obișnuit.
În celelalte două cazuri, trebuie să selectați un punct de plecare de la care sistemul va începe să construiască o hartă. De exemplu, un nod al unui router. Sistemul citește date de pe acesta despre dispozitivele conectate și porturile la care acestea sunt conectate, după care citește datele de la următorul router, le potrivește și așa mai departe. După analizarea tuturor dispozitivelor, NetXMS însuși va stabili conexiuni între dispozitivele din rețea, indicând porturile unde este conectat totul. De asemenea, puteți specifica că sistemul plasează dispozitivele finale (imprimante, PC-uri, servere) pe card, pur și simplu făcând clic pe elementul corespunzător din proprietățile cardului (RMB - proprietăți - proprietăți card). De asemenea, în acest moment puteți seta „raza de detectare” dacă doriți sau este necesar.
O mica recomandare. Activați proprietatea Always fit layuot to screen, astfel încât de fiecare dată când actualizați harta rețelei nu trebuie să derulați spațiul de lucru și să măriți.

Cu o topologie de rețea distribuită, puteți suprapune obiecte pe o hartă a zonei. De asemenea, puteți utiliza, de exemplu, o fotografie a unui rack cu echipament într-o cameră de server ca fundal, suprapunând pe acesta obiectele necesare. În acest fel, puteți determina rapid starea oricărui dispozitiv din rack. În opinia mea, acesta este un lucru extrem de util dacă este necesar să se transfere chestiunea unui succesor sau unui coleg nou venit pentru a explica starea de fapt. Vizual, convenabil, de la sine înțeles.
3.4. Agenți
Agenții există atât pentru Windowsdeci pentru LinuxPrincipiul de funcționare este același ca cel al agenților Zabbix: acesta este instalat pe mașina de pe care trebuie colectate metricile și transmite date către serverul de monitorizare. Agentul poate fi instalat fie înainte, fie după adăugarea unui nod la sistem. După ce agentul este instalat pe nod, sistemul va începe să primească date de la acesta după o scurtă perioadă de timp, utilizând un șablon standard. Parametrii monitorizați pot fi adăugați fie pentru un singur nod, fie prin atașarea unuia sau mai multor șabloane predefinite la acesta. Bineînțeles, se recomandă utilizarea șabloanelor, deoarece această configurație este mai flexibilă.
Lista parametrilor monitorizați pentru agenți este destul de extinsă. Lista completă poate fi găsită în
De îndată ce sistemul stabilește că un agent operează pe un nod, va atașa imediat acest nod la unul dintre șabloanele implicite - Windows, Linux, HP-UX, UNIX generic, AIX, în funcție de sistemul de operare al nodului.
Șablon standard pentru Windows-gazde:

Puteți adăuga un parametru pentru a urmări un anumit nod făcând clic pe „PKM-Parametrul de colectare a datelor", Mai departe "RMB în zona de lucru - Parametru nou„, și selectați-l pe cel de care aveți nevoie din listă. De asemenea, puteți configura declanșatoare pentru parametrul monitorizat.
Este important ca agenții, precum cei de la Zabbix, să poată rula scripturi personalizate.
Cum se instalează?Acesta este offtopic, pentru că fiecare... hmmm... cum vrea.
Întrebarea aici este: ar trebui să fie distribuiți agenții numai către servere sau, în general, către toate mașinile din rețea? Dacă există doar câteva servere, cel mai simplu mod este să o faci manual. Dacă există multe - politici de domeniu, KIX, PoSh. Orice. Agenții au cheia /SILENT, care le permite să o „injecteze” în mod transparent utilizatorului (dacă vorbim despre răspândirea la toate mașinile din rețea). Prefer scripturile, deoarece puteți seta o condiție și puteți crea un steag, spre deosebire de politicile care vor instala un program de fiecare dată când porniți computerul. Deci, scriem un script din seria „verificați prezența unui fișier steag, dacă nu, rulați instalatorul cu cheia /SILENT și după instalarea cu succes, creați un fișier steag.” Profit.
3.5. Declanșatoare
Declanșatoarele pot fi configurate pentru a răspunde la evenimente specifice din datele colectate. De exemplu, depășirea unei anumite valori de ping-pong către router. De asemenea, puteți configura metoda de notificare pentru fiecare declanșator (pentru unii este suficientă o pictogramă în consolă, în timp ce alții trimit imediat notificări ori de câte ori este posibil). Reacția la eveniment este selectată dintre cele preconfigurate în Configurarea acțiunii.
Pentru a crea un declanșator: introduceți Cnfigurarea de colectare a datelor a unui nod sau șablon, faceți dublu clic pe parametrul de interes (dacă nu, atunci trebuie să îl creați mai întâi), iar în proprietăți mergeți la fila Praguri, faceți clic pe butonul de adăugare.

«Funcţie„—ce sau ce valori să ia pentru a calcula starea. Poate lua următoarele valori (numărul de valori utilizate pentru verificare este indicat în câmpul Eșantioane):
— Ultima valoare interogata: ultima valoare(ele) primită(e).
— Valoarea medie: valoarea medie din ultima
— Abatere medie: abatere medie
— Diferență cu valoarea anterioară: diferență cu valoarea anterioară
— Eroare de colectare a datelor: eroare la primirea datelor
— Suma valorilor: suma valorilor
— Script: valoare obținută ca rezultat al unui script utilizator
«Ziua Operației„—condiție pentru declanșare. Poate lua valori (valoarea este indicată în câmpul Valoare corespunzător):
- <: mai puțin decât: mai puțin decât
- <=: mai mic sau egal cu: mai mic sau egal
- == egal cu: echivalent
— >=: mare decât sau egal cu: mai mare sau egal
— >: grozav decât: mai mult decât
- !=: nu este egal cu: nu este echivalent
- ca: aproape de
- nu ca: nu aproape de
În ceea ce privește ultimii doi parametri, nu sunt sigur cum funcționează. Prin urmare, nici nu voi ghici ce granițe sunt construite în ele.
Într-un cuvânt, totul este la fel ca în Zabbix, dar nu trebuie să introduci formule manual, de teamă să nu greșești sau să te înșeli. Pentru a restabili declanșatorul (eveniment de dezactivare), sistemul însuși va înlocui valoarea. (În Zabbix trebuie să tastați din nou și să nu scrieți greșit).
3.6. Șabloane
RMB-creați șablon, introduceți numele șablonului. PKM-Colectarea datelor Cnfiguration.
Un pic de teorieInformațiile colectate pot proveni din mai multe surse. Ar putea fi agent NetXMScare rulează pe o mașină poate fi "simpla cerere"Sau"Intern", trimis de serverul însuși (de exemplu, același ping), "SNMP""punctul de control SNMP""Împinge""Windows Contori de performanță""SM-CLP", sau personalizat"scenariu". Pentru fiecare tip de informații, puteți selecta tipul pe care sistemul îl va aștepta la primire. De exemplu, ping va returna o valoare întreagă (întreg), cantitatea de spațiu liber pe disc în octeți va fi, de asemenea, întreg, dar aceeași temperatură nu va mai fi un întreg, adică real).
Pentru a colecta informații prin SNMP, NetXMS are o listă uriașă de parametri predefiniți, adică nu puteți introduce un anumit OID, ci îl puteți găsi în arborele MIB, ceea ce este de fapt destul de problematic... Dar. Ca rezultat, trebuie să vă aprofundați în documentația producătorului și să căutați valorile IOD pentru fiecare dispozitiv separat. Puteți pierde mult timp configurand citirea informațiilor de pe dispozitive, lovindu-vă cu un mesaj de sistem „NESUPORTAT”, dar în cele din urmă se dovedește că acest dispozitiv pur și simplu nu știe cum să furnizeze informațiile solicitate. Rămâne doar să fumezi manuale și să speri.
De exemplu, pentru a colecta informații despre timpul de răspuns al nodului (ping), trebuie să adăugați un nou parametru (PKM-nou parametru), în câmpul Origine selectați Internal, apăsați butonul Selectare și selectați Ping Time. Există o căutare, ceea ce am visat doar în Zabbix. De asemenea, are sens să se schimbe perioada de interogare a nodului (valoarea implicită este de 60 de secunde, adică dacă routerul nu mai răspunde imediat după ce a fost interogat de sistemul de monitorizare, atunci va trece aproape un minut întreg înainte ca sistemul să-și dea seama că ceva este în neregulă cu Da, va suna alarma).
Lista datelor interne care pot fi prelucrate:

După ce toate setările necesare au fost adăugate la șablon, trebuie să faceți clic PKM-aplicați și selectați toate nodurile la care trebuie aplicat acest șablon (ctrl+LMB). Asta e tot. După aceasta, în arborele de sub șablon va apărea o ramură, deschizându-se toate nodurile la care se aplică acest șablon.
Atunci când detașați un nod dintr-un șablon, datele colectate nu încetează să fie colectate. Pentru a anula colectarea acestuia, trebuie să mergeți la Configurația de colectare a datelor pentru fiecare nod și să ștergeți totul manual, sau mai întâi ștergeți parametrii din șablon și numai apoi ștergeți nodurile din acesta. Nu știu de ce s-a făcut așa, dar, în opinia mea, acesta este un lucru extrem de ciudat. Dar... așa este.
Într-un șablon, puteți selecta datele dorite pentru a le colecta și a le copia într-un alt șablon. Masiv. Și nu trebuie să copiați și să inserați manual dintr-un șablon în altul... Deja încep să-l urăsc pe Zabbix..
3.7. Tablouri de bord
Destul de ciudat, Wiki NetXMS pe acest subiect conține un singur link către youtube: , nu există nici măcar o listă sau o descriere a elementelor care pot fi adăugate la Dashboard. În principiu, acolo totul este la fel de intuitiv. Etichetă - este doar... ei bine... Etichetă... nici măcar nu știu cum să o traduc. Într-un cuvânt, un câmp cu o inscripție este folosit pentru a desemna și a diferenția elementele, deoarece elementele în sine nu conțin nume. Linie Chart - Acesta este un grafic cu linii. Bar Chart este o diagramă. Vizualizator de alarmă — lista de avertismente pentru nodul/ele selectat. Într-un cuvânt, numele vorbesc de la sine.
Apoi, trebuie să deschideți proprietățile tabloului de bord și să configurați vizualizările. Suntem interesați de fila Elemente tablou de bord. Numărul de coloane este numărul de coloane, elemente care vor fi amplasate orizontal. Fiecare obiect are propriile sale proprietăți și aș recomanda debifarea elementului de spațiu vertical excesiv Layout-Grab pentru a minimiza dimensiunea fiecărui element.

3.8. Configurarea acțiunii
(Configurare-Configurare acțiuni)
În esență, acestea sunt acțiuni ca răspuns la declanșatoare.

NetXMS poate trimite e-mail, sms, mesaj xmpp ca răspuns la un declanșator. Totul este banal aici - trebuie doar să completați câmpurile obligatorii.
Poti de asemenea:
— Transferați alerta pe alt server NetXMS
— Rulați comanda pe serverul de administrare NetXMS
— Executați comanda pe nod folosind agentul NetXMS
— Rulați scriptul NXSL (NSXL este dvs )
După crearea unei acțiuni, puteți configura timpul de întârziere a execuției acesteia, precum și să aplicați o macrocomandă pentru execuție. Timpul de întârziere este necesar pentru a nu deranja operatorul în cazul în care problema se rezolvă de la sine (de exemplu, timpul de răspuns la o solicitare ping a fost mai mare decât valoarea specificată, dar la următoarea verificare poate reveni la normal, deci de ce să vă deranjați despre asemenea fleacuri?) .
3.9. Diferențierea drepturilor de acces
Pentru fiecare obiect vă puteți configura propriile drepturi de acces. Pentru fiecare obiect din interiorul altui obiect, puteți configura și drepturile de acces. Acest lucru permite o distribuție foarte flexibilă a responsabilităților și a capabilităților de monitorizare pentru diferite grupuri de utilizatori. Atât am vrut să spun.
4. concluzie
Aș dori să infirm titlul propriului articol. NetXMS nu este pentru leneși. Doar că dezvoltatorii nu s-au concentrat pe funcționalitate, ca unii, ci, printre altele, s-au ocupat și de interfață.
Hai să o facem așa. Am folosit Zabbix și NetXMS. Din acest motiv, îmi voi scrie pur și simplu sentimentele despre aceste două sisteme.
Deci.
NetXMS mi se pare un sistem extrem de ușor de utilizat. Păi... administratorului... da, administratorului. Are ceea ce se numește o interfață intuitivă și este foarte tare. Nu trebuie să vă scrieți propriile formule, să citiți o grămadă de documentație însoțitoare pentru a permite verificarea ping-urilor înainte de comutare sau un alt lucru simplu. Dar. În Zabbix, acest lucru foarte simplu nu este foarte diferit de ceva cu adevărat dificil, adică dacă îl stăpânești, atunci poți face totul în același mod. NetXMS are indicii; majoritatea parametrilor pot fi găsiți în interfață, selectați cu mouse-ul și configurați. În Zabbix trebuie să aflați dacă sistemul poate face asta și asta și, dacă da, cum este scris și ce parametri returnează. Zabbix câștigă în comunitate și tone de șabloane pentru toate ocaziile... dacă găsești ceea ce ai nevoie în acest munte de gunoi... Pe de altă parte, NetXMS are și o mulțime de fani și suplimente pentru care au creat acest sistem. Iar sistemul în sine poate monitoriza cele mai populare aplicații din cutie, așa cum se menționează pe pagina principală a proiectului.
Principalul avantaj al NetXMS față de Zabbix pentru mine a fost capacitatea de a rula un script pe un nod cu probleme ca răspuns la un declanșator. Dacă temperatura procesorului crește peste prag, acesta va opri gazda în sine. Și apoi ne vom da seama care este problema. Poate că și Zabbix are așa ceva, dar eu nu am putut. Același lucru este valabil și pentru porturile de monitorizare de pe routere. Și iată... Ei bine, așa cum se întâmplă... Trebuie să stăpânești limbajul de scripting și asta-i tot...
Drepturile de acces în NetXMS vă permit să diferențiați foarte flexibil capacitățile diferiților utilizatori ai sistemului. Dar pentru a pune la punct toate acestea, trebuie să mânuiești cu adevărat.
În general, sistemele sunt destul de asemănătoare, iar capacitățile lor, la prima vedere, par cel puțin comparabile. Deși se pare că Zabbix poate face mai mult, aceste capacități sunt ascunse adânc sub capotă și sunt de neatins pentru un simplu administrator muritor. NetXMS pare simplu și clar, prietenos și plăcut.
Zabbix are o documentație excelentă, wiki, cum să, întrebări frecvente, cele mai bune practici, precum și diverse forumuri etc., unde puteți găsi răspunsuri la aproape toate întrebările. Și dacă ceva, întreabă-l pe al tău.
Pentru a rezuma, aș dori să recomand NetXMS persoanelor care abia la început sau celor care nu au nevoie să se scufunde adânc în monitorizarea totul. Sunt sigur că, dacă te uiți mai departe, poți face niște observații foarte, foarte subtile în el.
Dar totuși, principalul avantaj pe care îl văd este interfața foarte frumoasă și ușurința de configurare.
5. Materiale folosite
Canalul canalului YouTube
Sursa: www.habr.com
