So installierst du Netdata mit Nginx auf Alma Linux 8

Netdata ist ein kostenloses Open-Source-Tool zur Serverüberwachung in Echtzeit, das Echtzeitdaten wie CPU-Nutzung, RAM-Nutzung, Last, SWAP-Nutzung, Bandbreitennutzung, Festplattennutzung usw. visualisiert und überwacht. Es hilft dem Systemadministrator, sich einen Überblick darüber zu verschaffen, was in deinem System oder deiner Anwendung passiert und was gerade passiert ist. Es kann auf allen physischen Servern, virtuellen Maschinen, Containern und IoT-Geräten installiert werden. Es bietet eine interaktive Weboberfläche, über die du die Metriken deiner Server einsehen kannst, und unterstützt verschiedene Datenspeicher für die dauerhafte Speicherung.

In diesem Tutorial zeigen wir dir, wie du das Netdata Monitoring Tool auf Alma Linux 8 installierst.

Voraussetzungen

  • Ein Server, auf dem Alma Linux 8 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Installation der erforderlichen Abhängigkeiten

Zuerst musst du das EPEL-Repository und andere Abhängigkeiten installieren, die für die Installation von Netdata erforderlich sind. Du kannst sie alle installieren, indem du den folgenden Befehl ausführst:

dnf install epel-release -y
dnf install git libuuid-devel autoconf automake pkgconfig zlib-devel curl findutils libmnl gcc make -y

Sobald alle Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Netdata installieren

Standardmäßig ist Netdata nicht im Alma Linux Standard-Repository enthalten. Du musst es also von der Quelle aus installieren.

Lade zunächst die neueste Version von Netdata aus dem Git-Repository herunter, indem du den folgenden Befehl ausführst:

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

Sobald der Download abgeschlossen ist, wechselst du in das Verzeichnis netdata und installierst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

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

Als Nächstes installierst du andere Pakete mit dem folgenden Befehl:

dnf --enablerepo=powertools install libuv-devel

Starte dann das Netdata-Installationsskript, um die Installation zu starten.

./netdata-installer.sh

Du erhältst die folgende Ausgabe:

 --- 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 >                                                                   

Drücke die Eingabetaste, um Netdata auf deinem System zu installieren. Sobald Netdata installiert ist, erhältst du die folgende Ausgabe:

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

Du kannst nun den Status von Netdata mit dem folgenden Befehl überprüfen.

systemctl status netdata

Du erhältst die folgende Ausgabe:

? 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>

Zu diesem Zeitpunkt läuft Netdata und lauscht auf Port 19999. Du kannst es mit dem folgenden Befehl überprüfen:

ss -antpl | grep netdata

Du erhältst die folgende Ausgabe:

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))

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Firewall konfigurieren

Wenn du die Firewall Firewalld auf deinem System verwendest, musst du die Ports 19999 und 80 durch die Firewalld freigeben. Du kannst sie mit dem folgenden Befehl freigeben:

firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --permanent --add-port=80/tcp

Als Nächstes musst du den firewalld-Daemon neu laden, damit die Änderungen übernommen werden:

firewall-cmd --reload

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Nginx als Reverse Proxy für Netdata konfigurieren

Es ist immer eine gute Idee, Nginx als Reverse Proxy zu installieren und zu konfigurieren, um auf die Netdata zuzugreifen. Installiere zunächst den Nginx-Server mit dem folgenden Befehl:

dnf install nginx httpd-tools -y

Als Nächstes erstellst du eine Passwortdatei mit dem folgenden Befehl:

htpasswd -c /etc/nginx/.htpasswd netadmin

Setze dein Admin-Passwort wie unten gezeigt:

New password: 
Re-type new password: 
Adding password for user netadmin

Als Nächstes erstellst du eine Konfigurationsdatei für den virtuellen Nginx-Host mit dem folgenden Befehl:

nano /etc/nginx/conf.d/netdata.conf

Füge die folgenden Zeilen hinzu:

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;
}
}

Speichere und schließe die Datei und überprüfe Nginx auf Syntaxfehler:

nginx -t

Wenn alles in Ordnung ist, erhältst du die folgende Ausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starte anschließend den Nginx-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart nginx

Du kannst den Nginx-Status auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Du solltest die folgende Ausgabe sehen:

? 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.

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf das Netdata Dashboard

Öffne nun deinen Webbrowser und rufe das Netdata Dashboard über die URL http://your-server-ip auf. Du solltest die Netdata-Anmeldeseite sehen:

Netdata Anmeldung

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Auf der folgenden Seite solltest du das Netdata-Dashboard sehen:

Netdata Dashboard

Fazit

Herzlichen Glückwunsch! Du hast das Netdata Monitoring Tool erfolgreich auf Alma Linux 8 installiert. Du kannst nun deine Servermatrizen in Echtzeit über das Netdata Dashboard überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …