Zabbix / Zabbix Proxy auf Windows installieren

Navigation:
< zurück
Inhalt

Zabbix bzw. Zabbix Proxy erfordern eigentlich einen Windows Server. Wenn ihr kleine Netzwerke aus der Ferne verwaltet möchtet und das ohne Datenverkehr über VPN Leistungen (eventuell besteht keine VPN Leitung), dann bietet es sich an, Zabbix auf einem Windows Client, einer Windows virtuellen Maschine oder auf einem Windows Server zu betreiben.

Das Ganze funktioniert mit dem neuen Windows Subsystem for Linux (WSL). Dieses ist ab der Version von Windows 10 oder Windows Server 2019 mit enthalten und muss nur noch installiert und aktiviert werden. Somit lassen sich direkt ohne zusätzliche virtuelle Maschine, ein Linux Subsystem auf einem Windows System betreiben.

Es gibt mehrere Distributionen, in diesem Beispiel zeigen wir euch, wie ihr mit WSL und einem Ubuntu Server Bionic 18.04 ein Subsystem aufsetzen könnt.

Installation Windows Subsystem for Linux (WSL)

Als erstes müssen wir die neue WSL Option in Windows aktivieren. Bitte beachtet, dass dies nur für Windows 10 Clients oder Windows Server 2019 Systemen möglich ist. Dieses Beispiel zeigt die Aktivierung von WSL anhand eines Windows Servers 2019.

Als erstes muss die powershell als Administrator geöffnet werden, anschließend gebt folgenden Befehl ein:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Nach der Installation müsst ihr den Server neu starten. Danach ist das Windows Subsystem für Linux installiert und Einsatzbereit.

Ubuntu 18.04 für Windows Subsystem herunterladen

Im nächsten Step, ladet euch mit folgendem Kommando die ISO von Ubuntu herunter:

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile Ubuntu.appx -UseBasicParsing

Das WSL Image für Ubuntu wird heruntergeladen.

Ubuntu entpacken und installieren

Sobald der Download abgeschlossen ist, erstellen wir folgende Verzeichnisse:

PS C:\Users\Administrator> mkdir \ubuntu
PS C:\Users\Administrator> mv Ubuntu.appx Ubuntu.zip
PS C:\Users\Administrator> Expand-Archive Ubuntu.zip c:\ubuntu
PS C:\Users\Administrator> cd \Ubuntu
PS C:\ubuntu> dir
Mode                LastWriteTime         Length Name

----                -------------         ------ ----
d-----         5/8/2019   1:35 AM                AppxMetadata
d-----         5/8/2019   1:35 AM                Assets
-a----        8/17/2018   3:15 AM         212438 AppxBlockMap.xml
-a----        8/17/2018   3:15 AM           3835 AppxManifest.xml
-a----        8/17/2018   3:17 AM          11112 AppxSignature.p7x
-a----        8/17/2018   3:15 AM      223983209 install.tar.gz
-a----        8/17/2018   3:15 AM           5400 resources.pri
-a----         5/8/2019   1:30 AM      224629284 Ubuntu.zip
-a----        8/17/2018   3:15 AM         211968 ubuntu1804.exe
-a----        8/17/2018   3:15 AM            744 [Content_Types].xml

Folgende Benutzerumgebungsvariablen müssen gesetzt werden:

$userenv = System.Environment::GetEnvironmentVariable("Path", "User") 
[System.Environment]::SetEnvironmentVariable("PATH", $userenv + "C:\ubuntu", "User")

Um die Ubuntu Instanz zu installieren, starte ubuntu1804.exe aus dem Verzeichnis c:\ubuntu.

Install the ubuntu instance by executing ubuntu1804.exe from c:\ubuntu. As part of the installation we defined our first ubuntu user as seen below. Once the session is open you can start using your ubuntu instance right away. The ubuntu session will look like a powershell window which is pretty cool. It will be using the same hostname, memory, disks, etc as the windows host. You basically have access to every resource the windows OS has but you are still running a full featured ubuntu server.

PS C:\ubuntu> .\ubuntu1804.exe
Installing, this may take a few minutes…
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: user
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

user@WIN-72UH30KQAK4:~$ sudo su - [sudo] password for user:
 root@WIN-72UH30KQAK4:~#

Zabbix Proxy auf Ubuntu installieren

Hier erstellen wir den Link zum Zabbix repo um später die Installation von Zabbix Proxy zu starten. Im gezeigten Beispiel benutzen wir das Repo der Version 5.0 LTS. Weitere Repos könnt ihr Euch unter folgendem Link ansehen:

https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/

wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bbionic_all.deb
dpkg -i zabbix-release_5.0-1+bionic_all.deb
apt update
apt upgrade

Nachdem Ubuntu Updates durchgeführt sind, starten wir die Softwareinstallation für den Zabbix Proxy mit folgendem Befehl:

apt install zabbix-proxy-mysql

MySQL für Zabbix Proxy konfigurieren

Sobald der Proxy und die Datenbank installiert sind, erstellen wir die Zabbix Datenbank direkt in MySQL:

mysql -u root
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'yourpassword';
quit;

Wir erstellen das Datenbankschema für den Zabbix Proxy:

zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uzabbix -p [yourpassword]

Zabbix Proxy Konfiguration

Im nächsten Schritt editieren wir die Zabbix Proxy Konfigurationsdatei unter /etc/zabbix/zabbix_proxy.conf  mit unseren Parametern. Für die Verbindung nutzt du am besten eine Verschlüsselung wie in diesem Beispiel. Dies ist vor allem wichtig, wenn der Zabbix Proxy Daten über das Internet versendet.

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<yourpassword>

Im Folgenden gehen wir tiefer ins Detail und konfigurieren den Rest des Zabbix Proxies.

Bevor wir den Zabbix Proxy starten, müssen wir diesen im Zabbix Hauptserver hinzufügen. Navigiere zum Punkt Administration->Proxies und Klicke “Create proxy” in der rechten oberen Ecke.

In der Konfiguration geben wir den Hostnamen den wir bei der Installation ausgewählt haben ein und aktivieren die Checkbox für die Verschlüsselung bei  “Cerfiticate”.

Wenn alles korrekt eingerichtet wurde, siehst du, dass der Proxy sich verbunden hat.

Die Dienste für den Zabbix Proxy (mysql, su, sudo und zabbix_proxy) erscheinen im Task Manager wie die anderen Windows Prozesse auch.

Wenn ihr mit dem Subsystem vom Ubuntu Server arbeiten wollt, könnt ihr folgendes Icon in der Task Bar nutzen. Das ist nur die Terminalverbindung, der Server und dessen Prozesse funktionieren weiterhin, auch wenn das Terminafenster geschlossen wird.

Abschließend muss noch die Windows Firewall konfiguriert werden. Achtet daher darauf, dass die Ports für den Zabbix Proxy geöffnet sind, sodass dieser eine Verbindung zum Zabbix Server aufbauen kann.

Abschlussarbeiten in Ubuntu

Füge folgende Zeilen in die Datei /etc/sudoers im Ubuntu hinzu:

%sudo   ALL=(ALL) NOPASSWD: /usr/sbin/service zabbix-proxy *
%sudo   ALL=(ALL) NOPASSWD: /usr/sbin/service mysql *

Erstelle startservices.sh im Ubuntu mit folgenden Kommandos:

!/bin/bash
sudo service mysql start
sudo service zabbix-proxy start

Erstelle autostart.vbs im Windows Server mit folgendem Inhalt:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run "C:\Windows\System32\bash.exe -c /app/startservices.sh",0
Set WshShell = Nothing

Konfiguriere das Script, sodass es beim Windows Start automatisch aufgerufen wird.

Kommentar absenden

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

%d Bloggern gefällt das: