Zabbix Server + Agent unter Ubuntu 12.04 LTS installieren
Aus znilwiki
Changelog:
- 27.03.2014: Samba Freigabe für Zabbix-Agenten mit hinzu genommen
- 16.07.2014: Anpassung an aktuelle Version, etwas MySQL-Tuning
- 20.11.2014: Anpassung an aktuelle Version
Installation Ubuntu 12.04.x LTS (Long Term Support)
Mit den anderen Versionen - auch und gerade den neueren - geht es natürlich genauso. Ich habe die LTS Version nun ... wegen dem Long Term Support gewählt - klang halt sinnvoll :-)
Grundinstallation
CD einlegen und los, ob Ihr 32 oder 64bit nimmt ist einerlei, es sieht für euch gleich aus,
die Fragen beantwortet Ihr wie folgt:
- Deutsch
- Ubuntu Server installieren
- [!] Select a language: <Ja>
- [!] Auswählen des Standorts: Deutschland
- [!] Tastatur konfigurieren: <Ja>
- Tasten "+" und "y" drücken
- <Weiter>
- Netzwerk konfigurieren
- Benutzername: administrator
- Kennwort nach Wahl
- [!] Benutzer und Passwörter einrichten - persönlichen Ordner verschlüsseln -> <Nein>
- [!!] Festplatten partitionieren -> Geführt - gesamte Platte verwenden
- Festplatte wählen (sollte nur eine sein)
- Änderungen auf die Festplatte schreiben <Ja>
- Proxy wenn nötig
- [!] Konfiguriere tasksel: keine automatischen Aktualisierungen
- [!] Softwareauswahl:
- OpenSSH server
- LAMP Server
- [!] Konfiguriere mysql-server-5.5: Kennwort für MySQL root festlegen
- [!] GRUB-Bootloader auf einer Festplatte installieren: <Ja>
- [!!] Installation abschließen: <Weiter>
- Bootet neu
root wieder freischalten
- Mit Benutzer administrator anmelden
sudo passwd root
- Kennwort des Benutzer administrators eintippen
- neues Kennwort für "root" 2x eintippen
- nun können wir wieder wie früher ganz normal als root arbeiten und sparen uns den ganzen "sudo" Kram - insbesondere könne wir nun so per Copy & Paste Skripte reinkopieren und starten
logout
- Der (eingeschränkte) Benutzer administrator hat sich somit abgemeldet
Feste IP-Adresse vergeben
- Als root anmelden
- Aus bequemlichkeit: den Editor
nano
installieren:
apt-get install nano
- Feste IP vergeben:
nano /etc/network/interfaces
In der Datei den Abschnitt für eth0 wie folgt ändern (mit euren Daten natürlich):
auto eth0 iface eth0 inet static address 192.168.1.81 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-search znil.local dns-nameservers 192.168.1.1
- Speichern STRG + x, danach j und den Dateinamen mit Enter bestätigen
reboot
eintipppen und den Server damit wieder neu starten - wenn ihr alles rictig gemacht habt hört dieser nun auf die neue IP-Adresse,
wenn er beim Booten zickt und hängt habt ihr wahrscheinlich bei der IP etwas falsch eingetippt - nochmal vergleichen!
Updates einspielen
- wieder anmelden als "root" - ggf. per puTTY - dann können wir schönes Copy&Paste der Befehle machen
- Updates suchen für Betriebssystem: (aktualisiert den Katalog aus den Update-Quellen)
apt-get update
- Updates einspielen:
apt-get dist-upgrade
Benötigte Programme für Zabbix installieren
Ich habe hier einige Sachen drin die Ihr nicht unbedingt braucht - aber damit lässt sich auch die aktuelle 2.2.3 installieren inklusive der VMware-Unterstützung.
- Vorbereiten für Zabbix Installation:
apt-get install make gcc libc6-dev libmysqlclient-dev libcurl4-openssl-dev libssh2-1-dev libsnmp-dev libiksemel-dev mysql-server libopenipmi-dev fping php5-gd snmp libsnmp-base openjdk-6-jdk unixodbc unixodbc-dev libxml2 libxml2-dev snmp-mibs-downloader snmpd python-pywbem
apt-get
gehen und doppelklicken. Ggf. mehrmals versuchen - bis die ganze Zeile markiert ist. Diese kann dann so in z.B. PuTTY eingefügt werden
noch mal in 2 Zeilen:
apt-get install make gcc libc6-dev libmysqlclient-dev libcurl4-openssl-dev libssh2-1-dev libsnmp-dev libiksemel-dev snmpd mysql-server libopenipmi-dev fping php5-gd snmp libsnmp-base openjdk-6-jdk unixodbc unixodbc-dev libxml2 libxml2-dev snmp-mibs-downloader python-pywbem
Zabbix Server installieren
Mit Absicht installiere ich hier Zabbix an die Standardorte ... spätestens wenn ihr mehrere Installationen habt und jede einen anderen Ort habt kommt man doch ins schleudern ...
Die Versionsnummern müsst ihr an euere Version anpassen.
Zabbix herunterladen und entpacken
cd /usr/src
- Für die aktuelle Version von 2.2 (zur Zeit 2.2.6)
wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz"
- Für andere Versionen ändert einfach alle 2.2.6 in eure gewünschte Version
- Alternativ: Von der Webseite herunterladen und z.B. per WinSCP auf den Zabbix-Server kopieren (nach /usr/src)
- Entpacken:
tar xzf zabbix-2.2.6.tar.gz cd zabbix-2.2.6/
- Für die aktuelle Version 2.4 (zur Zeit 2.4.2)
wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.2/zabbix-2.4.2.tar.gz"
- Entpacken:
tar xzf zabbix-2.4.2.tar.gz cd zabbix-2.4.2/
Zabbix konfigurieren
Die Installation der ausführbaren Dateien erfolgt bei allen Varianten nach /usr/local/sbin
!
Als Server
Version 2.2.x / 2.4.x mit VMware-Unterstützung, IPv6, Java-Gateway, Datenbankabfragen und Jabber:
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-ssh2 --with-libxml2 --enable-ipv6 --enable-java --with-jabber --with-unixodbc
Zur Info: mit der zusätzlichen Option
--prefix=/usr/share/zabbix
kann man auch einen eigenen Installationspfad wählen.
Als Proxy
Version 2.2.x / 2.4.x mit VMware-Unterstützung
./configure --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-ssh2 --with-libxml2 --enable-ipv6 --with-unixodbc
Zabbix installieren
Mit dem Konfigurieren ist Zabbix noch nicht installiert. Wenn die Konfiguration erfolgreich war müsste es ein Meldung wie diese geben:
*********************************************************** * Now run 'make install' * * * * Thank you for using Zabbix! * * <http://www.zabbix.com> * ***********************************************************
Nun geben wir die folgende Befehle ein:
make make install
JETZT ist Zabbix installiert - funktioniert aber noch nicht!
Zabbix Benutzer anlegen
Zabbix läuft - aus Sicherheitsgründen - nicht als Benutzer root - wenn es startet versucht es automatisch auf einen Benutzer zabbix zu wechseln.
Bei Windows würde man es den Benutzer nennen unter dem der Dienst läuft.
Diesen legen wir nun an:
adduser --system --home /usr/local/sbin --no-create-home zabbix
falls wir einen anderen Ordner für die Installation genommen haben müssen wir den Pfad natürlich anpassen!
MySQL Datenbank einrichten
Die Einrichtung wird auch hier beschrieben - allerdings etwas knapp: https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts
Die Zabbix-Datenbank kann recht groß werden - wir passen MySQL deshalb aus Performance-Gründe einmal an (diesen Tipp habe ich schamlos von Das 4. Labor übernommen.
- MySQL Einstellungen bearbeiten:
nano /etc/mysql/my.cnf
und unterhalb von
[mysqld]
Diese Zeilen einfügen:
# Nicht alle Tabellen in einer großen Datei speichern sondern jede Tabelle in einer eigenen Datei innodb_file_per_table # Größe der Logdatei statt 10MB innodb_log_file_size = 512M # Transaktionswerte nach Möglichkeit nicht in den Doublewritebuffer schreiben innodb_doublewrite = 0 # Transaktionen schon bestätigen sobald diese im Cache stehen: innodb_flush_log_at_trx_commit = 2 # Wieviel Hauptspeicher soll zum Puffern verwendet werden? Nehmt die Hälfte des vorhandenen Speichers (bei 4GB RAM also 2G) innodb_buffer_pool_size = 3G # Langsame SQL-Abfragen in ein Log schreiben, hier alle Abfargen über 5 Sekunden long_query_time=5 log-slow-queries=/var/log/mysql/mysql-slow-queries.log
mit STRG + x den nano verlassen und speichern bestätigen j + Enter)
Da es die Systemdatenbanken schon gibt - abe rnicht so wie wir die haben wollen - löschen wir die alten Datenbanken einmal:
service mysql stop rm -R /var/lib/mysql/*
und erstellen diese gleich wieder neu:
mysql_install_db
Danach den mysql Dienst neu starten:
service mysql start
Dabei könnt Ihr sehen das er noch mal eben die Log-Dateien etc. erstellt.
Wie im Kommentar beschrieben macht er nun nicht eine große Monsterdatei sondern für jede Tabelle eine einzelne ... Komisch, bei Microsoft-SQL war es gerade der Vorteil alle in einer Datei zu haben ...
- Zabbix Datenbank anlegen:
- Hinweis: er wird nach einem Password fragen - das ist das was sie beim Setup dem MySQL root Benutzer gegeben haben!
- Habt Ihr kein Kennwort vergeben müsst Ihr trotzdem Enter drücken!
mysql -u root -p -e "create database zabbix" mysql -u root -p -e "grant all on zabbix.* to zabbix@localhost identified by 'zabbix'"
Er fragt nache einem Kennwort - das ist entweder das Kennwort was Ihr beim Setup für den MySQL-Root Benutzer angebenen habt - oder falls ihr wie zuvor beschrieben die Datenbank einmal gelöscht habt - ist es leer, also einfach Return/Enter drücken.
- nun die Datenbanktabellen anlegen - das geschieht nun unter dem Datenbankbenutzer "zabbix" der das Passwort "zabbix" hat - wenn er also nach einem Passwort fragt nun dieses eingeben. Falls das jemand für unsicher hält - nun der MySQL Server sollte - wenn man es nicht ändert - eh nur lokale Anfragen erlauben, sprich von extern komme ich gar nicht ran.
- Bei einem Server:
2.2.6:
mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.2.6/database/mysql/schema.sql mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.2.6/database/mysql/images.sql mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.2.6/database/mysql/data.sql
- Bei einem Proxy:
Auf einem Proxy darf nur die Schema.sql
importiert werden!!!!
mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.2.6/database/mysql/schema.sql
Die Versionsnummer wie immer anpassen!!!
2.4.2:
mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.4.2/database/mysql/schema.sql mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.4.2/database/mysql/images.sql mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.4.2/database/mysql/data.sql
- Bei einem Proxy:
Auf einem Proxy darf nur die Schema.sql
importiert werden!!!!
mysql -u zabbix --password=zabbix zabbix </usr/src/zabbix-2.4.2/database/mysql/schema.sql
Konfigurationsdateien anpassen
Nun die Konfigurationsdatei bearbeiten:
- für einen Server:
nano /usr/local/etc/zabbix_server.conf
- folgende Zeilen finden und auf diese Werte ändern, ggf. den # davor entfernen, STRG + W ist suchen!
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
StartVMwareCollectors=5 StartPingers=10 Timeout=30
ExternalScripts=/usr/local/share/zabbix/externalscripts FpingLocation=/usr/bin/fping Fping6Location=/usr/bin/fping6
- speichern und verlassen
- Bei einem Proxy:
nano /usr/local/etc/zabbix_proxy.conf
- folgende Zeilen finden und auf diese Werte ändern, ggf. den # davor entfernen, STRG + W ist suchen!
ProxyMode=0 Server=IP oder DNS Name des Zabbix-Servers an den gemeldet werden soll
ServerPort=10051
Hostname=zabbixproxy <- unter diesem Namen müssen wir den Proxy auch auf dem Hauptserver anlegen! DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix Timeout=30 StartVMwareCollectors=5
ExternalScripts=/usr/local/share/zabbix/externalscripts FpingLocation=/usr/bin/fping Fping6Location=/usr/bin/fping6
Automatischen Start beim Booten einrichten
Dazu müssen wir die Start/Stop Scripte hinterlegen. Aus persönlicher Neigung - und weil es beim Befehl service mit dem Tab nicht immer klappte - mache ich es hier auf die Debian-Methode. Starten kann man die Dienste hinter trotzdem mit dem service Befehl:
Nicht vergessen die Versionsnummern ggf. anzupassen!
- Auf einem Server V2.4.2
cp /usr/src/zabbix-2.4.2/misc/init.d/debian/zabbix-* /etc/init.d/
- Auf einem Server V2.2.6
cp /usr/src/zabbix-2.2.6/misc/init.d/debian/zabbix-* /etc/init.d/
Danach die Skripte in den Systemstart aufnehmen:>br>
update-rc.d zabbix-agent defaults update-rc.d zabbix-server defaults
- Auf einem Proxy V2.4.2
cp /usr/src/zabbix-2.4.2/misc/init.d/debian/zabbix-* /etc/init.d/
- Auf einem Proxy V2.2.6
cp /usr/src/zabbix-2.2.6/misc/init.d/debian/zabbix-* /etc/init.d/
und danach:
mv /etc/init.d/zabbix-server /etc/init.d/zabbix-proxy nano /etc/init.d/zabbix-proxy
und die Zeile
NAME=zabbix_server DESC="Zabbix server daemon"
in
NAME=zabbix_proxy DESC="Zabbix proxy daemon"
ändern
Danach die Skripte in den Systemstart aufnehmen:>br>
update-rc.d zabbix-agent defaults update-rc.d zabbix-proxy defaults
Start von Zabbix testen
Nun müsste man den Zabbix Server wie andere Dienste auch über die init-Scripte starten können
service zabbix-server start oder /etc/init.d/zabbix-server start
bzw. beim Proxy:
service zabbix-proxy start oder /etc/init.d/zabbix-proxy start
Den Agenten dazu starten wir mit
service zabbix-agent start oder /etc/init.d/zabbix-agent start
Ob alle ok ist sehen wir mit
ps aux|grep zabbix
Die Ausgabe sollte etwa so sein:
zabbix 19179 0.1 0.1 228876 3420 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19181 0.0 0.0 228876 1740 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19182 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19183 0.0 0.0 231916 2884 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19184 0.0 0.0 231916 2884 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19185 0.0 0.0 231916 2884 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19186 0.0 0.0 231916 2884 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19187 0.0 0.0 231916 2884 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19188 0.0 0.0 231916 2884 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19189 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19190 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19191 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19192 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19195 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19196 0.0 0.0 229152 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19197 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19204 0.0 0.0 228876 2044 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19205 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19206 0.0 0.0 228876 1972 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19211 0.0 0.0 231916 2880 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19215 0.0 0.0 228876 1968 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19217 0.0 0.0 228876 1968 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19218 0.0 0.0 228876 1968 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19219 0.0 0.0 228876 1968 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19220 0.0 0.0 228876 1968 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19221 0.0 0.0 228876 1968 ? S 14:57 0:00 /usr/local/sbin/zabbix_server zabbix 19222 0.0 0.0 228876 1740 ? S 14:57 0:00 /usr/local/sbin/zabbix_server
- wenn da nur ein Pozess läuft, Ihr also nur eine Zeile habt, gab es wohl Fehler, mit
more /tmp/zabbix_server.log
können wir uns das Logfile ja mal ansehen - die neuesten Sachen stehen unten! Da müsste ein Block wie folgt sein,
wenn alles geklappt steht er gleich am Anfang:
19179:20130903:145759.708 Starting Zabbix Server. Zabbix 2.0.8 (revision 38017). 19179:20130903:145759.708 ****** Enabled features ****** 19179:20130903:145759.708 SNMP monitoring: YES 19179:20130903:145759.708 IPMI monitoring: YES 19179:20130903:145759.708 WEB monitoring: YES 19179:20130903:145759.708 Jabber notifications: NO 19179:20130903:145759.709 Ez Texting notifications: YES 19179:20130903:145759.709 ODBC: NO 19179:20130903:145759.709 SSH2 support: YES 19179:20130903:145759.709 IPv6 support: NO 19179:20130903:145759.709 ****************************** 19181:20130903:145759.716 server #1 started [configuration syncer #1] 19182:20130903:145759.716 server #2 started [db watchdog #1] 19183:20130903:145759.719 server #3 started [poller #1]
Ansonsten steht da der Fehler - in der Regel die Datenbankanbindung oder der Benutzer zabbix
Bei einem Proxy kann es noch folgende Fehlermeldung geben:
failed to update local proxy configuration copy: Can't open JSON object or array ""failed"}"
Naja, wir müssen den Proxy auf unserem Haupt-Zabbix-Server unter
Administration - GM - Proxies
noch anlegen - und zwar bitte genau mit dem gleichen Namen wie in der zabbix_proxy.conf
unter Hostname=
angegeben - dann ist der Fehler weg.
Bei Erfolg sollte das dann so aussehen:
An den Sekunden unter 'Last seen (age)' sehen wir die letzte Kontaktaufnahme.
Wenn da überhaupt etwas steht hatten wir Erfolg!
Webinterface installieren (nur Server)
- Wenn wir es mit den üblichen Anleitungen machen finden wir später die Weboberfläche unter http://servername/zabbix
- wenn man halt keinen Unterordner /var/www/zabbix erstellen sondern die index.html löschen und die Zabbix Dateien direkt da reinkopieren reicht auch später der Servername ohne Verzeichnisangabe. Alternativ baut man da einen Refresh (Seitenumleitung) ein.
- Ich installiere hier so das man den Server später nur mit http://servername aufrufen kann
Für Ubuntu 12.04.x LTS:
rm /var/www/index.html
Kopieren (Version beachten!)
Auf einem Server 2.4.2
cp -r -f /usr/src/zabbix-2.4.1/frontends/php/* /var/www
Auf einem Server 2.2.6
cp -r -f /usr/src/zabbix-2.2.6/frontends/php/* /var/www
chown -R www-data:www-data /var/www/*
Für Ubuntu 14.04.x LTS:
rm /var/www/html/index.html
Kopieren (Version beachten!)
Auf einem Server 2.4.2
cp -r -f /usr/src/zabbix-2.4.2/frontends/php/* /var/www/html
Auf einem Server 2.2.6
cp -r -f /usr/src/zabbix-2.2.6/frontends/php/* /var/www/html
chown -R www-data:www-data /var/www/html/*
In der Datei /etc/php5/apache2/php.ini
nano /etc/php5/apache2/php.ini
folgendes anpassen: (STRG + W war Suchen!)
[Date] ; Defines the default timezone used by the date functions date.timezone = Europe/Berlin max_execution_time = 600 post_max_size = 32M memory_limit = 256M mbstring.func_overload = 2 upload_max_filesize = 16M max_input_time = 600
Danach Webserver neu starten:
service apache2 restart oder /etc/init.d/apache2 restart
Nun auf die Weboberfläche gehen, die sollte unter http://IP-Adresse oder http://DNS-Name verfügbar sein.
Anmerkung: So ein Linux trägt sich nicht von allein in den DNS Server ein, ggf. müsst Ihr den da von Hand nachtragen.
VMware Tools installieren
Wenn euer Zabbix-Serber auch eine virtuelle Maschine ist dürfen die VMware Tools nicht fehlen!
- CD im vCenter / ESX Server per vSphere Client einlegen
- CD Mounten:
mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom
- Entpacken (Versionsnnummer eurer Tools anpassen)
tar xzvf /mnt/cdrom/VMwareTools-8.6.5-621624.tar.gz -C /tmp/
- Installieren
cd /tmp/vmware-tools-distrib/ ./vmware-install.pl -d
- Schalter -d heisst er gleich durchrauscht ohne nachzufragen und die Standard-Verzeichnisse nimmt.
- netter weise wirft er die CD auch gleich wieder raus
- VMware Tools konfigurieren: (macht das Installationsskript normalerweise automatisch)
vmware-config-tools.pl -d
- Fertig!
Node Konfiguration - Node ID festlegen (nur Server)
Warnung: : Node-based distributed monitoring removed
Previously Zabbix supported two options for distributed monitoring - using nodes and proxies. In Zabbix 2.4.0 the support of node-based distributed monitoring has been discontinued due to existing limitations and potential problems with reliability in large environments. While a new version of distributed monitoring may be considered and developed in the future, for the time being using proxies becomes the main distributed monitoring option in Zabbix. Furthermore, the proxy solution has proven itself over time as reliable, while also being easier in configuration and maintenance. Many users who initially had node-based distributed monitoring have switched to proxy-based setups.
Denkt daran: jeder Node muss eine eindeutige ID zwischen 0 und 999 haben, jede ID also nur genau einmal verwenden!
- Zunächst alle Dienste stoppen:
service zabbix-server stop service zabbix-agent stop oder /etc/init.d/zabbix-server stop /etc/init.d/zabbix-agent stop
- Kontrollieren ob auch WIRKLICH NICHTS MEHR LÄUFT:
ps aux | grep zabbix
- Es darf nur der ps aux Aufruf selbst gefunden werden! Keine laufenden zabbix-server Dienste!
- Zabbix Konfiguartionsdatei bearbeiten:
nano /usr/local/etc/zabbix_server.conf
In der Zeile gleich am Anfang bei
NodeID=
das # entfernen und eine eindeutigen Wert zwischen 0 und 999 eintragen:
NodeID=43
in eindeutigen, einmaligen Wert ändern!
Danach den Zabbix-Server einmal manuell mit dem Aufruf der Node-ID starten:
zabbix_server -n 43
Und Geduld - wenn ihr euch erst spät dazu entschlossen habt, sprich nachdem schon jede Menge Hosts, Items usw. laufen, dauert das schon mal eine Weile, durchaus Minuten oder sogar Stunden! Im Anschluss könnt Ihr mit
service zabbix-server start service zabbix-agent start oder /etc/init.d/zabbix-server start /etc/init.d/zabbix-agent start
die Dienste wieder starten.
Agent konfigurieren (nur Proxy)
Wir wollen natürlich unseren 'Zabbix Proxy' gleich mit überwachen!
Wenn es ein Server ist, ist dieser gleich automatisch mit drin (ist der erste Host der schon in der Liste steht, muss nur aktiviert werden)
Bearbeiten wir zunächst die Konfigurationsdatei:
nano /usr/local/etc/zabbix_agentd.conf
und ändert folgende Zeile:
Hostname=zabbixproxy.domain.local
Den Namen passt Ihr natürlich an eure Bedürfnisse an - wichtig ist nur das Ihr den Host auf dem Zabbix-Server unter exakt dem gleichen Namen anlegt!
Das Start-Skript haben wir vorhin schon kopiert.
Am besten bootet Ihr euren Zabbix Proxy nun einmal durch und prüft hinterher ob die Prozesse für den Agenten und den Server laufen.
Windows-Freigabe für Agenten-Dateien einrichten
Zabbix Proxys setzen wir irgendwo außerhalb in anderen Netzerwerken ein ... und nun wollte ich dort auch zentral eine Freigabe haben in der die Dateien für den Windows-Agenten liegen.
Zudem wollte ich eine eigene Freigabe für mein Zabbix-Agenten-Autoupdate-Projekt.
Ja, ich richte hier eine "Jeder Vollzugriff" - Freigabe ein - meinen AgentAutoUpdate lasse ich am liebsten mit SYSTEM Rechten laufen (wegen UAC-Kontrolle) - und so gibt es kein Problem mit den Zugriffsberechtigungen
Wenn die Installation nachträglich erfolgt - erst einmal Updaten!
apt update apt upgrade
Nun installieren wir Samba - damit erstellt man Windows-Freigaben unter Linux:
apt install samba samba-common-bin
das dauert einen Moment - und danach können wir Samba konfigurieren, dazu hat Samba ein zentrale Datei:
nano /etc/samba/smb.conf
In dieser ändern wie folgende Zeilen (wie immer: mit STRG + W kann man in nano suchen)
workgroup = ZNIL ; NetBIOS Domänenname in euerer Umgebeung, könnt Ihr auch auf WORKGROUP lassen security = user ; Standalone Server - alternativ kann man den Proxy auch mit in die Domäne aufnehmen wins support = no wins server = 192.168.1.1 ; Falls es einen WINS-Server bei euch im Netzwerk gibt, geben wir diesen hier an domain master = no map to guest = bad user
ganz am Schluss fügen wir folgende Zeilen hinzu:
[Zabbix-Agent] path = /media/zabbix-agent public = yes writeable = yes guest ok = yes available = yes read only = no
dann speichern und verlassen.
Nun müssen wir den Ordner noch anlegen:
mkdir /media/zabbix-agent chmod 777 /media/zabbix-agent/
und den Dienst von Samba neu starten:
service smbd restart && service nmbd restart
Ab jetzt können wir über
\\IP-Adresse-Zabbix-Proxy\Zabbix-Agent
von Windows aus auf die Freigabe zugreifen und die Dateien dort ablegen.
Wenn Ihr im Abschnitt der Freigabe auch noch die Zeile
browseable = no
angebt habt ihr eine versteckte Freigabe - wenn man direkt den Pfad angibt geht es noch.
Es poppt ständig ein Anmeldefenster beim Zugriff auf die Freigabe auf
Falls Ihr beim Zugriff auf die Freigabe immer ein Anmeldefenster bekommt (obwohl ja eigentlich der Zugriff ohne Passwort ist) so könnt Ihr dort einen beliebigen Buchstaben als Benutzernamen eingeben und die Anmeldung wegdrücken.
Dauerhaft weg bekommt Ihr die Anmeldung wenn Ihr in puTTY noch mal ein
pdbedit -x administrator service smbd restart && service nmbd restart
eingebt.
Der Gurnd ist nämlich das Ihr als Administrator arbeitet und brav dieser Anleitung gefolgt seit. Dann habt Ihr nämlich bei der Installation von Linux den Benutzer "administrator" unter Linux angelegt und Samba hat ihn sich kopiert. Mit obigen Befehl ist er aus Samba wieder gelöscht worden.
Proxy/Server mit in Windows-Domäne aufnehmen
In manchen Domänen hatte ich nun das "Problem" das immer ein Fenster mit Benutzername / Passwort aufgeht - es ist dabei völlig egal was man eintippt, man kommt an die Freigabe.
War aber nervig.
Lösung: Wir nehmen den ZabbixProxy mit in die Domäne auf und Ruhe ist!
Also noch mal
nano /etc/samba/smb.conf
und dann wie folgt ändern:
security = domain workgroup = ZNIL
Workgroup MUSS dabei euren NetBIOS Domänen-Namen entsprechen.
Dann Speichern und die Dienste neu starten:
service smbd restart && service nmbd restart
und mit folgendem Befehl der Domäne beitreten:
net rpc join -S <Domänencontroller> -U Administrator
<Domänencontroller> ersetzt ihr dabei durch den Namen eures primärem Dömencontroller, also dem Rolleninhaber
Er fragt dann nach dem Kennwort und ist dann Domänenmitglied - was Ihr gerne im AD kontrollieren könnt (landet unter Computers)
Ab nun "rauscht" der Zugriff auf die Freigabe immer durch.