Incarcarea medie a unui server

Daca folositi cPanel si vreti sa obtineti incarcarea medie a serverului dar nu aveti timpul necesar sa va logati, apoi sa verificati acest lucru atunci acest script o sa se dovedeasca foarte util.

In acest tutorial vom invatat cum sa obtinem rapid informatii despre un server folosind cPanel XML API, in acest caz LoadAvg.

 

Incepem cu crearea unui script nou, in care primele linii vor fi urmatoarele:

 

In prima linie includem fisierul antet String.au3 de care avem nevoie pentru a putea accesa functia _StringBetween. Urmatoarele linii vor contine informatiile pentru conectare la server(credentialele), numele domeniului si numele API-ului. Exemplul de mai sus este un template, dumneavoastra trebuie sa modificati username-ul, parola si numele domeniului.

 

Urmatoarele doua linii sunt folosite pentru a obtine, respectiv procesa informatiile obtinute.

Functia cPanel_XML_API efectueaza conectarea la server si obtine datele in format XML iar functia LoadAverage extrage datele din format XML si le pune intr-un array.

 

Urmatoarele linii sunt folosite pentru a crea interfata grafica si main loop.

Codul scris pe linia 11, copiaza in directorul cu fisiere temporare un fisier bitmap care o sa fie folosit ca logo.

La linia 12 este creata fereastra principala.

La linia 13 se creaza un Pic control care afiseaza logo-ul.

Urmatoarele 3 linii (Label1..3) afiseaza timpul pentru care se afiseaza rezultatele, iar urmatoarele 3 linii (Value1..3) afiseaza rezultatele propriu-zise.

La linia 20 se seteaza starea vizibila pentru fereastra principala.

Liniile 22,23 si 24 constituie bucla principala, care verfica doar daca buton Close (x) este apasat.

Nota: aceasta portiune de cod este optionala, daca doriti puteti afisa rezultatele si intr-un MsgBox.

 

Codul de mai jos reprezinta functia cPanel_XML_API.

La linia 27 cream un obiect WinHTTPRequest.

La linia 29 accesam metoda Open care deschide o conexiune HTTP la o resursa.

La linia 30 setam credentialele pentru conectare.

La linia 31 trimitem cererea.

La linia 33 obtinem raspunsul serverului, datele in format XML.

La linia 34 distrugem obiectul creat.

La linia 35 sunt returnate datele obtinute (inca in format XML).

Nota: functia cPanel_XML_API nu este specifica pentru LoadAvg, cu ajutorul ei se pot accesa si alte API-uri.

 

Codul de mai jos reprezinta functia LoadAverage.

La linia 39 obtinem sirul de caractere cuprinse intre stringurile <loadavg> si </loadavg>. Rezultatul trebuie sa fie un array(vector).

La linia 40 se testeaza acest lucru.

La linia 41 se obtine valoarea incarcarii serverului pentru ultimul minut.

La linia 42 se obtine valoarea incarcarii serverului pentru ultimele 5 minute.

La linia 43 se obtine valoarea incarcarii serverului pentru ultimele 15 minute.

La linia 44 se returneaza rezultatul sub forma unui array. Am folosit functia StringSplit tocmai pentru a obtine un array din 3 stringuri.

La linia 46 se returneaza un mesaj de eroare in cazul in care rezultatul obtinut la linia 39 nu este sub forma unui array.

Nota: nu am folosit un UDF (User Defined Function) pentru procesarea datelor XML pentru ca in acest caz aceasta metoda este mai eficienta din punct de vedere a liniilor de cod scrise si a dimensiunii scriptului compilat ca executabil.

 

Daca asamblati toate portiunile de cod de mai sus, obtineti scriptul complet ca in imaginea de mai jos:

Daca modificati datele de conectare si rulati scriptul, obtineti o fereastra asemanatoare cu cea de mai jos:

Puteti descarca scriptul si resursele necesare de aici.


* Pentru orice intrebari sau nelamuriri legate de curs sau limbajul AutoIt accesati sectiunea AutoIt a forumului SkullBox sau platforma de suport tehnic NetHelp.