Hvordan overvåke ytelsen til CentOS 8/7 Server ved å bruke Netdata


Det er tonnevis av overvåkingsverktøy som brukes til å holde øye med systemytelsen og sende varsler i tilfelle noe går galt. Installasjons- og konfigurasjonstrinnene som er involvert er imidlertid ofte kjedelige.

Netdata er et åpen kildekode overvåkings- og feilsøkingsverktøy i sanntid som bare krever noen få trinn for å bli installert. Git-depotet kommer med et automatisert skript som håndterer hoveddelen av installasjons- og konfigurasjonsprosessen og tar bort den tungvinte konfigurasjonen knyttet til andre overvåkingsverktøy.

Netdata har blitt enormt populær siden den første utgivelsen i oktober 2013. Den samler inn sanntidsmålinger som diskutnyttelse og viser dem på enkle å tolke diagrammer/grafer.

Den har tatt store sprang og dette har gitt den en plass i Forbes 2020 Cloud 100 stigende stjerner. Denne listen utgjør de 100 beste private skyselskapene.

I denne artikkelen vil vi se hvordan du kan installere Netdata på CentOS 8/7 for å overvåke sanntids-, ytelses- og helseovervåking av servere og applikasjoner.

Netdata støtter følgende distribusjoner:

  • CentOS 8 og CentOS 7
  • RHEL 8 og RHEL 7
  • Fedora Linux

Hvordan installere Netdata i CentOS Linux

1. Før vi dykker ned i installasjonen av Netdata, er noen få forutsetningspakker obligatoriske. Men først, oppdater systemet og installer EPEL-depotet som vist.

$ sudo yum update
$ sudo yum install epel-release

2. Installer deretter de nødvendige programvarepakkene som vist.

$ sudo yum install gcc make git curl zlib-devel git automake libuuid-devel libmnl autoconf pkgconfig findutils

3. Når du er ferdig med å installere de nødvendige pakkene, klone Netdata git-depotet som vist.

$ git clone https://github.com/netdata/netdata.git --depth=100

4. Deretter navigerer du inn i Netdata-katalogen og kjører install-required-packages.sh-skriptet. Skriptet oppdager Linux-distribusjonen din og installerer tilleggspakker som kreves under installasjonen av Netdata.

$ cd netdata/
$ ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata 

5. Til slutt, for å installere Netdata, kjør Netdata automatiserte skript som vist nedenfor.

$ sudo ./netdata-installer.sh

Ved utførelse av skriptet vil du bli orientert om hvor viktige Netdata-filer vil bli lagret. Disse inkluderer for eksempel konfigurasjonsfiler, webfiler, plugins, databasefiler og loggfiler for å nevne noen.

6. Trykk 'ENTER' for å komme i gang med installasjonsprosessen. Under installasjonsprosessen vil du få noen tips om hvordan du får tilgang til Netdata i nettleseren og administrerer Netdata, for eksempel å starte og stoppe den.

Skriptet kjører en stund og gjør alle nødvendige konfigurasjoner og justeringer under installasjonsprosessen. For mitt tilfelle tok det omtrent 3-5 minutter, og når det er gjort, skal utdataene som vises være en bekreftelse på at installasjonen var vellykket.

7. Når den er installert, må vi ha Netdata-demonen oppe og kjøre. For å starte, aktiver Netdata-demonen ved oppstart, og bekreft statusen påkalle følgende kommandoer:

$ sudo systemctl start netdata
$ sudo systemctl enable netdata
$ sudo systemctl status netdata

8. Som standard lytter Netdata på port 19999, og du kan bekrefte dette ved å bruke netstat-kommandoen som vist:

$ sudo netstat -pnltu | grep netdata

9. Vi må åpne denne porten på brannmuren for å få tilgang til Netdata via en nettleser. Kjør derfor kommandoene nedenfor:

$ sudo firewall-cmd --add-port=19999/tcp --permanent
$ sudo firewall-cmd --reload

10. For å få tilgang til Netdata, start nettleseren din og bla gjennom URL-en som vist:

$ http://centos8-ip:19999/

Du vil få et dashbord vist som gir deg den generelle systemytelsen på intuitive og kule grafer.

Ta gjerne et blikk på forskjellige grafer ved å klikke på beregningene som er oppført på høyre sidefelt. For eksempel, for å få et glimt av systemd-tjenestene som kjører, klikk på alternativet systemd-tjenester som vist.

Sikring av Netdata med grunnleggende autentisering på CentOS

Som du kanskje alarmerende nok har observert, er det ingen form for autentisering levert av Netdata. Dette innebærer at praktisk talt alle kan få tilgang til dashbordet forutsatt at de får tak i Netdatas IP-adresse.

Heldigvis kan vi konfigurere grunnleggende autentisering ved å bruke htpasswd-programmet og Nginx-nettserveren som omvendt proxy. Derfor skal vi installere Nginx-webserveren.

$ sudo dnf install nginx

Med Nginx installert, skal vi lage en konfigurasjonsfil i katalogen /etc/nginx/conf.d. Bruk imidlertid katalogen som er tilgjengelig for nettsteder hvis du bruker Nginx til andre formål bortsett fra Netdata.

$ sudo vim /etc/nginx/conf.d/default.conf

Legg til hele den følgende konfigurasjonen og sørg for å endre server_ip- og example.com-direktivene med din egen server-IP-adresse og servernavn.

upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

For brukerautentisering vil vi opprette et brukernavn og passord for en bruker kalt tecmint ved å bruke htpasswd-verktøyet og beholde legitimasjonen under netdata-access-filen.

$ sudo htpasswd -c /etc/nginx/netdata-access tecmint

Oppgi passordet og bekreft det.

Deretter starter du Nginx-webserveren på nytt for at endringene skal tre i kraft.

$ sudo systemctl restart nginx

For å teste om konfigurasjonen gikk riktig, fortsett og bla gjennom serverens IP-adresse.

http://server-ip

Deretter får du tilgang til Netdata-dashbordet.

Og det er det, folkens. Vi har ledet deg gjennom installasjonen av Netdata Monitoring-verktøyet på CentOS 8 og konfigurert grunnleggende autentisering for å sikre overvåkingsverktøyet. Send oss et rop og fortell oss hvordan det gikk.