Articolul de astăzi are ca subiect managementul infrastructurii. Privind puțin în urmă mi-am dat seama că asta ar fi partea a 3-a a unei posibile trilogii ce privește managementul infrastructurii IT.
Firma Allied Telesis este producător de echipamente de rețelistică, iar partea noastră de management privește exact această parte a infrastructurii și nu toate echipamentele componente ale unei infrastructuri complexe. Acestea fiind spuse, în prima parte v-am povestit despre SNMP și aplicațiile de management ce se bazează pe acesta, probabil lucrul la care ne gândim prima oară când auzim de management. Partea a doua a adus în lumina reflectoarelor câteva dintre funcțiile mai puțin cunoscute ce au de-a face cu managementul; RMON, LLDP, sFLOW precum și setul de servere încorporate în sistemul nostru de operare AlliedWare+ ce duc la construirea conceptului Network in a Box. Tot în această a doua parte am amintit și de capabilitățile de scripting ale echipamentelor noastre.
În această a 3-a parte voi insista pe ce este scriptingul și cum poate el ajuta managementul unei rețele. Ce este un script? În cea mai simplă formă a sa, este un set de instrucțiuni de configurare ale ecipamentului în cauză. Instrucțiuni puse exact în ordinea în care le-ar da și cel ce configurează echipamentele, cu instrucțiuni de ștergere, creare sau înlocuire. Oricine a programat ceva la un
moment dat știe că poți convinge un computer să facă ceva iarași și iarași la nesfârșit, fără ca asta să aibă vreun dram de inteligență. Pentru a putea obține un comportament inteligent din partea unui echipament e nevoie de un set de instrucțiuni de decizie: IF THEN; WHILE DO; FOR IN DO și altele asemenea lor. În cazul echipamentelor noastre, aceste instrucțiuni se numesc trigger. Sunt instrucțiuni ce monitorizează evenimente de pe switch cum ar fi: interfața căzută, ridicată sau stare schimbată; echipamentul a fost repornit, un card SD a fost introdus în cititor, un proces ping-poll își schimbă starea, un eveniment la unul dintre
membrii unui stack și încă multe altele.
Cum le combinăm astfel încât să funcționeze împreună? Scriem scripturi pentru situațiile ce ne interesează ( pot fi asociate cu funcțiile sau obiectele din limbajele de programare) pe care le asociem cu diversele triggere. După cum spuneam în exemple, avem 3 stări diferite pentru un trigger ce monitorizează o anumită interfață, și fiecărei stări îi putem asocia unul sau mai multe scripturi.
Dacă mai adaug și faptul că unele dintre comenzile disponibile în scripturi permit trimiterea de mailuri sau generarea de mesaje syslog vă puteți da seama cum putem folosi aceste funcții în scopuri de management. Închipuiți-vă un switch care poate intra într-un mod de avarie preconfigurat și cere ajutor, sau echipamente care activează un site de backup automat fără a avea vreun protocol capabil să facă asta.
Probabil va întrebați dacă așa ceva a fost folosit și pentru altceva în afară de teorie. Vă pot spune că l-am folosit în câteva cazuri în care a trebuit să suplimentăm setul standard de funcții ale echipamentului. Unul dintre clienții noștrii ne-a cerut ajutorul pentru a configura switch-urile sale să folosească un fișier de configurare de pe un server TFTP. Aceast lucru nu este posibil la ora actuală pe echipamentele noastre așa că a trebuit să apelăm la script-uri. La final switchurile configurate verifică dacă serverul DHCP le-a alocat adresa IP pe interfața de management, cer serverului TFTP fișierul de configurare asociat adresei IP pe care au primit-o, îl copiază, verifică dacă a apărut vreo schimbare în configurație, iar dacă a apărut înlocuiește configurația de pe echipament cu cea de pe server și restartează pentru a o activa.
O altă aplicație a fost făcută într-un alt loc în care echipamentele au fost configurate să salveze singure configurațiile în fiecare noapte.
Astfel de aplicații sunt posibile și datorită faptului că nu suntem limitați la a folosi doar instrucțiuni de configurare ci putem folosi orice comandă dintr-un script bash, ceea ce ne permite inclusiv să căutăm cuvinte cheie în output-ul unei comenzi show astfel încât să putem interpreta output-ul lor și să luăm decizii pe baza lor.
Ca întotdeauna, dacă vreți să aflați mai multe despre subiectul de astăzi, sau despre orice altceva privind echipamentele Allied Telesis site-ul nostru www.alliedtelesis.com și adresa de mailromania@alliedtelesis.com vă stau la dispoziție.
de Alexandru Gaiu, PreSales Engineer la Allied Telesis