BUG
Die Anwendung des ArcGIS Server Log4j Patch auf eine AWS-Bereitstellung (Amazon Web Services) kann dazu führen, dass ein Computer aus der ArcGIS Server-Site entfernt wird. Mit dem angehängten Skript kann dieses Problem verhindert und behoben werden.
Wichtiger Hinweis vom 11. April 2022: Es wurden neue Patches veröffentlicht, um das Auftreten dieses Fehlers (BUG-000148146) auf AWS-Bereitstellungen (Amazon Web Services) zu verhindern. Die B-Patches der betroffenen Versionen (10.9.1, 10.9, 10.8.1) werden zusätzlich zu den ursprünglichen Patches installiert, insofern Sie die ursprünglichen Patches zuvor installiert haben. Wenn Sie die ursprünglichen Patches zuvor installiert haben, befolgen Sie bitte die Schritte in diesem technischen Artikel, um sicherstellen, dass in Ihrem System keine Probleme auftreten, wenn nach einem Computerneustart ArcGIS Server-Computer aus einer Site entfernt werden. Wenn Sie die ursprünglichen Patches zuvor nicht installiert haben und nur die "B"-Version des Patch installieren, sollte kein Problem auftreten.
Das Skript wird bereitgestellt, um die Fehler zu beheben, die nach der Installation des ArcGIS Server Log4j Patch für die Versionen 10.8.1, 10.9 und 10.9.1 in einer AWS-Bereitstellung aufgetreten sind.
Das angehängte Python-Skript muss heruntergeladen und auf allen AWS-EC2-Instanzen ausgeführt werden, auf denen der Patch ausgeführt wurde. Die Schritte variieren etwas, je nachdem, ob das Problem aufgetreten ist oder ob es latent ist (bis zum nächsten Neustart des ArcGIS-Server-Service).
Laden Sie entweder die ZIP-Datei (für Windows) oder die TAR.GZ-Datei (für Linux) herunter. Vergewissern Sie sich, dass die Datei nicht manipuliert wurde, indem Sie wie folgt die SHA256-Prüfsumme berechnen:
Berechnen der Prüfsumme unter Windows
Get-FileHash log4jserverpatchfix.zip
2C73CC8233770F65C5760D1872630DA41A58574D39DD4A1D353D1CDB976D1645
Berechnen der Prüfsumme unter Linux
sha256sum log4jserverpatchfix.tar.gz
48861fa6ec6646d425d5952c33d9eff2eaae58fb90b458b48800d1ced51969be
Extrahieren
Laden Sie die Python-Datei als ZIP- oder TAR.GZ-Datei herunter, und extrahieren Sie sie.
Ausführung des Skripts
Die allgemeine Syntax für die Ausführung des Python-Skripts lautet wie folgt:
python3 log4jserverpatchfix.py <Installationsverzeichnis> [Eigenschaftendatei]
Das Installationsverzeichnis ist immer erforderlich. Die Eigenschaftendatei muss nur angegeben werden, wenn das Problem bereits aufgetreten ist (der Computer wurde aus der Site entfernt).
Windows:
"C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3\python.exe" log4jserverpatchfix.py "C:\Program Files\ArcGIS\Server"
Linux:
python3 log4jserverpatchfix.py /arcgis/server
Eigenschaftendatei:
Die Eigenschaftendatei "log4jserverpatchfix.txt" ist im Download enthalten und wird benötigt, um die Verbindung zum Konfigurationsspeicher von ArcGIS Server wieder herzustellen, wenn der Computer aus der Site entfernt wurde. Eine Beispieltextdatei ist dem Skript beigefügt. Für jede zu aktualisierende Instanz (bzw. jeden zu aktualisierenden Computer) sind folgende Eigenschaften erforderlich und müssen im kommagetrennten Format aufgelistet werden:
Private IP
Unter Windows wird die private IP normalerweise in der oberen rechten Ecke auf dem Desktop angezeigt, wie in der folgenden Abbildung dargestellt.
Unter Linux kann die private IP vom Terminal abgerufen werden, indem Sie wie in der folgenden Abbildung $ ip addr ausführen:
Bei der ersten IP-Adresse handelt es sich um die Loopback-IP-Adresse, die zweite ist die private IP-Adresse.
Verbindungszeichenfolge des Konfigurationsspeichers
Wenn der Konfigurationsspeicher von ArcGIS Server in AWS auf Dateisystemebene gespeichert ist, lautet der Pfad sehr wahrscheinlich "\\DATEISERVER\config-store" unter Windows oder "/net/DATEISERVER/gisdata/arcgisserver/config-store" unter Linux.
Wenn Sie einen ArcGIS-Server mit hoher Verfügbarkeit verwenden, werden die Einstellungen (der Konfigurationsspeicher) in AWS DynamoDB gespeichert. Um ArcGIS Server mitzuteilen, wie die Verbindung zu DynamoDB hergestellt wird, müssen Sie die Regions-ID (z. B. "us-west-2") sowie Informationen über die DynamoDB-Tabelle abrufen.
Die Region kann in der oberen rechten Ecke der AWS Console wie in der folgenden Abbildung dargestellt abgerufen werden, indem Sie auf die Schaltfläche für die Region klicken. Wenn Sie auf die Region klicken, werden sowohl der Name (z. B. "US West (Oregon)") als auch die Regions-ID ("us-west-2") angezeigt. Die Regions-ID wird für die Eigenschaftendatei benötigt, wie in der folgenden Abbildung dargestellt:
Die DynamoDB-Informationen können abgerufen werden, indem Sie in der AWS Console zu DynamoDB navigieren und im linken Menü auf Tables klicken. Das Hauptfenster sollte jetzt der folgenden Abbildung ähneln.
In den Tabellen des Hauptfensters werden Einträge wie "ArcGISConfigStore.NAMESPACE" angezeigt. Bei "NAMESPACE" handelt es sich um den Namespace, den Sie zur Wiederherstellung der Verbindung verwenden müssen.
Pfad des lokalen Repositorys
Der Pfad des lokalen Repositorys ist die letzte Information, die in der Eigenschaftendatei benötigt wird. Hierbei handelt es sich um einen Ordner auf dem Computer, in dem eine lokale Kopie der Einstellungen gespeichert wird. Die Standardverzeichnisse für diese Ordner lauten wie folgt:
Nach Ausführung des Skripts muss der ArcGIS-Server-Service neu gestartet werden, damit die Änderungen wirksam werden.
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen