BLOG

Lesen Sie die neuesten Nachrichten von Billigence und aus der Welt der Technologie und Datenanalyse.
Vergessen Sie nicht, sie per E-Mail zu abonnieren.

Automatisierte Prozesse zur Sicherung und Bereinigung der Tableau Server-Konfiguration

KURZE AUFGABENBESCHREIBUNG: Automatisierung des Konfigurations-Backup-Prozesses und der Bereinigung von Protokollen auf Tableau-Server in einer Linux-Umgebung. Wir verwenden Google Cloud-Speicher als Speicher für alle Sicherungsdateien.
TECH STACK: Linux, Tableau Server, BASH, Google Cloud Storage, gsutil

Tableau Server-Benutzer und -Administratoren wissen, dass es Routineaufgaben gibt, die auf dem Tableau Server regelmäßig erledigt werden müssen:

  • Tableau Server-Sicherung
  • Tableau Server Ziplogs – einschließlich msinfo, netstat und letzter Dump
  • Sicherung von Tableau Server-Topologie und Konfigurationsdaten
  • Bereinigung von alten temporären Dateien und Protokollen

Diese Backups und Bereinigungen ermöglichen es Ihnen, die Ausfallzeiten bei möglichen Problemen auf dem Server zu minimieren, die Geschwindigkeit des Tableau Servers zu optimieren und regelmäßig Festplattenspeicher freizugeben.

Als Sicherungsspeicher für Tableau Server ist es immer gut, einen externen Speicher zu verwenden, wie z. B. NFS, Azure Storage, AWS Storage, Google Cloud Storage und so weiter.

In unserem Beispiel haben wir Google Cloud Storage als externen Speicher für Tableau Server-Backups konfiguriert.

Der vollständige Pfad zum externen Speicher sieht wie folgt aus: gs://public_sources_ls/tableau_server_backup/

Außerdem ist es wichtig klarzustellen, dass die Version von Tableau Server in unserem Beispiel lautet: 2021.4.6, Build-Nummer: 20214.22.0420.0834

Lassen Sie uns also die Aufgaben noch einmal kurz zusammenfassen:

  • Der Automatisierungsprozess wird durch BASH-Skripte implementiert
  • Automatisieren Sie den Prozess der Sicherung von Tableau Server, Ziplogs, Topologie und Konfigurationsdaten
  • Automatisieren Sie den Prozess der Tableau Server-Protokollbereinigung
  • Als Host-Betriebssystem verwenden wir Linux Ubuntu Server 18.04. Das Skript wurde sowohl mit .RPM als auch mit .DEB Linux-Paketmanagern getestet
  • Als Speicher für alle Backups wird Google Cloud Storage verwendet.
  • In unserem Fall wurde Tableau Server als 1 Knoten ohne Hochverfügbarkeit implementiert.
  • In unserem Fall ist Tableau Server Version 2021.4.6, Build-Nummer: 20214.22.0420.0834
  • Um diese Aufgaben zu automatisieren, werden wir 2 Skripte bereitstellen, die automatisch durch CRON-Jobs ausgeführt werden sollen:

– tsm_backup.sh“ – tägliche Tableau Server Backup-Konfiguration und Protokolle

– maintenance_cleanup.sh“ – Tableau Server Wartungsbereinigung jeden letzten Sonntag im Monat

Abfolge der Maßnahmen

Für die Kommunikation und Manipulation mit Google Cloud Storage werden wir dasTool „gsutil“ verwenden. Hier ist der Link mit der schrittweisen Installationsbeschreibung
Um zu überprüfen, ob gsutil erfolgreich installiert wurde, führen Sie diesen Befehl aus:

Stellen Sie sicher, dass Ihr Konto (in unserem Fall „tab-svc“) zu den Gruppen „tsmadmin“, „tableau“, „google-sudousers“ und „sudo“ gehört:

Auf unserem Linux-Host werden wir den folgenden Pfad als Speicherort für beide Skripte verwenden:

/usr/local/bin

Lassen Sie uns das erste Skript „tsm_backup.sh“ für die tägliche Tableau Server Backup-Konfiguration und Protokolle erstellen:

$ sudo nano /usr/local/bin/tsm_backup.sh

Nano“-Editor wird eine leere .sh-Datei erstellen, die wir dann bearbeiten werden. Wir beginnen das Skript mit der Angabe der Variablen („ERRFILE“ für die Sammlung möglicher Fehlerprotokolle, „BCKNAME“ für die Struktur der Backup-Namen, „LOGSNAME“ für die Struktur der Protokollnamen).
Der wichtigste Teil hier ist die Angabe des Pfads zum Befehl „tsm“ – dem Hauptbefehl zur Verwaltung von Tableau Server über die Konsole/das Terminal. Wir müssen den vollständigen Pfad zum „tsm“-Befehl eingeben, und dafür müssen wir die Build-Version unseres Tableau Servers kennen. Wir können die Build-Version jederzeit mit dem Befehl überprüfen:

$ tsm-Version

In unserem Fall sieht der Pfad zum Befehl „tsm“ wie folgt aus:


Wichtig!
Es ist sehr wichtig, diesen Pfad im Skript anzugeben, da sonst die „tsm“-Befehle nicht funktionieren, wenn das Skript über Cron-Jobs läuft. Nach jedem Tableau Server Upgrade muss dieser Pfad entsprechend der neuen Build-Version geändert werden!

Also. Hier ist der erste Teil des Skripts ‚tsm_backup.sh‘ mit unseren Variablen:

Als Nächstes müssen Sie angeben, wie viele Tage die Sicherungsdateien auf dem externen Speicher aufbewahrt werden sollen. Das bedeutet, dass danach alle Sicherungsdateien, die älter als „X“ Tage sind, gelöscht werden (in unserem Fall 10 Tage). Außerdem geben wir zwei weitere Variablen an: „backup_path“ – für den Sicherungspfad von Tableau Server und „log_path“ für den Sicherungspfad der Tableau Server-Logs:

Nachdem wir alle Variablen angegeben haben, können wir alle Sicherungsbefehle ausführen:

Falls während des Sicherungsvorgangs Fehler auftreten, finden Sie die Protokolle in:

Nachdem die Sicherungsdateien erstellt wurden, können wir sie mit dem Befehl „gsutil“ auf unser externes Google Cloud Storage-Laufwerk kopieren:

Wichtig! Vergewissern Sie sich, dass der ‚gsutil‘-Pfad für Ihre Linux-Instanz derselbe ist, um zu prüfen, ob Sie ihn ausführen können:

Nachdem die Sicherungsdateien in den externen Speicher verschoben wurden, können wir die Quell-Sicherungsdateien entfernen:

Als letzten Schritt entfernen wir Sicherungsdateien, die älter als „X“ Tage sind, aus dem externen Google Cloud-Speicher:

Speichern und beenden Sie das Skript.

Lassen Sie uns das zweite Skript „maintenance_cleanup.sh“ für die Tableau Server-Wartungsbereinigung an jedem letzten Sonntag im Monat erstellen:

$ sudo nano /usr/local/bin/maintenance_cleanup.sh

Diese Aufgabe ist einfacher – wir müssen nur Tableau Server beenden, dann die Protokollbereinigung durchführen und Tableau Server wieder starten. So sieht es in BASH aus:

Speichern und beenden Sie das Skript.

Wir müssen den Eigentümer der Skripte und die Berechtigungen für beide Skripte ändern, damit beide Skripte ausgeführt werden können:

$ sudo chown $USER /usr/local/bin/tsm_backup.sh

$ sudo chown $USER /usr/local/bin/maintenance_cleanup.sh

$ sudo chmod 774 /usr/local/bin/tsm_backup.sh

$ sudo chmod 774 /usr/local/bin/maintenance_cleanup.sh

Um diese Skripte täglich automatisch auszuführen, müssen wir Cron-Jobs einrichten. Um Cron-Jobs unter Ihrem Konto einzurichten, führen Sie sie im Terminal aus:

$ crontab -e

Und fügen Sie diese beiden Zeichenfolgen am Ende der Datei hinzu. Speichern und schließen Sie die Datei. In unserem Fall haben wir das Skript ‚tsm_backup.sh‘ täglich um 2 Uhr nachts und ‚maintenance_cleanup.sh‘ jeden Sonntag um 4 Uhr morgens laufen lassen. Außerdem werden für beide Aufgaben Protokolldateien im Home-Verzeichnis des Benutzers erstellt.

So überprüfen Sie die Ausführung von crontab-Jobs Im Terminal:

$ crontab -l

Hier ist ein Beispiel für die Ausgabe von „tsm_backup.log“:

Die Quellen beider BASH-Skripte sind auf meiner GitHub-Repository-Seite zu finden .

Autor Vladimir Sokolenko – Senior Infrastructure Engineer | Billigence

KATEGORIE