Kontinuirano praćenje servera je od vitalnog značaja za svako preduzeće, osiguravajući besprekorno funkcionisanje svih njegovih sistema.
Sa širenjem poslovanja, raste i potreba za resursima, radnom snagom, uslugama, sistemima i IT infrastrukturom. Zato je ključno implementirati rešenja za nadzor performansi kako bi se pratilo stanje, aktivnost i kapacitet servera.
U ovom tekstu, istražićemo nekoliko besplatnih i jednostavnih alata za praćenje servera.
Svaki IT administrator suočava se sa izazovima poput padova servera, sporih aplikacija, neplaniranih zastoja, konfigurisanja zavisnosti, rešavanja problema sa curenjem memorije i slično. Za efikasno prevazilaženje ovih poteškoća, neophodne su aplikacije za IT nadzor.
Nagios i Zabbix su među najpopularnijim alatima za praćenje koji pružaju sveobuhvatan pregled infrastrukture. Oni omogućavaju praćenje skoro svega – od performansi servera i mreže, preko operativnih sistema, do aplikacija i veb lokacija.
Međutim, ukoliko vaša infrastruktura nije previše obimna ili je vaš zahtev samo nadgledanje performansi servera, umesto sveobuhvatnog rešenja, možete se odlučiti za lagan softver za samostalno hostovanje koji je specijalizovan za praćenje servera.
Napomena: Korisnici Linux operativnog sistema mogu koristiti i ugrađene komande za praćenje CPU-a, memorije i procesa.
Ward
Ward pruža osnovne, minimalne informacije koje se odnose isključivo na servere. Kompatibilan je sa svim vodećim operativnim sistemima.
Ward koristi OSHI, besplatnu Java biblioteku za prikupljanje podataka o operativnom sistemu i hardveru. Pruža informacije kao što su verzija OS-a, iskorišćenost memorije i procesora, podaci o diskovima i particijama, te iskorišćenost CPU-a.
Kontrolna tabla je podeljena na pet različitih segmenata:
- Procesor: Naziv, procenat iskorišćenosti, broj jezgara, bit, frekvencija
- Mašina: OS i njegova verzija, zauzeće RAM-a (u procentima i količini), tip RAM-a, broj aktivnih procesa
- Skladištenje: Naziv, procenat iskorišćenosti, kapacitet, broj diskova, virtuelna memorija
- Iskorišćenost (%): Vizuelni prikaz iskorišćenosti procesora, memorije i skladišta u poslednjih 20 sekundi
- Ward: Prikazuje vreme rada od poslednjeg pokretanja na Linux-u, odnosno vreme hard reseta na Windows-u
Za pokretanje Warda, možete kreirati JAR datoteku projekta i pokrenuti je, ili preuzeti najnoviju JAR datoteku i izvršiti je. Ward se takođe može pokrenuti unutar Docker kontejnera.
Netdata
Netdata je besplatan softver otvorenog koda za praćenje sistema i aplikacija u realnom vremenu. Radi na Linuxu, FreeBSD-u, macOS-u, Docker kontejnerima, kao i na IoT uređajima.
Instaliranjem Netdata agenta na sistem, aplikaciju ili kontejner, dobijate detaljan uvid u njihove performanse i stanje u realnom vremenu.
Na prikazanom grafiku, možete selektovati i zumirati određene delove (npr. prikaz CPU-a u žutoj boji) koristeći SHIFT + točkić miša, čime dobijate detaljniji prikaz odabrane oblasti. Netdata se jednostavno integriše sa drugim alatima kao što su Prometheus, AWS Kinesis, Graphite i MongoDB.
Netdata karakteristike:
- Brza i jednostavna instalacija
- Pruža podatke u realnom vremenu
- Može da prati više od 1000 metrika po čvoru
- Samostalno prikuplja do 10000 metrika po serveru
- Čuva istorijske podatke sa preciznošću od jedne sekunde
- Poseduje intuitivnu i lako razumljivu kontrolnu tablu
- Prepoznaje abnormalnosti korišćenjem naprednog vizuelizatora metrika
- Ne zahteva značajne resurse za pokretanje
Prometheus + Grafana
Prometheus je alat otvorenog koda za praćenje sistemskih metrika, dok je Grafana platforma za vizualizaciju otvorenog koda. Integracija Prometheusa i Grafane predstavlja moćno rešenje za efikasno praćenje servera.
Prometheus server prikuplja podatke periodično, a potom postaje izvor podataka za Grafanu, koja ih vizualizuje na kontrolnoj tabli. Grafana takođe omogućava postavljanje upita za vizualizaciju specifičnih metrika.
Ova kombinacija je definitivno vredna istraživanja!
Glances
Glances je alat za praćenje sistema koji radi na više platformi, a napisan je u Pythonu. Podržava Python 2.7 ili novije verzije (>= 3.4). Koristi Python biblioteke (psutil) za prikupljanje sistemskih informacija.
Informacije prikazane na korisničkom interfejsu dinamički se prilagođavaju u zavisnosti od veličine interfejsa (mobilni, web interfejs, terminal).
Karakteristike Glances-a:
- Daljinski nadzor je moguć preko terminala, veb interfejsa ili API-ja (XML-RPC server i RESTful JSON)
- Statistike se mogu izvesti u datoteku ili bazu podataka
- Laka instalacija sa samo jednom komandom: pip install glances
- Docker kontejner je dostupan za Glances
Za bolju vizualizaciju podataka, možete ih eksportovati iz Glances-a u InfluxDB i zatim ih prikazati na Grafani.
Linux Dash
Linux Dash je veb kontrolna tabla za Linux sisteme. Korisnički interfejs je baziran na Angularu, a serverska strana podržava više programskih jezika.
Kartica sa statusom sistema prikazuje informacije o korišćenju RAM-a, prosečnom opterećenju CPU-a, iskorišćenosti CPU-a, procesima koji zauzimaju najviše CPU-a i RAM-a, particijama diska, iskorišćenosti swap memorije, temperaturi CPU-a, kao i o Docker procesima.
Takođe pruža informacije na nivou mreže, naloga i aplikacija.
Karakteristike Linux Dash-a:
- Podržava WebSockets za prikaz sistemskih podataka u realnom vremenu
- Korisnički interfejs sa podrškom za „drag and drop“
- Prilagodljivi ekrani (minimiziranje, maksimiziranje, prilagođavanje) na kontrolnoj tabli
- Serverska implementacija dostupna na više jezika (Node.js, Python, Go, PHP)
Conky
Conky je sistemski monitor prvobitno dizajniran za X Window System. Trenutno radi na mnogim različitim platformama, uključujući X, Linux, macOS (koristeći XQuartz) i većini BSD-ova.
Prikazuje informacije u obliku jednostavnog teksta ili naprednih grafičkih widgeta, koristeći različite fontove i boje.
Karakteristike Conky-a:
- Preko 300 ugrađenih objekata za prikaz sistemskog statusa
- Vrlo jednostavan korisnički interfejs
- Podržava muzičke plejere kao što su Audacious i MPD
- Podržava POP3 i IMAP
- Može da prikazuje bilo kakve informacije koristeći skripte i spoljne programe
Zaključak
Kontinuirano praćenje performansi vašeg servera je od suštinskog značaja. Ako se ne sprovodi pravilno, mogu se javiti problemi sa performansama i zastojima, što negativno utiče na poslovanje. Međutim, softverska rešenja za praćenje servera mogu da osiguraju nesmetan rad vaših sistema.
Alternativno, možete isprobati rešenja za praćenje servera zasnovana na cloud-u, gde nema potrebe za instaliranjem i upravljanjem softverom za praćenje.