Netdata met Nginx installeren op Alma Linux 8
Netdata is een gratis, open-source, en real-time server monitoring programma dat real-time gegevens zoals CPU gebruik, RAM gebruik, Load, SWAP gebruik, Bandbreedte gebruik, Schijf gebruik, enz. visualiseert en bewaakt. Het helpt de systeembeheerder om een overzicht te krijgen van wat er gebeurt en wat er zojuist gebeurd is in je systeem of toepassing. Het kan geïnstalleerd worden op alle fysieke servers, Virtuele Machines, containers, en IoT apparaten. Het biedt een interactieve webinterface om je server meetgegevens te bekijken, met ondersteuning voor verschillende gegevensopslagplaatsen voor persistente opslag.
In deze zelfstudie laten we je zien hoe je het Netdata monitoring gereedschap op Alma Linux 8 installeert.
Vereisten
- Een server met Alma Linux 8.
- Een geldige domeinnaam die wijst naar het IP van je server.
- Een root wachtwoord is op de server ingesteld.
Installeer de vereiste afhankelijkheden
Eerst moet je de EPEL repo installeren en andere afhankelijkheden die nodig zijn om Netdata te installeren. Je kunt ze allemaal installeren door het volgende commando uit te voeren:
dnf install epel-release -y
dnf install git libuuid-devel autoconf automake pkgconfig zlib-devel curl findutils libmnl gcc make -y
Als alle pakketten geïnstalleerd zijn, kun je verder gaan met de volgende stap.
Installeer Netdata
Netdata zit standaard niet in de Alma Linux standaard repo. Je zult het dus vanaf de bron moeten installeren.
Download eerst de nieuwste versie van Netdata uit de Git repository met het volgende commando:
git clone --recurse-submodules https://github.com/netdata/netdata.git --depth=100
Als de download voltooid is, verander je de directory in netdata en installeer je alle vereiste afhankelijkheden met het volgende commando:
cd netdata
./packaging/installer/install-required-packages.sh --non-interactive --dont-wait netdata
Installeer vervolgens andere pakketten met het volgende commando:
dnf --enablerepo=powertools install libuv-devel
Voer vervolgens het Netdata installatiescript uit om de installatie te starten.
./netdata-installer.sh
Je krijgt de volgende uitvoer:
--- real-time performance monitoring, done right! --- You are about to build and install netdata to your system. The build process will use /tmp for any temporary files. You can override this by setting $TMPDIR to a writable directory where you can execute files. It will be installed at these locations: - the daemon at /usr/sbin/netdata - config files in /etc/netdata - web files in /usr/share/netdata - plugins in /usr/libexec/netdata - cache files in /var/cache/netdata - db files in /var/lib/netdata - log files in /var/log/netdata - pid file at /var/run/netdata.pid - logrotate file at /etc/logrotate.d/netdata This installer allows you to change the installation path. Press Control-C and run the same command with --help for help. NOTE: Anonymous usage stats will be collected and sent to Netdata. To opt-out, pass --disable-telemetry option to the installer or export the environment variable DISABLE_TELEMETRY to a non-zero or non-empty value (e.g: export DISABLE_TELEMETRY=1). Press ENTER to build and install netdata to your system >
Druk op de Enter toets om Netdata op je systeem te installeren. Zodra Netdata geïnstalleerd is, krijg je de volgende uitvoer:
Setting netdata.tarball.checksum to 'new_installation' --- We are done! --- ^ |.-. .-. .-. .-. .-. . netdata .-. .-. .-. .-. .-. .- | '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---> --- is installed and running now! --- enjoy real-time performance and health monitoring...
systemctl start netdata
systemctl enable netdata
Je kunt nu de status van de Netdata controleren met het volgende commando.
systemctl status netdata
Je krijgt de volgende uitvoer:
? netdata.service - Real time performance monitoring Loaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2022-03-19 04:22:22 UTC; 4min 16s ago Main PID: 58935 (netdata) Tasks: 50 (limit: 11412) Memory: 103.1M CGroup: /system.slice/netdata.service ??58935 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D ??58938 /usr/sbin/netdata --special-spawn-server ??59063 /usr/libexec/netdata/plugins.d/apps.plugin 1 ??59064 /usr/libexec/netdata/plugins.d/ebpf.plugin 1 ??59065 /usr/libexec/netdata/plugins.d/go.d.plugin 1 Mar 19 04:22:22 linux systemd[1]: Starting Real time performance monitoring... Mar 19 04:22:22 linux systemd[1]: Started Real time performance monitoring. Mar 19 04:22:22 linux netdata[58935]: CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/cloud.conf'. Running with internal defaults. Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO : MAIN : CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/> Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO : MAIN : Found 0 legacy dbengines, setting multidb diskspace to 256MB Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO : MAIN : Created file '/var/lib/netdata/dbengine_multihost_size' to > Mar 19 04:22:22 linux netdata[58935]: Found 0 legacy dbengines, setting multidb diskspace to 256MB Mar 19 04:22:22 linux netdata[58935]: Created file '/var/lib/netdata/dbengine_multihost_size' to store the computed value Mar 19 04:22:23 linux ebpf.plugin[59064]: Does not have a configuration file inside `/etc/netdata/ebpf.d.conf. It will try to load stock file. Mar 19 04:22:23 linux ebpf.plugin[59064]: Cannot read process groups configuration file '/etc/netdata/apps_groups.conf'. Will try '/usr/lib/n>
Op dit moment draait Netdata en luistert op poort 19999. Je kunt het controleren met het volgende commando:
ss -antpl | grep netdata
Je krijgt de volgende uitvoer:
LISTEN 0 128 127.0.0.1:8125 0.0.0.0:* users:(("netdata",pid=58935,fd=29)) LISTEN 0 128 0.0.0.0:19999 0.0.0.0:* users:(("netdata",pid=58935,fd=6)) LISTEN 0 128 [::1]:8125 [::]:* users:(("netdata",pid=58935,fd=28)) LISTEN 0 128 [::]:19999 [::]:* users:(("netdata",pid=58935,fd=7))
Als je klaar bent, kun je verder gaan met de volgende stap.
Configureer de firewall
Als je firewalld firewall op je systeem gebruikt, dan moet je poorten 19999 en 80 door de firewalld toelaten. Je kunt ze toestaan met het volgende commando:
firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --permanent --add-port=80/tcp
Herlaad vervolgens de firewalld daemon om de veranderingen toe te passen:
firewall-cmd --reload
Als je klaar bent, kun je verder gaan met de volgende stap.
Configureer Nginx als een Reverse Proxy voor Netdata
Het is altijd een goed idee om Nginx te installeren en in te stellen als een omgekeerde proxy om de Netdata te benaderen. Installeer eerst de Nginx server met het volgende commando:
dnf install nginx httpd-tools -y
Genereer vervolgens een wachtwoordbestand met het volgende commando:
htpasswd -c /etc/nginx/.htpasswd netadmin
Stel je admin wachtwoord in zoals hieronder:
New password: Re-type new password: Adding password for user netadmin
Maak vervolgens een Nginx virtual host configuratiebestand met het volgende commando:
nano /etc/nginx/conf.d/netdata.conf
Voeg de volgende regels toe:
upstream backend { server 127.0.0.1:19999; keepalive 64; } server { listen 80; server_name netdata.example.com; 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://backend; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Connection "keep-alive"; proxy_store off; auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } }
Sla het bestand op en sluit het af, controleer Nginx dan op eventuele syntaxis configuratiefouten:
nginx -t
Als alles in orde is, krijg je de volgende uitvoer:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Herstart vervolgens de Nginx dienst om de configuratiewijzigingen toe te passen:
systemctl restart nginx
Je kunt ook de Nginx status controleren met het volgende commando:
systemctl status nginx
Je zou de volgende uitvoer moeten zien:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-03-19 04:28:44 UTC; 4s ago Process: 61706 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 61705 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 61703 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 61708 (nginx) Tasks: 2 (limit: 11412) Memory: 3.7M CGroup: /system.slice/nginx.service ??61708 nginx: master process /usr/sbin/nginx ??61709 nginx: worker process Mar 19 04:28:44 linux systemd[1]: Starting The nginx HTTP and reverse proxy server... Mar 19 04:28:44 linux nginx[61705]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Mar 19 04:28:44 linux nginx[61705]: nginx: configuration file /etc/nginx/nginx.conf test is successful Mar 19 04:28:44 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Mar 19 04:28:44 linux systemd[1]: Started The nginx HTTP and reverse proxy server.
Als je klaar bent, kun je verder gaan met de volgende stap.
Toegang tot het Netdata Dashboard
Open nu je webbrowser en ga naar het Netdata dashboard met de URL http://your-server-ip. Je zou de Netdata login pagina moeten zien:
Geef je admin gebruikersnaam en wachtwoord op en klik op de Sign in knop. Je zou het Netdata dashboard op de volgende pagina moeten zien:
Conclusie
Gefeliciteerd! Je hebt met succes het Netdata bewakingsprogramma geïnstalleerd op Alma Linux 8. Je kunt nu beginnen je server matrics in real-time te bewaken vanaf het Netdata dashboard. Stel me gerust als je vragen hebt.